summaryrefslogtreecommitdiff
path: root/modules/completion/src/c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/completion/src/c')
-rwxr-xr-xmodules/completion/src/c/.deps/.dirstamp0
-rwxr-xr-xmodules/completion/src/c/.deps/libscicompletion_algo_la-completeLine.Plo144
-rwxr-xr-xmodules/completion/src/c/.deps/libscicompletion_algo_la-completeLine_wrap_java.Plo101
-rwxr-xr-xmodules/completion/src/c/.deps/libscicompletion_algo_la-completion.Plo143
-rwxr-xr-xmodules/completion/src/c/.deps/libscicompletion_algo_la-completion_generic.Plo108
-rwxr-xr-xmodules/completion/src/c/.deps/libscicompletion_algo_la-completion_wrap_java.Plo105
-rwxr-xr-xmodules/completion/src/c/.deps/libscicompletion_algo_la-getCommonPart.Plo161
-rwxr-xr-xmodules/completion/src/c/.deps/libscicompletion_algo_la-getPartLine.Plo161
-rwxr-xr-xmodules/completion/src/c/.deps/libscicompletion_algo_la-getfieldsdictionary.Plo296
-rwxr-xr-xmodules/completion/src/c/.deps/libscicompletion_algo_la-getfilesdictionary.Plo159
-rwxr-xr-xmodules/completion/src/c/.deps/libscicompletion_algo_la-getmacrosdictionary.Plo93
-rwxr-xr-xmodules/completion/src/c/.deps/libscicompletion_algo_la-toolsdictionary.Plo106
-rwxr-xr-xmodules/completion/src/c/.dirstamp0
-rwxr-xr-xmodules/completion/src/c/.libs/libscicompletion_algo_la-completeLine.obin0 -> 19736 bytes
-rwxr-xr-xmodules/completion/src/c/.libs/libscicompletion_algo_la-completeLine_wrap_java.obin0 -> 5920 bytes
-rwxr-xr-xmodules/completion/src/c/.libs/libscicompletion_algo_la-completion.obin0 -> 27696 bytes
-rwxr-xr-xmodules/completion/src/c/.libs/libscicompletion_algo_la-completion_generic.obin0 -> 6192 bytes
-rwxr-xr-xmodules/completion/src/c/.libs/libscicompletion_algo_la-completion_wrap_java.obin0 -> 9024 bytes
-rwxr-xr-xmodules/completion/src/c/.libs/libscicompletion_algo_la-getCommonPart.obin0 -> 8632 bytes
-rwxr-xr-xmodules/completion/src/c/.libs/libscicompletion_algo_la-getPartLine.obin0 -> 10744 bytes
-rwxr-xr-xmodules/completion/src/c/.libs/libscicompletion_algo_la-getfieldsdictionary.obin0 -> 13696 bytes
-rwxr-xr-xmodules/completion/src/c/.libs/libscicompletion_algo_la-getfilesdictionary.obin0 -> 21792 bytes
-rwxr-xr-xmodules/completion/src/c/.libs/libscicompletion_algo_la-getmacrosdictionary.obin0 -> 3952 bytes
-rwxr-xr-xmodules/completion/src/c/.libs/libscicompletion_algo_la-toolsdictionary.obin0 -> 9224 bytes
-rwxr-xr-xmodules/completion/src/c/DllmainCompletion.c32
-rwxr-xr-xmodules/completion/src/c/Scilab_windows_Import.def5
-rwxr-xr-xmodules/completion/src/c/completeLine.c284
-rwxr-xr-xmodules/completion/src/c/completeLine_wrap_java.c39
-rwxr-xr-xmodules/completion/src/c/completeLine_wrap_java.h22
-rwxr-xr-xmodules/completion/src/c/completion.c401
-rwxr-xr-xmodules/completion/src/c/completion.rc97
-rwxr-xr-xmodules/completion/src/c/completion.vcxproj313
-rwxr-xr-xmodules/completion/src/c/completion.vcxproj.filters219
-rwxr-xr-xmodules/completion/src/c/completion_generic.c54
-rwxr-xr-xmodules/completion/src/c/completion_generic.h27
-rwxr-xr-xmodules/completion/src/c/completion_wrap_java.c101
-rwxr-xr-xmodules/completion/src/c/completion_wrap_java.h77
-rwxr-xr-xmodules/completion/src/c/core_Import.def22
-rwxr-xr-xmodules/completion/src/c/getCommonPart.c97
-rwxr-xr-xmodules/completion/src/c/getPartLine.c154
-rwxr-xr-xmodules/completion/src/c/getfieldsdictionary.c136
-rwxr-xr-xmodules/completion/src/c/getfilesdictionary.c207
-rwxr-xr-xmodules/completion/src/c/getfilesdictionary.h28
-rwxr-xr-xmodules/completion/src/c/getmacrosdictionary.c21
-rwxr-xr-xmodules/completion/src/c/libscicompletion_algo_la-completeLine.lo12
-rwxr-xr-xmodules/completion/src/c/libscicompletion_algo_la-completeLine_wrap_java.lo12
-rwxr-xr-xmodules/completion/src/c/libscicompletion_algo_la-completion.lo12
-rwxr-xr-xmodules/completion/src/c/libscicompletion_algo_la-completion_generic.lo12
-rwxr-xr-xmodules/completion/src/c/libscicompletion_algo_la-completion_wrap_java.lo12
-rwxr-xr-xmodules/completion/src/c/libscicompletion_algo_la-getCommonPart.lo12
-rwxr-xr-xmodules/completion/src/c/libscicompletion_algo_la-getPartLine.lo12
-rwxr-xr-xmodules/completion/src/c/libscicompletion_algo_la-getfieldsdictionary.lo12
-rwxr-xr-xmodules/completion/src/c/libscicompletion_algo_la-getfilesdictionary.lo12
-rwxr-xr-xmodules/completion/src/c/libscicompletion_algo_la-getmacrosdictionary.lo12
-rwxr-xr-xmodules/completion/src/c/libscicompletion_algo_la-toolsdictionary.lo12
-rwxr-xr-xmodules/completion/src/c/toolsdictionary.c113
-rwxr-xr-xmodules/completion/src/c/toolsdictionary.h65
57 files changed, 4223 insertions, 0 deletions
diff --git a/modules/completion/src/c/.deps/.dirstamp b/modules/completion/src/c/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/completion/src/c/.deps/.dirstamp
diff --git a/modules/completion/src/c/.deps/libscicompletion_algo_la-completeLine.Plo b/modules/completion/src/c/.deps/libscicompletion_algo_la-completeLine.Plo
new file mode 100755
index 000000000..66863187c
--- /dev/null
+++ b/modules/completion/src/c/.deps/libscicompletion_algo_la-completeLine.Plo
@@ -0,0 +1,144 @@
+src/c/libscicompletion_algo_la-completeLine.lo: src/c/completeLine.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \
+ includes/completeLine.h includes/dynlib_completion.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/getPartLine.h \
+ ../../modules/fileio/includes/splitpath.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/PATH_MAX.h \
+ ../../modules/string/includes/stricmp.h \
+ ../../modules/string/includes/stristr.h \
+ ../../modules/string/includes/dynlib_string.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/ctype.h:
+
+includes/completeLine.h:
+
+includes/dynlib_completion.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+includes/getPartLine.h:
+
+../../modules/fileio/includes/splitpath.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+../../modules/string/includes/stricmp.h:
+
+../../modules/string/includes/stristr.h:
+
+../../modules/string/includes/dynlib_string.h:
diff --git a/modules/completion/src/c/.deps/libscicompletion_algo_la-completeLine_wrap_java.Plo b/modules/completion/src/c/.deps/libscicompletion_algo_la-completeLine_wrap_java.Plo
new file mode 100755
index 000000000..215fc3268
--- /dev/null
+++ b/modules/completion/src/c/.deps/libscicompletion_algo_la-completeLine_wrap_java.Plo
@@ -0,0 +1,101 @@
+src/c/libscicompletion_algo_la-completeLine_wrap_java.lo: \
+ src/c/completeLine_wrap_java.c /usr/include/stdc-predef.h \
+ src/c/completeLine_wrap_java.h ../../modules/core/includes/BOOL.h \
+ includes/completeLine.h includes/dynlib_completion.h \
+ includes/getPartLine.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h
+
+/usr/include/stdc-predef.h:
+
+src/c/completeLine_wrap_java.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/completeLine.h:
+
+includes/dynlib_completion.h:
+
+includes/getPartLine.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
diff --git a/modules/completion/src/c/.deps/libscicompletion_algo_la-completion.Plo b/modules/completion/src/c/.deps/libscicompletion_algo_la-completion.Plo
new file mode 100755
index 000000000..59b83b95e
--- /dev/null
+++ b/modules/completion/src/c/.deps/libscicompletion_algo_la-completion.Plo
@@ -0,0 +1,143 @@
+src/c/libscicompletion_algo_la-completion.lo: src/c/completion.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/completion.h \
+ includes/dynlib_completion.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/getvariablesname.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/commandwords.h \
+ ../../modules/core/includes/getfunctionslist.h \
+ includes/getmacrosdictionary.h src/c/completion_generic.h \
+ src/c/getfilesdictionary.h ../../modules/core/includes/BOOL.h \
+ includes/getfieldsdictionary.h \
+ ../../modules/graphics/includes/getDictionarySetProperties.h \
+ ../../modules/graphics/includes/dynlib_graphics.h \
+ ../../modules/graphics/includes/getDictionaryGetProperties.h \
+ src/c/toolsdictionary.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+includes/completion.h:
+
+includes/dynlib_completion.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/getvariablesname.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/commandwords.h:
+
+../../modules/core/includes/getfunctionslist.h:
+
+includes/getmacrosdictionary.h:
+
+src/c/completion_generic.h:
+
+src/c/getfilesdictionary.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/getfieldsdictionary.h:
+
+../../modules/graphics/includes/getDictionarySetProperties.h:
+
+../../modules/graphics/includes/dynlib_graphics.h:
+
+../../modules/graphics/includes/getDictionaryGetProperties.h:
+
+src/c/toolsdictionary.h:
diff --git a/modules/completion/src/c/.deps/libscicompletion_algo_la-completion_generic.Plo b/modules/completion/src/c/.deps/libscicompletion_algo_la-completion_generic.Plo
new file mode 100755
index 000000000..a0153059e
--- /dev/null
+++ b/modules/completion/src/c/.deps/libscicompletion_algo_la-completion_generic.Plo
@@ -0,0 +1,108 @@
+src/c/libscicompletion_algo_la-completion_generic.lo: \
+ src/c/completion_generic.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/completion_generic.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/string/includes/stricmp.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/completion_generic.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/string/includes/stricmp.h:
diff --git a/modules/completion/src/c/.deps/libscicompletion_algo_la-completion_wrap_java.Plo b/modules/completion/src/c/.deps/libscicompletion_algo_la-completion_wrap_java.Plo
new file mode 100755
index 000000000..8c42ca532
--- /dev/null
+++ b/modules/completion/src/c/.deps/libscicompletion_algo_la-completion_wrap_java.Plo
@@ -0,0 +1,105 @@
+src/c/libscicompletion_algo_la-completion_wrap_java.lo: \
+ src/c/completion_wrap_java.c /usr/include/stdc-predef.h \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ src/c/completion_wrap_java.h includes/completion.h \
+ includes/dynlib_completion.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/completion_wrap_java.h:
+
+includes/completion.h:
+
+includes/dynlib_completion.h:
diff --git a/modules/completion/src/c/.deps/libscicompletion_algo_la-getCommonPart.Plo b/modules/completion/src/c/.deps/libscicompletion_algo_la-getCommonPart.Plo
new file mode 100755
index 000000000..522201f09
--- /dev/null
+++ b/modules/completion/src/c/.deps/libscicompletion_algo_la-getCommonPart.Plo
@@ -0,0 +1,161 @@
+src/c/libscicompletion_algo_la-getCommonPart.lo: src/c/getCommonPart.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/getCommonPart.h \
+ includes/dynlib_completion.h ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+includes/getCommonPart.h:
+
+includes/dynlib_completion.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
diff --git a/modules/completion/src/c/.deps/libscicompletion_algo_la-getPartLine.Plo b/modules/completion/src/c/.deps/libscicompletion_algo_la-getPartLine.Plo
new file mode 100755
index 000000000..69f0ca8cd
--- /dev/null
+++ b/modules/completion/src/c/.deps/libscicompletion_algo_la-getPartLine.Plo
@@ -0,0 +1,161 @@
+src/c/libscicompletion_algo_la-getPartLine.lo: src/c/getPartLine.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/getPartLine.h \
+ includes/dynlib_completion.h ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/getPartLine.h:
+
+includes/dynlib_completion.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
diff --git a/modules/completion/src/c/.deps/libscicompletion_algo_la-getfieldsdictionary.Plo b/modules/completion/src/c/.deps/libscicompletion_algo_la-getfieldsdictionary.Plo
new file mode 100755
index 000000000..ae89d197c
--- /dev/null
+++ b/modules/completion/src/c/.deps/libscicompletion_algo_la-getfieldsdictionary.Plo
@@ -0,0 +1,296 @@
+src/c/libscicompletion_algo_la-getfieldsdictionary.lo: \
+ src/c/getfieldsdictionary.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ includes/getfieldsdictionary.h includes/getPartLine.h \
+ includes/dynlib_completion.h includes/completion.h \
+ ../../modules/core/includes/freeArrayOfString.h includes/getfields.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+includes/getfieldsdictionary.h:
+
+includes/getPartLine.h:
+
+includes/dynlib_completion.h:
+
+includes/completion.h:
+
+../../modules/core/includes/freeArrayOfString.h:
+
+includes/getfields.h:
diff --git a/modules/completion/src/c/.deps/libscicompletion_algo_la-getfilesdictionary.Plo b/modules/completion/src/c/.deps/libscicompletion_algo_la-getfilesdictionary.Plo
new file mode 100755
index 000000000..80e862b9d
--- /dev/null
+++ b/modules/completion/src/c/.deps/libscicompletion_algo_la-getfilesdictionary.Plo
@@ -0,0 +1,159 @@
+src/c/libscicompletion_algo_la-getfilesdictionary.lo: \
+ src/c/getfilesdictionary.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h src/c/getfilesdictionary.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/PATH_MAX.h \
+ ../../modules/fileio/includes/scicurdir.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/fileio/includes/findfiles.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/fileio/includes/expandPathVariable.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/fileio/includes/isdir.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+src/c/getfilesdictionary.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+../../modules/fileio/includes/scicurdir.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/fileio/includes/findfiles.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/fileio/includes/expandPathVariable.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/fileio/includes/isdir.h:
diff --git a/modules/completion/src/c/.deps/libscicompletion_algo_la-getmacrosdictionary.Plo b/modules/completion/src/c/.deps/libscicompletion_algo_la-getmacrosdictionary.Plo
new file mode 100755
index 000000000..4b90a8321
--- /dev/null
+++ b/modules/completion/src/c/.deps/libscicompletion_algo_la-getmacrosdictionary.Plo
@@ -0,0 +1,93 @@
+src/c/libscicompletion_algo_la-getmacrosdictionary.lo: \
+ src/c/getmacrosdictionary.c /usr/include/stdc-predef.h \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ includes/getmacrosdictionary.h \
+ ../../modules/functions/includes/getmacroslist.h \
+ ../../modules/functions/includes/dynlib_functions.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+includes/getmacrosdictionary.h:
+
+../../modules/functions/includes/getmacroslist.h:
+
+../../modules/functions/includes/dynlib_functions.h:
diff --git a/modules/completion/src/c/.deps/libscicompletion_algo_la-toolsdictionary.Plo b/modules/completion/src/c/.deps/libscicompletion_algo_la-toolsdictionary.Plo
new file mode 100755
index 000000000..b0252ef96
--- /dev/null
+++ b/modules/completion/src/c/.deps/libscicompletion_algo_la-toolsdictionary.Plo
@@ -0,0 +1,106 @@
+src/c/libscicompletion_algo_la-toolsdictionary.lo: \
+ src/c/toolsdictionary.c /usr/include/stdc-predef.h /usr/include/stdlib.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/toolsdictionary.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/toolsdictionary.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
diff --git a/modules/completion/src/c/.dirstamp b/modules/completion/src/c/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/completion/src/c/.dirstamp
diff --git a/modules/completion/src/c/.libs/libscicompletion_algo_la-completeLine.o b/modules/completion/src/c/.libs/libscicompletion_algo_la-completeLine.o
new file mode 100755
index 000000000..75252ebc3
--- /dev/null
+++ b/modules/completion/src/c/.libs/libscicompletion_algo_la-completeLine.o
Binary files differ
diff --git a/modules/completion/src/c/.libs/libscicompletion_algo_la-completeLine_wrap_java.o b/modules/completion/src/c/.libs/libscicompletion_algo_la-completeLine_wrap_java.o
new file mode 100755
index 000000000..467f84706
--- /dev/null
+++ b/modules/completion/src/c/.libs/libscicompletion_algo_la-completeLine_wrap_java.o
Binary files differ
diff --git a/modules/completion/src/c/.libs/libscicompletion_algo_la-completion.o b/modules/completion/src/c/.libs/libscicompletion_algo_la-completion.o
new file mode 100755
index 000000000..70edf7aa2
--- /dev/null
+++ b/modules/completion/src/c/.libs/libscicompletion_algo_la-completion.o
Binary files differ
diff --git a/modules/completion/src/c/.libs/libscicompletion_algo_la-completion_generic.o b/modules/completion/src/c/.libs/libscicompletion_algo_la-completion_generic.o
new file mode 100755
index 000000000..803e6dfba
--- /dev/null
+++ b/modules/completion/src/c/.libs/libscicompletion_algo_la-completion_generic.o
Binary files differ
diff --git a/modules/completion/src/c/.libs/libscicompletion_algo_la-completion_wrap_java.o b/modules/completion/src/c/.libs/libscicompletion_algo_la-completion_wrap_java.o
new file mode 100755
index 000000000..e18350bf3
--- /dev/null
+++ b/modules/completion/src/c/.libs/libscicompletion_algo_la-completion_wrap_java.o
Binary files differ
diff --git a/modules/completion/src/c/.libs/libscicompletion_algo_la-getCommonPart.o b/modules/completion/src/c/.libs/libscicompletion_algo_la-getCommonPart.o
new file mode 100755
index 000000000..cdb68b094
--- /dev/null
+++ b/modules/completion/src/c/.libs/libscicompletion_algo_la-getCommonPart.o
Binary files differ
diff --git a/modules/completion/src/c/.libs/libscicompletion_algo_la-getPartLine.o b/modules/completion/src/c/.libs/libscicompletion_algo_la-getPartLine.o
new file mode 100755
index 000000000..03d47fa78
--- /dev/null
+++ b/modules/completion/src/c/.libs/libscicompletion_algo_la-getPartLine.o
Binary files differ
diff --git a/modules/completion/src/c/.libs/libscicompletion_algo_la-getfieldsdictionary.o b/modules/completion/src/c/.libs/libscicompletion_algo_la-getfieldsdictionary.o
new file mode 100755
index 000000000..f36bbc627
--- /dev/null
+++ b/modules/completion/src/c/.libs/libscicompletion_algo_la-getfieldsdictionary.o
Binary files differ
diff --git a/modules/completion/src/c/.libs/libscicompletion_algo_la-getfilesdictionary.o b/modules/completion/src/c/.libs/libscicompletion_algo_la-getfilesdictionary.o
new file mode 100755
index 000000000..1aeff79d1
--- /dev/null
+++ b/modules/completion/src/c/.libs/libscicompletion_algo_la-getfilesdictionary.o
Binary files differ
diff --git a/modules/completion/src/c/.libs/libscicompletion_algo_la-getmacrosdictionary.o b/modules/completion/src/c/.libs/libscicompletion_algo_la-getmacrosdictionary.o
new file mode 100755
index 000000000..b306e75e1
--- /dev/null
+++ b/modules/completion/src/c/.libs/libscicompletion_algo_la-getmacrosdictionary.o
Binary files differ
diff --git a/modules/completion/src/c/.libs/libscicompletion_algo_la-toolsdictionary.o b/modules/completion/src/c/.libs/libscicompletion_algo_la-toolsdictionary.o
new file mode 100755
index 000000000..90be581fe
--- /dev/null
+++ b/modules/completion/src/c/.libs/libscicompletion_algo_la-toolsdictionary.o
Binary files differ
diff --git a/modules/completion/src/c/DllmainCompletion.c b/modules/completion/src/c/DllmainCompletion.c
new file mode 100755
index 000000000..f53a4a2e3
--- /dev/null
+++ b/modules/completion/src/c/DllmainCompletion.c
@@ -0,0 +1,32 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include <windows.h>
+/*--------------------------------------------------------------------------*/
+#pragma comment(lib,"../../../../bin/libintl.lib")
+/*--------------------------------------------------------------------------*/
+int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved)
+{
+ switch (reason)
+ {
+ case DLL_PROCESS_ATTACH:
+ break;
+ case DLL_PROCESS_DETACH:
+ break;
+ case DLL_THREAD_ATTACH:
+ break;
+ case DLL_THREAD_DETACH:
+ break;
+ }
+ return 1;
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/completion/src/c/Scilab_windows_Import.def b/modules/completion/src/c/Scilab_windows_Import.def
new file mode 100755
index 000000000..5f75793aa
--- /dev/null
+++ b/modules/completion/src/c/Scilab_windows_Import.def
@@ -0,0 +1,5 @@
+ LIBRARY scilab_windows.dll
+
+
+EXPORTS
+strdup_windows \ No newline at end of file
diff --git a/modules/completion/src/c/completeLine.c b/modules/completion/src/c/completeLine.c
new file mode 100755
index 000000000..711b5685e
--- /dev/null
+++ b/modules/completion/src/c/completeLine.c
@@ -0,0 +1,284 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009-2010 - DIGITEO - Allan CORNET
+* Copyright (C) 2010 - DIGITEO - Vincent LEJEUNE
+* Copyright (C) 2011 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include <ctype.h>
+#include "completeLine.h"
+#include "MALLOC.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "getPartLine.h"
+#include "splitpath.h"
+#include "PATH_MAX.h"
+#include "stricmp.h"
+#include "stristr.h"
+
+/*--------------------------------------------------------------------------*/
+/*! Get the position of the longest suffix of string that match with a prefix of find
+* @param[in] string A string that has a suffix that match a prefix of find ; Assumed to be non null because of the first guard in completeLine
+* @param[in] find A string that has a prefix that match with a suffix of string
+* @return Position in string where suffix of string and prefix of find does match
+*
+*/
+static int findMatchingPrefixSuffix(const char* string, const char* find, BOOL stringToAddIsPath)
+{
+ char* pointerOnString = NULL;
+ char* pointerOnFindCopy = NULL;
+ char* movingPointerOnFindCopy = NULL;
+ char lastchar;
+ size_t stringLength = 0;
+
+ //get a working copy of find
+ pointerOnFindCopy = strdup(find);
+
+ //last character of string
+ lastchar = *(string + strlen(string) - 1);
+ stringLength = strlen(string);
+
+ // Convert to upper-case
+ {
+ char* str;
+ for (str = pointerOnFindCopy; *str != '\0'; str++)
+ {
+ *str = toupper(*str);
+ }
+ }
+
+ //Tips : no infinite loop there, tmpfind string length is always reduced at each iteration
+
+ movingPointerOnFindCopy = strrchr(pointerOnFindCopy, toupper(lastchar));
+
+ while ( movingPointerOnFindCopy )
+ {
+ //find the last occurence of last char of string in tmpfind
+ movingPointerOnFindCopy = strrchr(pointerOnFindCopy, toupper(lastchar));
+ if (movingPointerOnFindCopy == NULL)
+ {
+ break;
+ }
+ // Cut tmpfind at this position
+ movingPointerOnFindCopy[0] = '\0';
+ //Check if the cutted tmpfind match with the suffix of string that has adequat length
+ pointerOnString = (char*)(string + stringLength - 1 - strlen(pointerOnFindCopy));
+ if ( !strnicmp(pointerOnFindCopy, pointerOnString, strlen(pointerOnFindCopy)) )
+ {
+ FREE(pointerOnFindCopy);
+ pointerOnFindCopy = NULL;
+ return (int)(pointerOnString - string);
+ }
+
+ }
+ //if no return, no position is correct, return last char of string.
+ FREE(pointerOnFindCopy);
+ pointerOnFindCopy = NULL;
+ return (int)stringLength;
+}
+/*--------------------------------------------------------------------------*/
+char *completeLine(char *currentline, char *stringToAdd, char *filePattern,
+ char *defaultPattern, BOOL stringToAddIsPath, char *postCaretLine)
+{
+ char *new_line = NULL;
+ int lengthNewLine = 0;
+
+ char *stringToAddAtTheEnd = NULL;
+ int lenstringToAddAtTheEnd = 0;
+
+ char *res = NULL;
+
+ int lencurrentline = 0;
+
+ int iposInsert = 0;
+
+ if (currentline == NULL)
+ {
+ return strdup("");
+ }
+ lencurrentline = (int)strlen(currentline);
+
+ if (postCaretLine == NULL)
+ {
+ stringToAddAtTheEnd = strdup("");
+ lenstringToAddAtTheEnd = (int)strlen(stringToAddAtTheEnd);
+ }
+ else
+ {
+ stringToAddAtTheEnd = strdup(postCaretLine);
+ lenstringToAddAtTheEnd = (int)strlen(stringToAddAtTheEnd);
+ }
+
+ if ( (stringToAdd == NULL) || (strcmp(stringToAdd, "") == 0) )
+ {
+ lengthNewLine = lencurrentline + lenstringToAddAtTheEnd;
+ new_line = (char*)MALLOC(sizeof(char) * (lengthNewLine + 1));
+ if (new_line)
+ {
+ strcpy(new_line, currentline);
+ strcat(new_line, stringToAddAtTheEnd);
+ }
+
+ if (stringToAddAtTheEnd)
+ {
+ FREE(stringToAddAtTheEnd);
+ stringToAddAtTheEnd = NULL;
+ }
+
+ return new_line;
+ }
+
+ if (stringToAddIsPath == FALSE)
+ {
+ char *filePatternBuf = NULL;
+ BOOL bfilePatternBuf = FALSE;
+
+ if (filePattern != NULL)
+ {
+ filePatternBuf = filePattern;
+ }
+ else
+ {
+ filePatternBuf = getFilePartLevel(currentline);
+ bfilePatternBuf = TRUE;
+ }
+
+ if (filePatternBuf)
+ {
+ char* drv = (char*)MALLOC(sizeof(char) * (PATH_MAX + 1));
+ char* dir = (char*)MALLOC(sizeof(char) * (PATH_MAX + 1));
+ char* name = (char*)MALLOC(sizeof(char) * (PATH_MAX + 1));
+ char* ext = (char*)MALLOC(sizeof(char) * (PATH_MAX + 1));
+
+ splitpath(filePatternBuf, TRUE, drv, dir, name, ext);
+
+ if (bfilePatternBuf)
+ {
+ FREE(filePatternBuf);
+ filePatternBuf = NULL;
+ }
+
+ if ( strcmp(drv, "") || strcmp(dir, "") )
+ {
+ /* bug 4365 */
+ /*cd SCI/modules/arnoldi/nonreg_tes */
+
+ if (drv)
+ {
+ FREE(drv);
+ drv = NULL;
+ }
+ if (dir)
+ {
+ FREE(dir);
+ dir = NULL;
+ }
+ if (name)
+ {
+ FREE(name);
+ name = NULL;
+ }
+ if (ext)
+ {
+ FREE(ext);
+ ext = NULL;
+ }
+
+ lengthNewLine = lencurrentline + lenstringToAddAtTheEnd;
+ new_line = (char*)MALLOC(sizeof(char) * (lengthNewLine + 1));
+ if (new_line)
+ {
+ strcpy(new_line, currentline);
+ strcat(new_line, stringToAddAtTheEnd);
+ }
+
+ if (stringToAddAtTheEnd)
+ {
+ FREE(stringToAddAtTheEnd);
+ stringToAddAtTheEnd = NULL;
+ }
+
+ return new_line;
+ }
+
+ if (drv)
+ {
+ FREE(drv);
+ drv = NULL;
+ }
+ if (dir)
+ {
+ FREE(dir);
+ dir = NULL;
+ }
+ if (name)
+ {
+ FREE(name);
+ name = NULL;
+ }
+ if (ext)
+ {
+ FREE(ext);
+ ext = NULL;
+ }
+ }
+ }
+
+ // Does the end of line (currentLine) matches the beginning of completed word (stringToAdd) ?
+ iposInsert = findMatchingPrefixSuffix(currentline, stringToAdd, stringToAddIsPath);
+ res = stristr(stringToAdd, &currentline[iposInsert]);
+
+ if (res == NULL)
+ {
+ // No, find the last occurence of completed word word in line
+ char* foundCompletedWordPtr = NULL;
+ char* nextFoundCompletedWordPtr = stristr(currentline, stringToAdd);
+ while (nextFoundCompletedWordPtr)
+ {
+ foundCompletedWordPtr = nextFoundCompletedWordPtr;
+ nextFoundCompletedWordPtr =
+ stristr(foundCompletedWordPtr + strlen(foundCompletedWordPtr), stringToAdd);
+ }
+
+ if (foundCompletedWordPtr)
+ {
+ iposInsert = (int) (foundCompletedWordPtr - currentline);
+ }
+ }
+
+ // if it is a path, we add at the end
+ if ((currentline[lencurrentline - 1] == '/') || (currentline[lencurrentline - 1] == '\\'))
+ {
+ iposInsert = lencurrentline;
+ }
+
+ lengthNewLine = (int)(strlen(currentline) + strlen(stringToAdd) + lenstringToAddAtTheEnd);
+ new_line = (char*)MALLOC(sizeof(char) * (lengthNewLine + 1));
+ if (new_line)
+ {
+ strcpy(new_line, currentline);
+ new_line[iposInsert] = 0;
+
+ strcat(new_line, stringToAdd);
+ strcat(new_line, stringToAddAtTheEnd);
+ }
+
+ if (stringToAddAtTheEnd)
+ {
+ FREE(stringToAddAtTheEnd);
+ stringToAddAtTheEnd = NULL;
+ }
+
+ return new_line;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/completeLine_wrap_java.c b/modules/completion/src/c/completeLine_wrap_java.c
new file mode 100755
index 000000000..87c2b357e
--- /dev/null
+++ b/modules/completion/src/c/completeLine_wrap_java.c
@@ -0,0 +1,39 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+/*--------------------------------------------------------------------------*/
+#include "completeLine_wrap_java.h"
+#include "completeLine.h"
+#include "getPartLine.h"
+#include "MALLOC.h"
+/*--------------------------------------------------------------------------*/
+char *completelineforjava(char *currentLine, char *stringToAdd, BOOL isFile, char *postCaretLine)
+{
+ char *assembledLine = NULL;
+ char *patternFile = getFilePartLevel(currentLine);
+ char *patternLine = getPartLevel(currentLine);
+
+ assembledLine = completeLine(currentLine, stringToAdd, patternFile, patternLine, isFile, postCaretLine);
+ if (patternFile)
+ {
+ FREE(patternFile);
+ patternFile = NULL;
+ }
+ if (patternLine)
+ {
+ FREE(patternLine);
+ patternLine = NULL;
+ }
+
+ return assembledLine;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/completeLine_wrap_java.h b/modules/completion/src/c/completeLine_wrap_java.h
new file mode 100755
index 000000000..2a84339d2
--- /dev/null
+++ b/modules/completion/src/c/completeLine_wrap_java.h
@@ -0,0 +1,22 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+/*--------------------------------------------------------------------------*/
+#ifndef __COMPLETELINE_WRAP_H__
+#define __COMPLETELINE_WRAP_H__
+
+#include "BOOL.h"
+
+char *completelineforjava(char *currentLine, char *stringToAdd, BOOL isFile, char *postCaretLine);
+
+#endif /* __COMPLETELINE_WRAP_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/completion.c b/modules/completion/src/c/completion.c
new file mode 100755
index 000000000..dc04963f8
--- /dev/null
+++ b/modules/completion/src/c/completion.c
@@ -0,0 +1,401 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include <string.h>
+#include <stdlib.h>
+#include "completion.h"
+#include "MALLOC.h"
+#include "getvariablesname.h"
+#include "commandwords.h"
+#include "getfunctionslist.h"
+#include "getmacrosdictionary.h"
+#include "completion_generic.h"
+#include "getfilesdictionary.h"
+#include "getfieldsdictionary.h"
+#include "getDictionarySetProperties.h"
+#include "getDictionaryGetProperties.h"
+#include "toolsdictionary.h"
+#if _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+char **completionOnDictionary(char **dictionary, int sizedictionary, char *somechars, int *sizearrayreturned);
+/*--------------------------------------------------------------------------*/
+char **completion(char *somechars, int *sizeArrayReturned)
+{
+ char **ListWords = NULL;
+
+ char **dictionary = NULL;
+ int sizedictionary = 0;
+
+ int sizecompletionfunctions = 0;
+ char **completionfunctions = completionOnFunctions(somechars, &sizecompletionfunctions);
+
+ int sizecompletioncommandwords = 0;
+ char **completioncommandwords = completionOnCommandWords(somechars, &sizecompletioncommandwords);
+
+ int sizecompletionmacros = 0;
+ char **completionmacros = completionOnMacros(somechars, &sizecompletionmacros);
+
+ int sizecompletionvariables = 0;
+ char **completionvariables = completionOnVariables(somechars, &sizecompletionvariables);
+
+ int sizecompletionhandlegraphicsproperties = 0;
+ char **completionhandlegraphicsproperties = completionOnHandleGraphicsProperties(somechars, &sizecompletionhandlegraphicsproperties);
+
+ int sizecompletionfiles = 0;
+ char **completionfiles = completionOnFiles(somechars, &sizecompletionfiles);
+
+ *sizeArrayReturned = 0;
+
+ sizedictionary = sizecompletionfunctions + sizecompletioncommandwords + sizecompletionmacros
+ + sizecompletionvariables + sizecompletionhandlegraphicsproperties + sizecompletionfiles;
+
+
+ if ( (completionfiles) && (sizedictionary == sizecompletionfiles) )
+ {
+ ListWords = completionfiles;
+ *sizeArrayReturned = sizecompletionfiles;
+ }
+ else
+ {
+ if (sizedictionary > 0)
+ {
+ dictionary = (char**)MALLOC(sizeof(char*) * sizedictionary);
+ }
+
+ if (dictionary)
+ {
+ int i = 0;
+ appendDictionary(&dictionary, &i, &completionfunctions, &sizecompletionfunctions);
+ appendDictionary(&dictionary, &i, &completioncommandwords, &sizecompletioncommandwords);
+ appendDictionary(&dictionary, &i, &completionmacros, &sizecompletionmacros);
+ appendDictionary(&dictionary, &i, &completionvariables, &sizecompletionvariables);
+ appendDictionary(&dictionary, &i, &completionhandlegraphicsproperties, &sizecompletionhandlegraphicsproperties);
+ appendDictionary(&dictionary, &i, &completionfiles, &sizecompletionfiles);
+
+ dictionary = SortDictionary(dictionary, i);
+ dictionary = RemoveDuplicateDictionary(dictionary, &i);
+
+ sizedictionary = i;
+ }
+ ListWords = completionOnDictionary(dictionary, sizedictionary, somechars, sizeArrayReturned);
+ freePointerDictionary(dictionary, sizedictionary);
+ }
+
+ return ListWords;
+}
+/*--------------------------------------------------------------------------*/
+char **completionOnFunctions(char *somechars, int *sizeArrayReturned)
+{
+ char **ListWords = NULL;
+ char **dictionary = NULL;
+ int sizedictionary = 0;
+
+ dictionary = GetFunctionsList(&sizedictionary);
+
+ if (dictionary)
+ {
+ dictionary = SortDictionary(dictionary, sizedictionary);
+ ListWords = completionOnDictionary(dictionary, sizedictionary, somechars, sizeArrayReturned);
+ freePointerDictionary(dictionary, sizedictionary);
+ }
+ else
+ {
+ *sizeArrayReturned = 0;
+ }
+ return ListWords;
+}
+/*--------------------------------------------------------------------------*/
+char **completionOnCommandWords(char *somechars, int *sizeArrayReturned)
+{
+ char **ListWords = NULL;
+ char **dictionary = NULL;
+ int sizedictionary = 0;
+
+ dictionary = getcommandkeywords(&sizedictionary);
+
+ if (dictionary)
+ {
+ dictionary = SortDictionary(dictionary, sizedictionary);
+ dictionary = RemoveDuplicateDictionary(dictionary, &sizedictionary);
+ ListWords = completionOnDictionary(dictionary, sizedictionary, somechars, sizeArrayReturned);
+ freePointerDictionary(dictionary, sizedictionary);
+ }
+ else
+ {
+ *sizeArrayReturned = 0;
+ }
+ return ListWords;
+}
+/*--------------------------------------------------------------------------*/
+char **completionOnMacros(char *somechars, int *sizeArrayReturned)
+{
+ char **ListWords = NULL;
+ char **dictionary = NULL;
+ int sizedictionary = 0;
+
+ dictionary = getmacrosdictionary(&sizedictionary);
+
+ if (dictionary)
+ {
+ dictionary = SortDictionary(dictionary, sizedictionary);
+ dictionary = RemoveDuplicateDictionary(dictionary, &sizedictionary);
+ ListWords = completionOnDictionary(dictionary, sizedictionary, somechars, sizeArrayReturned);
+ freePointerDictionary(dictionary, sizedictionary);
+ }
+ else
+ {
+ *sizeArrayReturned = 0;
+ }
+ return ListWords;
+}
+/*--------------------------------------------------------------------------*/
+char **completionOnVariables(char *somechars, int *sizeArrayReturned)
+{
+ char **ListWords = NULL;
+ char **dictionary = NULL;
+ int sizedictionary = 0;
+
+ dictionary = getVariablesName(&sizedictionary, TRUE);
+
+ ListWords = completionOnDictionary(dictionary, sizedictionary, somechars, sizeArrayReturned);
+ freePointerDictionary(dictionary, sizedictionary);
+
+ return ListWords;
+}
+/*--------------------------------------------------------------------------*/
+char **completionOnVariablesWithoutMacros(char *somechars, int *sizeArrayReturned)
+{
+ int i = 0;
+ int j = 0;
+ int nbWordsAlreadyInMacros = 0;
+
+ char **ListWords = NULL;
+ int sizeListWords = 0;
+
+ char **dictionaryVariables = NULL;
+ int sizedictionaryVariables = 0;
+
+ dictionaryVariables = completionOnVariables(somechars, &sizedictionaryVariables);
+
+ if (sizedictionaryVariables)
+ {
+ char **dictionaryMacros = NULL;
+ int sizedictionaryMacros = 0;
+
+ dictionaryMacros = getmacrosdictionary(&sizedictionaryMacros);
+ dictionaryMacros = SortDictionary(dictionaryMacros, sizedictionaryMacros);
+
+ /* Search if we have more than one definition */
+ for ( i = 0; i < sizedictionaryVariables; i++)
+ {
+ for ( j = 0; j < sizedictionaryMacros; j++)
+ {
+ if ( strcmp(dictionaryVariables[i], dictionaryMacros[j]) == 0 )
+ {
+ nbWordsAlreadyInMacros++;
+ }
+ }
+ }
+
+ if (nbWordsAlreadyInMacros)
+ {
+ sizeListWords = sizedictionaryVariables - nbWordsAlreadyInMacros;
+ if (sizeListWords > 0)
+ {
+ char **ListWordsTmp = (char**)MALLOC(sizeof(char*) * sizedictionaryVariables);
+ if (ListWordsTmp)
+ {
+ int k = 0;
+
+ /* do a copy of dictionary of Variables */
+ for ( i = 0; i < sizedictionaryVariables; i++)
+ {
+ ListWordsTmp[i] = strdup(dictionaryVariables[i]);
+ }
+
+ for ( i = 0; i < sizedictionaryVariables; i++)
+ {
+ for ( j = 0; j < sizedictionaryMacros; j++)
+ {
+ if ( strcmp(dictionaryVariables[i], dictionaryMacros[j]) == 0 )
+ {
+ FREE(ListWordsTmp[i]);
+ ListWordsTmp[i] = NULL;
+ }
+ }
+ }
+
+ ListWords = (char**)MALLOC(sizeof(char*) * (sizeListWords + 1));
+ if (ListWords)
+ {
+ for ( i = 0; i < sizedictionaryVariables; i++)
+ {
+ if (ListWordsTmp[i])
+ {
+ ListWords[k] = strdup(ListWordsTmp[i]);
+ if (k <= sizeListWords)
+ {
+ k++;
+ }
+ }
+ }
+ /* Add a NULL element at the end (to get number of items from JNI) */
+ ListWords[sizeListWords] = NULL;
+
+ *sizeArrayReturned = sizeListWords;
+ }
+ else
+ {
+ ListWords = NULL;
+ *sizeArrayReturned = 0;
+ }
+ }
+ else
+ {
+ ListWords = NULL;
+ *sizeArrayReturned = 0;
+ }
+ }
+ else
+ {
+ ListWords = NULL;
+ *sizeArrayReturned = 0;
+ }
+ }
+ else
+ {
+ ListWords = dictionaryVariables;
+ *sizeArrayReturned = sizedictionaryVariables;
+ }
+
+ freePointerDictionary(dictionaryMacros, sizedictionaryMacros);
+ }
+ else
+ {
+ ListWords = NULL;
+ *sizeArrayReturned = 0;
+ }
+
+ return ListWords;
+}
+/*--------------------------------------------------------------------------*/
+char **completionOnFiles(char *somechars, int *sizeArrayReturned)
+{
+ char **ListWords = NULL;
+ char **dictionary = NULL;
+ int sizedictionary = 0;
+
+ dictionary = getfilesdictionary(somechars, &sizedictionary, FALSE);
+
+ if (dictionary)
+ {
+ ListWords = dictionary;
+ *sizeArrayReturned = sizedictionary;
+ }
+ else
+ {
+ *sizeArrayReturned = 0;
+ }
+ return ListWords;
+}
+/*--------------------------------------------------------------------------*/
+char **completionOnFields(char *lineBeforeCaret, char *pattern, int *sizeArrayReturned)
+{
+ char **ListWords = NULL;
+ char **dictionary = NULL;
+ int sizedictionary = 0;
+
+ if (lineBeforeCaret && pattern)
+ {
+ dictionary = getfieldsdictionary(lineBeforeCaret, pattern, &sizedictionary);
+ }
+
+ if (dictionary)
+ {
+ ListWords = dictionary;
+ *sizeArrayReturned = sizedictionary;
+ }
+ else
+ {
+ *sizeArrayReturned = 0;
+ }
+ return ListWords;
+}
+/*--------------------------------------------------------------------------*/
+char **completionOnHandleGraphicsProperties(char *somechars, int *sizeArrayReturned)
+{
+ char **ListWords = NULL;
+ char **dictionary = NULL;
+ int sizedictionary = 0;
+
+ int sizeHandleGraphicsGetPropertiesDictionary = 0;
+ char **HandleGraphicsGetPropertiesDictionary = getDictionaryGetProperties(&sizeHandleGraphicsGetPropertiesDictionary);
+
+ int sizeHandleGraphicsSetPropertiesDictionary = 0;
+ char **HandleGraphicsSetPropertiesDictionary = getDictionarySetProperties(&sizeHandleGraphicsSetPropertiesDictionary);
+
+ *sizeArrayReturned = 0;
+
+ sizedictionary = sizeHandleGraphicsGetPropertiesDictionary + sizeHandleGraphicsSetPropertiesDictionary;
+
+ if (sizedictionary > 0)
+ {
+ dictionary = (char**)MALLOC(sizeof(char*) * sizedictionary);
+
+ if (dictionary)
+ {
+ int i = 0;
+
+ appendDictionary(&dictionary, &i, &HandleGraphicsGetPropertiesDictionary, &sizeHandleGraphicsGetPropertiesDictionary);
+ appendDictionary(&dictionary, &i, &HandleGraphicsSetPropertiesDictionary, &sizeHandleGraphicsSetPropertiesDictionary);
+ sizedictionary = i;
+ }
+
+ if (dictionary)
+ {
+ dictionary = SortDictionary(dictionary, sizedictionary);
+ dictionary = RemoveDuplicateDictionary(dictionary, &sizedictionary);
+ ListWords = completionOnDictionary(dictionary, sizedictionary, somechars, sizeArrayReturned);
+ freePointerDictionary(dictionary, sizedictionary);
+ }
+ else
+ {
+ *sizeArrayReturned = 0;
+ }
+ }
+ else
+ {
+ *sizeArrayReturned = 0;
+ }
+ return ListWords;
+}
+/*--------------------------------------------------------------------------*/
+char **completionOnDictionary(char **dictionary, int sizedictionary, char *somechars, int *sizearrayreturned)
+{
+ char **ListWords = NULL;
+
+ if (dictionary)
+ {
+ ListWords = completion_generic(dictionary, sizedictionary, somechars, sizearrayreturned);
+ if (ListWords == NULL)
+ {
+ *sizearrayreturned = 0;
+ }
+ }
+ else
+ {
+ *sizearrayreturned = 0;
+ }
+ return ListWords;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/completion.rc b/modules/completion/src/c/completion.rc
new file mode 100755
index 000000000..a22487df3
--- /dev/null
+++ b/modules/completion/src/c/completion.rc
@@ -0,0 +1,97 @@
+// Microsoft Visual C++ generated resource script.
+//
+
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+//#include "afxres.h"
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 5,5,2,0
+ PRODUCTVERSION 5,5,2,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x0L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040c04b0"
+ BEGIN
+ VALUE "FileDescription", "completion module"
+ VALUE "FileVersion", "5, 5, 2, 0"
+ VALUE "InternalName", "completion module"
+ VALUE "LegalCopyright", "Copyright (C) 2017"
+ VALUE "OriginalFilename", "completion.dll"
+ VALUE "ProductName", " completion"
+ VALUE "ProductVersion", "5, 5, 2, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x40c, 1200
+ END
+END
+
+#endif // French (France) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/modules/completion/src/c/completion.vcxproj b/modules/completion/src/c/completion.vcxproj
new file mode 100755
index 000000000..45be7adc0
--- /dev/null
+++ b/modules/completion/src/c/completion.vcxproj
@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}</ProjectGuid>
+ <RootNamespace>completion</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">sci$(ProjectName)</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">sci$(ProjectName)</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">sci$(ProjectName)</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">sci$(ProjectName)</TargetName>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../../libs/libxml2;../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../windows_tools/includes;../../../fileio/includes;../../../graphics/includes;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../api_scilab/includes;../../../functions/includes;../../../xml/includes;../../../xml/src/cpp;../../../string/includes;../../../external_objects/includes</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;COMPLETION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Scilab_windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilab_windows.lib" 1&gt;NUL 2&gt;NUL
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;scilab_windows.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\sci$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\sci$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../../libs/libxml2;../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../windows_tools/includes;../../../fileio/includes;../../../graphics/includes;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../api_scilab/includes;../../../functions/includes;../../../xml/includes;../../../xml/src/cpp;../../../string/includes;../../../external_objects/includes</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;COMPLETION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Scilab_windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilab_windows.lib" 1&gt;NUL 2&gt;NUL
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;scilab_windows.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\sci$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\sci$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../../libs/libxml2;../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../windows_tools/includes;../../../fileio/includes;../../../graphics/includes;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../api_scilab/includes;../../../functions/includes;../../../xml/includes;../../../xml/src/cpp;../../../string/includes;../../../external_objects/includes</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;COMPLETION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Scilab_windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilab_windows.lib" 1&gt;NUL 2&gt;NUL
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;scilab_windows.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\sci$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\sci$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../../libs/libxml2;../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../windows_tools/includes;../../../fileio/includes;../../../graphics/includes;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../api_scilab/includes;../../../functions/includes;../../../xml/includes;../../../xml/src/cpp;../../../string/includes;../../../external_objects/includes</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;COMPLETION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)Scilab_windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)scilab_windows.lib" 1&gt;NUL 2&gt;NUL
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;scilab_windows.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\sci$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\sci$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\cpp\EOFieldsGetter.cpp" />
+ <ClCompile Include="..\cpp\FieldsManager.cpp" />
+ <ClCompile Include="..\cpp\getfields.cpp" />
+ <ClCompile Include="..\cpp\HandleFieldsGetter.cpp" />
+ <ClCompile Include="..\cpp\StructFieldsGetter.cpp" />
+ <ClCompile Include="..\cpp\UnknownMlistFieldsGetter.cpp" />
+ <ClCompile Include="..\cpp\XMLAttrFieldsGetter.cpp" />
+ <ClCompile Include="..\cpp\XMLDocFieldsGetter.cpp" />
+ <ClCompile Include="..\cpp\XMLElemFieldsGetter.cpp" />
+ <ClCompile Include="..\cpp\XMLFieldsGetter.cpp" />
+ <ClCompile Include="..\cpp\XMLListFieldsGetter.cpp" />
+ <ClCompile Include="..\cpp\XMLNsFieldsGetter.cpp" />
+ <ClCompile Include="..\cpp\XMLSetFieldsGetter.cpp" />
+ <ClCompile Include="completeLine.c" />
+ <ClCompile Include="completeLine_wrap_java.c" />
+ <ClCompile Include="completion.c" />
+ <ClCompile Include="completion_generic.c" />
+ <ClCompile Include="..\jni\Completion_wrap.c" />
+ <ClCompile Include="completion_wrap_java.c" />
+ <ClCompile Include="DllmainCompletion.c" />
+ <ClCompile Include="getCommonPart.c" />
+ <ClCompile Include="getfieldsdictionary.c" />
+ <ClCompile Include="getfilesdictionary.c" />
+ <ClCompile Include="getmacrosdictionary.c" />
+ <ClCompile Include="getPartLine.c" />
+ <ClCompile Include="..\..\sci_gateway\c\gw_completion.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_completion.c" />
+ <ClCompile Include="toolsdictionary.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\includes\completeLine.h" />
+ <ClInclude Include="..\..\includes\getfields.h" />
+ <ClInclude Include="..\cpp\EOFieldsGetter.hxx" />
+ <ClInclude Include="..\cpp\FieldsGetter.hxx" />
+ <ClInclude Include="..\cpp\FieldsManager.hxx" />
+ <ClInclude Include="..\cpp\HandleFieldsGetter.hxx" />
+ <ClInclude Include="..\cpp\StructFieldsGetter.hxx" />
+ <ClInclude Include="..\cpp\UnknownMlistFieldsGetter.hxx" />
+ <ClInclude Include="..\cpp\XMLAttrFieldsGetter.hxx" />
+ <ClInclude Include="..\cpp\XMLDocFieldsGetter.hxx" />
+ <ClInclude Include="..\cpp\XMLElemFieldsGetter.hxx" />
+ <ClInclude Include="..\cpp\XMLFieldsGetter.hxx" />
+ <ClInclude Include="..\cpp\XMLListFieldsGetter.hxx" />
+ <ClInclude Include="..\cpp\XMLNsFieldsGetter.hxx" />
+ <ClInclude Include="..\cpp\XMLSetFieldsGetter.hxx" />
+ <ClInclude Include="completeLine_wrap_java.h" />
+ <ClInclude Include="..\..\includes\completion.h" />
+ <ClInclude Include="completion_generic.h" />
+ <ClInclude Include="completion_wrap_java.h" />
+ <ClInclude Include="..\..\includes\dynlib_completion.h" />
+ <ClInclude Include="..\..\includes\getCommonPart.h" />
+ <ClInclude Include="..\..\includes\getfieldsdictionary.h" />
+ <ClInclude Include="getfilesdictionary.h" />
+ <ClInclude Include="..\..\includes\getmacrosdictionary.h" />
+ <ClInclude Include="..\..\includes\getPartLine.h" />
+ <ClInclude Include="..\..\includes\gw_completion.h" />
+ <ClInclude Include="toolsdictionary.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\locales\completion.pot" />
+ <None Include="..\jni\Completion.i" />
+ <None Include="core_import.def" />
+ <None Include="Scilab_windows_Import.def" />
+ <None Include="..\..\completion.iss" />
+ <None Include="..\..\sci_gateway\completion_gateway.xml" />
+ <None Include="..\..\Makefile.am" />
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="completion.rc" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj">
+ <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\api_scilab\api_scilab.vcxproj">
+ <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\external_objects\external_objects.vcxproj">
+ <Project>{3142e52c-309a-41d9-bd12-7b7e9e3bdd44}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\fileio\fileio.vcxproj">
+ <Project>{4fc72d4a-80ee-4b1a-8724-0201c1a35621}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\functions\src\c\functions.vcxproj">
+ <Project>{53a01263-92be-4c87-aa9a-79297f882310}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\graphics\graphics.vcxproj">
+ <Project>{8ccdd3c2-b025-4a12-a986-1aa28d7c0c33}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\localization\src\localization.vcxproj">
+ <Project>{ecffeb0c-1eda-45ee-9a10-b18143852e17}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\output_stream\src\c\output_stream.vcxproj">
+ <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\string\src\c\string.vcxproj">
+ <Project>{8d45767a-9b03-4905-97f6-d2f3f79141ea}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\xml\xml.vcxproj">
+ <Project>{ef5402da-29fd-4f1b-b98b-d284d4e27c15}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/modules/completion/src/c/completion.vcxproj.filters b/modules/completion/src/c/completion.vcxproj.filters
new file mode 100755
index 000000000..4b588892b
--- /dev/null
+++ b/modules/completion/src/c/completion.vcxproj.filters
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{ad687e14-f73e-44d1-b54d-e18012fe1ab7}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{81d3fcfb-fa9e-44ca-82f8-f19b3a7beefe}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="localization">
+ <UniqueIdentifier>{f75b76f3-ab8f-4d5e-ba4e-af1e56f77448}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Swig Files">
+ <UniqueIdentifier>{7b3cd816-630e-4cc3-a647-f52648c8ad08}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{9e8611a6-4cba-4ba5-8ac1-a83cceba5f58}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Libraries Dependencies">
+ <UniqueIdentifier>{4ad53753-5887-4dff-b846-d04e29ac60dc}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Libraries Dependencies\Imports">
+ <UniqueIdentifier>{0f3f4bfc-acef-4a7e-bb4a-0033b39389de}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="completeLine.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="completeLine_wrap_java.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="completion.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="completion_generic.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\jni\Completion_wrap.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="completion_wrap_java.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="DllmainCompletion.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="getCommonPart.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="getfieldsdictionary.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="getfilesdictionary.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="getmacrosdictionary.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="getPartLine.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\gw_completion.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_completion.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="toolsdictionary.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\FieldsManager.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\getfields.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\XMLFieldsGetter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\EOFieldsGetter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\HandleFieldsGetter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\StructFieldsGetter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\UnknownMlistFieldsGetter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\XMLAttrFieldsGetter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\XMLDocFieldsGetter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\XMLElemFieldsGetter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\XMLListFieldsGetter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\XMLNsFieldsGetter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\cpp\XMLSetFieldsGetter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\includes\completeLine.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="completeLine_wrap_java.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\completion.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="completion_generic.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="completion_wrap_java.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\dynlib_completion.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\getCommonPart.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\getfieldsdictionary.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="getfilesdictionary.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\getmacrosdictionary.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\getPartLine.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\gw_completion.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="toolsdictionary.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\getfields.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\FieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\FieldsManager.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\XMLFieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\EOFieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\HandleFieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\StructFieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\UnknownMlistFieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\XMLAttrFieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\XMLDocFieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\XMLElemFieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\XMLListFieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\XMLNsFieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\cpp\XMLSetFieldsGetter.hxx">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\jni\Completion.i">
+ <Filter>Swig Files</Filter>
+ </None>
+ <None Include="core_import.def">
+ <Filter>Libraries Dependencies\Imports</Filter>
+ </None>
+ <None Include="Scilab_windows_Import.def">
+ <Filter>Libraries Dependencies\Imports</Filter>
+ </None>
+ <None Include="..\..\completion.iss" />
+ <None Include="..\..\sci_gateway\completion_gateway.xml" />
+ <None Include="..\..\Makefile.am" />
+ <None Include="..\..\locales\completion.pot">
+ <Filter>localization</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="completion.rc">
+ <Filter>Resource Files</Filter>
+ </ResourceCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/modules/completion/src/c/completion_generic.c b/modules/completion/src/c/completion_generic.c
new file mode 100755
index 000000000..fa990f561
--- /dev/null
+++ b/modules/completion/src/c/completion_generic.c
@@ -0,0 +1,54 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include <string.h>
+#include "completion_generic.h"
+#include "MALLOC.h"
+#if _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "stricmp.h"
+
+/*--------------------------------------------------------------------------*/
+char **completion_generic(char **dictionary, int sizedictionary,
+ char *somechars, int *sizeArrayReturned)
+{
+ char **results = NULL;
+ int nbElements = 0;
+ int i = 0;
+
+ for (i = 0; i < sizedictionary; i++)
+ {
+ if (dictionary[i])
+ {
+ if ( strnicmp(dictionary[i], somechars, strlen(somechars)) == 0)
+ {
+ nbElements++;
+ /* +1 in MALLOC because a NULL element is inserted at the end of the array */
+ /* This NULL element is used in Java wrapper to know the size of the array */
+ if (results)
+ {
+ results = (char**)REALLOC(results, sizeof(char*) * (nbElements + 1));
+ }
+ else
+ {
+ results = (char**)MALLOC(sizeof(char*) * (nbElements + 1));
+ }
+
+ results[nbElements] = NULL; /* Last element set to NULL */
+ results[nbElements - 1] = strdup(dictionary[i]);
+ }
+ }
+ }
+ *sizeArrayReturned = nbElements;
+ return results;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/completion_generic.h b/modules/completion/src/c/completion_generic.h
new file mode 100755
index 000000000..5394c30a3
--- /dev/null
+++ b/modules/completion/src/c/completion_generic.h
@@ -0,0 +1,27 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#ifndef __COMPLETION_GENERIC_H__
+#define __COMPLETION_GENERIC_H__
+
+/**
+* completion
+* @param[in] dictionary
+* @param[in] size of dictionary
+* @param[in] some chars of a symbol
+* @param[out] size of returned strings
+* @return strings found in dictionary
+*/
+char **completion_generic(char **dictionary, int sizedictionary,
+ char *somechars, int *sizeArrayReturned);
+
+#endif /* __COMPLETION_GENERIC_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/completion_wrap_java.c b/modules/completion/src/c/completion_wrap_java.c
new file mode 100755
index 000000000..b6ffaf9b5
--- /dev/null
+++ b/modules/completion/src/c/completion_wrap_java.c
@@ -0,0 +1,101 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include <stdlib.h>
+#include <string.h>
+#include "completion_wrap_java.h"
+#include "completion.h"
+/*--------------------------------------------------------------------------*/
+char **searchAllDictionaries(char *somechars)
+{
+ int nbrElements = 0;
+ if ( (somechars) && (strcmp(somechars, "")) )
+ {
+ return completion(somechars, &nbrElements);
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
+char **searchFunctionsDictionary(char *somechars)
+{
+ int nbrElements = 0;
+ if ( (somechars) && (strcmp(somechars, "")) )
+ {
+ return completionOnFunctions(somechars, &nbrElements);
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
+char **searchCommandsDictionary(char *somechars)
+{
+ int nbrElements = 0;
+ if ( (somechars) && (strcmp(somechars, "")) )
+ {
+ return completionOnCommandWords(somechars, &nbrElements);
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
+char **searchMacrosDictionary(char *somechars)
+{
+ int nbrElements = 0;
+ if ( (somechars) && (strcmp(somechars, "")) )
+ {
+ return completionOnMacros(somechars, &nbrElements);
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
+char **searchVariablesDictionary(char *somechars)
+{
+ int nbrElements = 0;
+ if ( (somechars) && (strcmp(somechars, "")) )
+ {
+ return completionOnVariablesWithoutMacros(somechars, &nbrElements);
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
+char **searchFilesDictionary(char *somechars)
+{
+ int nbrElements = 0;
+ if ( (somechars) && (strcmp(somechars, "")) )
+ {
+ return completionOnFiles(somechars, &nbrElements);
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
+char **searchFieldsDictionary(char *lineBeforeCaret, char *pattern)
+{
+ int nbrElements = 0;
+ if ( (lineBeforeCaret) && (strcmp(lineBeforeCaret, "")) )
+ {
+ return completionOnFields(lineBeforeCaret, pattern, &nbrElements);
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
+char **searchHandleGraphicsPropertiesDictionary(char *somechars)
+{
+ int nbrElements = 0;
+ if ( (somechars) && (strcmp(somechars, "")) )
+ {
+ char *pattern = somechars;
+ while (*(pattern++) == ' ')
+ {
+ ;
+ }
+ return completionOnHandleGraphicsProperties(--pattern, &nbrElements);
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/completion_wrap_java.h b/modules/completion/src/c/completion_wrap_java.h
new file mode 100755
index 000000000..e5837f773
--- /dev/null
+++ b/modules/completion/src/c/completion_wrap_java.h
@@ -0,0 +1,77 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __COMPLETION_WRAP_JAVA_H__
+#define __COMPLETION_WRAP_JAVA_H__
+
+/* wrap of completion.h (for java */
+/* size of string array removed */
+/* in C , I prefer to know dimensions */
+
+/**
+* completion function on all types for scilab
+* @param[in] somechars first characters of a word
+* @return an array of chars
+*/
+char **searchAllDictionaries(char *somechars);
+
+/**
+* completion function on Functions for scilab
+* @param[in] somechars first characters of a word
+* @return an array of chars
+*/
+char **searchFunctionsDictionary(char *somechars);
+
+/**
+* completion function on command words for scilab
+* @param[in] somechars first characters of a word
+* @return an array of chars
+*/
+char **searchCommandsDictionary(char *somechars);
+
+/**
+* completion function on Macros in libraries for scilab
+* @param[in] somechars first characters of a word
+* @return an array of chars
+*/
+char **searchMacrosDictionary(char *somechars);
+
+/**
+* completion function on Variables for scilab
+* @param[in] somechars first characters of a word
+* @return an array of chars
+*/
+char **searchVariablesDictionary(char *somechars);
+
+/**
+* completion function on files for scilab
+* @param[in] somechars first characters of a word
+* @return an array of chars
+*/
+char **searchFilesDictionary(char *somechars);
+
+/**
+* completion function on files for scilab
+* @param[in] the line before the caret
+* @param[in] the part
+* @return an array of chars
+*/
+char **searchFieldsDictionary(char *lineBeforeCaret, char *pattern);
+
+/**
+* completion handle graphics properties for scilab
+* @param[in] somechars first characters of a word
+* @return an array of chars
+*/
+char **searchHandleGraphicsPropertiesDictionary(char *somechars);
+/*--------------------------------------------------------------------------*/
+#endif /* __COMPLETION_WRAP_JAVA_H__ */
diff --git a/modules/completion/src/c/core_Import.def b/modules/completion/src/c/core_Import.def
new file mode 100755
index 000000000..bb2c7aa64
--- /dev/null
+++ b/modules/completion/src/c/core_Import.def
@@ -0,0 +1,22 @@
+ LIBRARY core.dll
+
+
+EXPORTS
+;core
+GetFunctionsList
+getcommandkeywords
+getVariablesName
+callFunctionFromGateway
+com_
+putlhsvar_
+freeArrayOfString
+getrhsvar_
+gettype_
+vstk_
+checklhs_
+checkrhs_
+intersci_
+createvarfromptr_
+MyHeapAlloc
+MyHeapFree
+MyHeapRealloc
diff --git a/modules/completion/src/c/getCommonPart.c b/modules/completion/src/c/getCommonPart.c
new file mode 100755
index 000000000..0d03940e4
--- /dev/null
+++ b/modules/completion/src/c/getCommonPart.c
@@ -0,0 +1,97 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2008 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include <stdlib.h>
+#include "getCommonPart.h"
+#include "core_math.h"
+#include "MALLOC.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+static int cmp( const void *a , const void *b)
+{
+ return strcmp(*(const char **)a, *(const char **)b );
+}
+/*--------------------------------------------------------------------------*/
+static int cmpPos(char *str1, char *str2)
+{
+ if (str1 && str2)
+ {
+ int i = 0;
+ char *s1 = NULL;
+ char *s2 = NULL;
+ int lenstr1 = (int) strlen(str1);
+ int lenstr2 = (int) strlen(str2);
+ int slen;
+
+ if (lenstr1 > lenstr2)
+ {
+ s1 = str2;
+ s2 = str1;
+ slen = lenstr1;
+ lenstr1 = lenstr2;
+ lenstr2 = slen;
+ }
+ else
+ {
+ s1 = str1;
+ s2 = str2;
+ }
+ for (i = 0; i < lenstr1; i++)
+ {
+ if ( s1[i] != s2[i] )
+ {
+ return i;
+ }
+ }
+
+ return Min(lenstr1, lenstr2);
+ }
+ return -1;
+}
+/*--------------------------------------------------------------------------*/
+char *getCommonPart(char **dictionary, int sizeDictionary)
+{
+ char *commonpart = NULL;
+
+ if (sizeDictionary == 1)
+ {
+ return strdup(dictionary[0]);
+ }
+
+ if (sizeDictionary >= 2)
+ {
+ int i = 0;
+ int r = 0;
+ char *currentstr = dictionary[0];
+ qsort(dictionary, sizeof dictionary / sizeof dictionary[0], sizeof dictionary[0], cmp);
+
+ r = cmpPos(currentstr, dictionary[1]);
+ for (i = 1; i < sizeDictionary - 1; i++)
+ {
+ int current_r = cmpPos(currentstr, dictionary[i + 1]);
+ if (r > current_r)
+ {
+ r = current_r;
+ currentstr = dictionary[i + 1];
+ }
+ }
+
+ commonpart = strdup(currentstr);
+ commonpart[r] = '\0';
+ }
+ return commonpart;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/getPartLine.c b/modules/completion/src/c/getPartLine.c
new file mode 100755
index 000000000..dcffcd443
--- /dev/null
+++ b/modules/completion/src/c/getPartLine.c
@@ -0,0 +1,154 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2008-2012 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "getPartLine.h"
+#include "core_math.h"
+#include "MALLOC.h"
+/*--------------------------------------------------------------------------*/
+#define SPACE_CHAR ' '
+/*--------------------------------------------------------------------------*/
+static char *removeSpacesAtBeginning(char *line);
+/*--------------------------------------------------------------------------*/
+char *getPartLevel(char *line)
+{
+#define MAX_SYMBS 28
+ const char symbs[MAX_SYMBS] = "+-*/\\([ ^,;={.&|\'])}:\"\'><~@\t";
+ int index = -1;
+ int i = 0;
+
+ for (i = 0; i < MAX_SYMBS; i++)
+ {
+ int len = 0;
+ char *pch = strrchr(line, symbs[i]);
+ if (pch)
+ {
+ len = (int) (strlen(line) - strlen(pch));
+ index = Max(index, len);
+ }
+ }
+
+ return strdup(&line[index + 1]);
+}
+/*--------------------------------------------------------------------------*/
+char *getFilePartLevel(char *line)
+{
+#define MAX_SYMBS_F 4
+ int index = 0;
+ int i = 0;
+ int lenLine = 0;
+ int symbol_found = 0;
+ char symbs[MAX_SYMBS_F] = ";,'\"";
+ char *lineWithoutSpaceAtBeginning = NULL;
+ char *returnedLine = NULL;
+
+ if (line == NULL)
+ {
+ return returnedLine;
+ }
+
+ lineWithoutSpaceAtBeginning = removeSpacesAtBeginning(line);
+ if (lineWithoutSpaceAtBeginning == NULL)
+ {
+ return returnedLine;
+ }
+
+ lenLine = (int)strlen(lineWithoutSpaceAtBeginning);
+
+ /* search last character in ";,'\"" */
+ for (i = 0; i < MAX_SYMBS_F; i++)
+ {
+ char *prch = strrchr(lineWithoutSpaceAtBeginning, symbs[i]);
+ if (prch)
+ {
+ int len = (int) (lenLine - strlen(prch));
+ index = Max(index, len);
+ symbol_found = 1;
+ break;
+ }
+ }
+
+ if (!symbol_found)
+ {
+ /* search last and first space character */
+ char *prch = strrchr(lineWithoutSpaceAtBeginning, SPACE_CHAR);
+ char *pch = strchr(lineWithoutSpaceAtBeginning, SPACE_CHAR);
+ if (pch && prch)
+ {
+ int len = 0;
+ if (pch != prch)
+ {
+ len = (int) (strlen(lineWithoutSpaceAtBeginning) - strlen(pch));
+ }
+ else
+ {
+ len = (int) (strlen(lineWithoutSpaceAtBeginning) - strlen(prch));
+ }
+ index = Max(index, len);
+ symbol_found = 1;
+ }
+ }
+
+ if (symbol_found)
+ {
+ index++;
+ /* skip spaces if there are consecutive */
+ while (lineWithoutSpaceAtBeginning[index] == SPACE_CHAR)
+ {
+ if (index + 1 >= lenLine)
+ {
+ break;
+ }
+ else
+ {
+ index++;
+ }
+ }
+ returnedLine = strdup(&lineWithoutSpaceAtBeginning[index]);
+ }
+
+ FREE(lineWithoutSpaceAtBeginning);
+ lineWithoutSpaceAtBeginning = NULL;
+
+ return returnedLine;
+}
+/*--------------------------------------------------------------------------*/
+static char *removeSpacesAtBeginning(char *line)
+{
+ char *returnedLine = NULL;
+ if (line)
+ {
+ int i = 0;
+ int index = 0;
+ int l = (int)strlen(line);
+ for (i = 0; i < l; i++)
+ {
+ if (line[i] == SPACE_CHAR)
+ {
+ index++;
+ }
+ else
+ {
+ break;
+ }
+ }
+ if (index != l)
+ {
+ returnedLine = strdup(&line[index]);
+ }
+ }
+ return returnedLine;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/getfieldsdictionary.c b/modules/completion/src/c/getfieldsdictionary.c
new file mode 100755
index 000000000..21236ac86
--- /dev/null
+++ b/modules/completion/src/c/getfieldsdictionary.c
@@ -0,0 +1,136 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2010-2011 - Calixte DENIZET
+* Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+#include <string.h> /* strcmp */
+#include <stdlib.h> /* qsort */
+#include "Scierror.h"
+#include "api_scilab.h"
+#include "MALLOC.h"
+#include "getfieldsdictionary.h"
+#include "getPartLine.h"
+#include "completion.h"
+#include "freeArrayOfString.h"
+
+#include "getfields.h"
+
+static int isInitialized = 0;
+
+/*--------------------------------------------------------------------------*/
+static int cmpNames(const void *a, const void *b)
+{
+ return strcmp(*(const char **)a, *(const char **)b);
+}
+/*--------------------------------------------------------------------------*/
+char **getfieldsdictionary(char *lineBeforeCaret, char *pattern, int *size)
+{
+ SciErr sciErr;
+ int *piAddr = NULL;
+ int *piLen = NULL;
+ int piType = 0;
+ int rows = 0;
+ int cols = 0;
+ int rc = 0;
+ int i;
+ int last = 0;
+ char **pstData = NULL;
+ char **fields = NULL;
+ char **_fields = NULL;
+ char *var = NULL;
+ char *lineBeforePoint = NULL;
+ int pos = (int)(strlen(lineBeforeCaret) - strlen(pattern) - 1);
+ char ** fieldPath = NULL;
+ int fieldPathLen = 0;
+ int fieldCompt = 0;
+ int fieldsSize = 0;
+
+ if (!isInitialized)
+ {
+ initializeFieldsGetter(1);
+ isInitialized = 1;
+ }
+
+ if (pos <= 0 || lineBeforeCaret[pos] != '.')
+ {
+ return NULL;
+ }
+
+ lineBeforePoint = (char*)MALLOC(sizeof(char) * (pos + 1));
+ if (lineBeforePoint == NULL)
+ {
+ return NULL;
+ }
+ memcpy(lineBeforePoint, lineBeforeCaret, pos);
+ lineBeforePoint[pos] = '\0';
+ fieldPath = getFieldPath(lineBeforePoint, &fieldPathLen);
+ if (fieldPathLen == 0)
+ {
+ return NULL;
+ }
+
+ FREE(lineBeforePoint);
+ lineBeforePoint = NULL;
+
+ sciErr = getNamedVarType(pvApiCtx, fieldPath[0], &piType);
+ if (sciErr.iErr && piType != sci_mlist && piType != sci_tlist && piType != sci_handles)
+ {
+ freeArrayOfString(fieldPath, fieldPathLen);
+ return NULL;
+ }
+
+ if (piType == sci_mlist || piType == sci_tlist || piType == sci_handles)
+ {
+ getVarAddressFromName(pvApiCtx, fieldPath[0], &piAddr);
+ if (sciErr.iErr)
+ {
+ freeArrayOfString(fieldPath, fieldPathLen);
+ return NULL;
+ }
+
+ fields = (char**)getFields(piAddr, fieldPath, fieldPathLen, &fieldsSize);
+ freeArrayOfString(fieldPath, fieldPathLen);
+ if (!fields)
+ {
+ return NULL;
+ }
+
+ _fields = (char**)MALLOC(sizeof(char *) * (fieldsSize + 1));
+ last = 0;
+
+ for (i = 0; i < fieldsSize ; i++)
+ {
+ if (strstr(fields[i], pattern) == fields[i])
+ {
+ _fields[last++] = fields[i];
+ }
+ else
+ {
+ FREE(fields[i]);
+ fields[i] = NULL;
+ }
+ }
+
+ FREE(fields);
+
+ *size = last;
+ qsort(_fields, *size, sizeof(char*), cmpNames);
+ _fields[last] = NULL; // don't forget, it SWIG is using first NULL item to guess array size
+
+ return _fields;
+ }
+ else
+ {
+ pstData = completionOnHandleGraphicsProperties(pattern, size);
+ }
+
+ return pstData;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/getfilesdictionary.c b/modules/completion/src/c/getfilesdictionary.c
new file mode 100755
index 000000000..84d39a221
--- /dev/null
+++ b/modules/completion/src/c/getfilesdictionary.c
@@ -0,0 +1,207 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include <string.h> /* strcmp */
+#include <stdio.h> /* sprintf */
+#include <stdlib.h> /* qsort */
+#include "getfilesdictionary.h"
+#include "PATH_MAX.h"
+#include "scicurdir.h" /* scigetcwd */
+#include "findfiles.h" /* findfiles */
+#include "MALLOC.h"
+#include "expandPathVariable.h"
+#include "machine.h"
+#include "isdir.h"
+/*--------------------------------------------------------------------------*/
+static void splitpath(char *composite, char *path, char *fname);
+static char **addPath(char **dictionary, int sizearray, char *path);
+static char **addDirSeparator(char **dictionary, int sizearray, char *path);
+/*--------------------------------------------------------------------------*/
+static int cmpfiles( const void *a , const void *b)
+{
+ return strcmp(*(const char **)a, *(const char **)b );
+}
+/*--------------------------------------------------------------------------*/
+char **getfilesdictionary(char *somechars, int *sizearray, BOOL fullpath)
+{
+ char **dictionary = NULL;
+
+ if (somechars)
+ {
+ int sizeListReturned = 0;
+ char path[PATH_MAX];
+
+ char filespec[PATH_MAX];
+
+ char pathname[PATH_MAX];
+ char filename[PATH_MAX];
+
+ char *pathextended = NULL;
+
+
+ splitpath(somechars, pathname, filename);
+
+ if ( strcmp(pathname, "") == 0 )
+ {
+ /* current path */
+ int ierr = 0;
+ char *currentpath = scigetcwd(&ierr);
+ if (currentpath)
+ {
+ strcpy(path, currentpath);
+ strcat(path, DIR_SEPARATOR);
+ FREE(currentpath);
+ currentpath = NULL;
+ }
+ }
+ else
+ {
+ /* we have a path */
+ strcpy(path, pathname);
+ }
+
+ if ( strcmp(filename, "") == 0 )
+ {
+ /* no filename */
+ strcpy(filespec, "*");
+ }
+ else
+ {
+ /* we have the beginning of a filename */
+ sprintf(filespec, "%s*", filename);
+ }
+
+ pathextended = expandPathVariable(path);
+
+ if (pathextended)
+ {
+ dictionary = findfiles(pathextended, filespec, &sizeListReturned, FALSE);
+ FREE(pathextended);
+ pathextended = NULL;
+ }
+
+ if (fullpath)
+ {
+ dictionary = addPath(dictionary, sizeListReturned, path);
+ }
+
+ dictionary = addDirSeparator(dictionary, sizeListReturned, path);
+
+ *sizearray = sizeListReturned;
+
+ /* Add a NULL element at the end (to get number of items from JNI) */
+ if (dictionary != NULL)
+ {
+ dictionary = (char**)REALLOC(dictionary, sizeof(char*) * (sizeListReturned + 1));
+ dictionary[sizeListReturned] = NULL;
+ qsort(dictionary, sizeof dictionary / sizeof dictionary[0], sizeof dictionary[0], cmpfiles);
+ }
+ }
+ else
+ {
+ *sizearray = 0;
+ }
+ return dictionary;
+}
+/*--------------------------------------------------------------------------*/
+static void splitpath(char *composite, char *path, char *fname)
+{
+ if (composite && path && fname)
+ {
+ char *lastslash = NULL;
+ char *p2 = NULL;
+
+ lastslash = NULL;
+ p2 = composite;
+
+ while (*p2)
+ {
+#ifdef _MSC_VER
+ if ( (*p2 == '/') || (*p2 == '\\') )
+ {
+ lastslash = p2;
+ }
+#else
+ if (*p2 == '/')
+ {
+ lastslash = p2;
+ }
+#endif
+ p2++;
+ }
+
+ if (lastslash != NULL)
+ {
+ strncpy(path, composite, 1 + (int)(lastslash - composite));
+ path[1 + (int)(lastslash - composite)] = '\0';
+ strcpy(fname, lastslash + 1);
+ }
+ else
+ {
+ strcpy(path, "");
+ strcpy(fname, composite);
+ }
+ }
+}
+/*--------------------------------------------------------------------------*/
+static char **addPath(char **dictionary, int sizearray, char *path)
+{
+ int i = 0;
+ for (i = 0; i < sizearray; i++)
+ {
+ char *newPath = NULL;
+ int newlength = (int)(strlen(dictionary[i]) + strlen(path) + 1);
+ newPath = (char *)MALLOC(sizeof(char) * (newlength));
+ sprintf(newPath, "%s%s", path, dictionary[i]);
+ FREE(dictionary[i]);
+ dictionary[i] = newPath;
+ }
+ return dictionary;
+}
+/*--------------------------------------------------------------------------*/
+static char **addDirSeparator(char **dictionary, int sizearray, char *path)
+{
+ int i = 0;
+ for (i = 0; i < sizearray; i++)
+ {
+ char *pathextended = NULL;
+ char fullpath[PATH_MAX * 2];
+
+ pathextended = expandPathVariable(path);
+ if (pathextended)
+ {
+ strcpy(fullpath, pathextended);
+ strcat(fullpath, dictionary[i]);
+ }
+ else
+ {
+ strcpy(fullpath, dictionary[i]);
+ }
+
+ if ( isdir(fullpath) && (dictionary[i][strlen(dictionary[i]) - 1] != DIR_SEPARATOR[0]) )
+ {
+ char *newPath = NULL;
+ int newlength = (int)(strlen(dictionary[i]) + strlen(DIR_SEPARATOR) + 1);
+ newPath = (char *)MALLOC(sizeof(char) * (newlength));
+ sprintf(newPath, "%s%s", dictionary[i], DIR_SEPARATOR);
+ FREE(dictionary[i]);
+ dictionary[i] = newPath;
+ }
+
+ if (pathextended)
+ {
+ FREE(pathextended);
+ pathextended = NULL;
+ }
+ }
+ return dictionary;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/getfilesdictionary.h b/modules/completion/src/c/getfilesdictionary.h
new file mode 100755
index 000000000..31ab095c8
--- /dev/null
+++ b/modules/completion/src/c/getfilesdictionary.h
@@ -0,0 +1,28 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __GETFILESDICTIONARY_H__
+#define __GETFILESDICTIONARY_H__
+
+#include "BOOL.h"
+
+/**
+* get files dictionary
+* @param[in] some chars
+* @param[out] size of returned array
+* @param[in] returns with the full path name
+* @return array of strings
+*/
+char **getfilesdictionary(char *somechars, int *sizearray, BOOL fullpath);
+
+#endif /* __GETFILESDICTIONARY_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/getmacrosdictionary.c b/modules/completion/src/c/getmacrosdictionary.c
new file mode 100755
index 000000000..88f7a02be
--- /dev/null
+++ b/modules/completion/src/c/getmacrosdictionary.c
@@ -0,0 +1,21 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include <stdlib.h>
+#include "getmacrosdictionary.h"
+#include "getmacroslist.h"
+/*--------------------------------------------------------------------------*/
+char **getmacrosdictionary(int *sizearray)
+{
+ return getmacroslist(sizearray);
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/libscicompletion_algo_la-completeLine.lo b/modules/completion/src/c/libscicompletion_algo_la-completeLine.lo
new file mode 100755
index 000000000..40825b1b6
--- /dev/null
+++ b/modules/completion/src/c/libscicompletion_algo_la-completeLine.lo
@@ -0,0 +1,12 @@
+# src/c/libscicompletion_algo_la-completeLine.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscicompletion_algo_la-completeLine.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/completion/src/c/libscicompletion_algo_la-completeLine_wrap_java.lo b/modules/completion/src/c/libscicompletion_algo_la-completeLine_wrap_java.lo
new file mode 100755
index 000000000..f5108138d
--- /dev/null
+++ b/modules/completion/src/c/libscicompletion_algo_la-completeLine_wrap_java.lo
@@ -0,0 +1,12 @@
+# src/c/libscicompletion_algo_la-completeLine_wrap_java.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscicompletion_algo_la-completeLine_wrap_java.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/completion/src/c/libscicompletion_algo_la-completion.lo b/modules/completion/src/c/libscicompletion_algo_la-completion.lo
new file mode 100755
index 000000000..12c51fb39
--- /dev/null
+++ b/modules/completion/src/c/libscicompletion_algo_la-completion.lo
@@ -0,0 +1,12 @@
+# src/c/libscicompletion_algo_la-completion.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscicompletion_algo_la-completion.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/completion/src/c/libscicompletion_algo_la-completion_generic.lo b/modules/completion/src/c/libscicompletion_algo_la-completion_generic.lo
new file mode 100755
index 000000000..f15a11115
--- /dev/null
+++ b/modules/completion/src/c/libscicompletion_algo_la-completion_generic.lo
@@ -0,0 +1,12 @@
+# src/c/libscicompletion_algo_la-completion_generic.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscicompletion_algo_la-completion_generic.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/completion/src/c/libscicompletion_algo_la-completion_wrap_java.lo b/modules/completion/src/c/libscicompletion_algo_la-completion_wrap_java.lo
new file mode 100755
index 000000000..9fc068082
--- /dev/null
+++ b/modules/completion/src/c/libscicompletion_algo_la-completion_wrap_java.lo
@@ -0,0 +1,12 @@
+# src/c/libscicompletion_algo_la-completion_wrap_java.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscicompletion_algo_la-completion_wrap_java.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/completion/src/c/libscicompletion_algo_la-getCommonPart.lo b/modules/completion/src/c/libscicompletion_algo_la-getCommonPart.lo
new file mode 100755
index 000000000..f90412462
--- /dev/null
+++ b/modules/completion/src/c/libscicompletion_algo_la-getCommonPart.lo
@@ -0,0 +1,12 @@
+# src/c/libscicompletion_algo_la-getCommonPart.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscicompletion_algo_la-getCommonPart.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/completion/src/c/libscicompletion_algo_la-getPartLine.lo b/modules/completion/src/c/libscicompletion_algo_la-getPartLine.lo
new file mode 100755
index 000000000..6be7d8f68
--- /dev/null
+++ b/modules/completion/src/c/libscicompletion_algo_la-getPartLine.lo
@@ -0,0 +1,12 @@
+# src/c/libscicompletion_algo_la-getPartLine.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscicompletion_algo_la-getPartLine.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/completion/src/c/libscicompletion_algo_la-getfieldsdictionary.lo b/modules/completion/src/c/libscicompletion_algo_la-getfieldsdictionary.lo
new file mode 100755
index 000000000..1ec447de9
--- /dev/null
+++ b/modules/completion/src/c/libscicompletion_algo_la-getfieldsdictionary.lo
@@ -0,0 +1,12 @@
+# src/c/libscicompletion_algo_la-getfieldsdictionary.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscicompletion_algo_la-getfieldsdictionary.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/completion/src/c/libscicompletion_algo_la-getfilesdictionary.lo b/modules/completion/src/c/libscicompletion_algo_la-getfilesdictionary.lo
new file mode 100755
index 000000000..8d1f5b895
--- /dev/null
+++ b/modules/completion/src/c/libscicompletion_algo_la-getfilesdictionary.lo
@@ -0,0 +1,12 @@
+# src/c/libscicompletion_algo_la-getfilesdictionary.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscicompletion_algo_la-getfilesdictionary.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/completion/src/c/libscicompletion_algo_la-getmacrosdictionary.lo b/modules/completion/src/c/libscicompletion_algo_la-getmacrosdictionary.lo
new file mode 100755
index 000000000..1174c75ff
--- /dev/null
+++ b/modules/completion/src/c/libscicompletion_algo_la-getmacrosdictionary.lo
@@ -0,0 +1,12 @@
+# src/c/libscicompletion_algo_la-getmacrosdictionary.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscicompletion_algo_la-getmacrosdictionary.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/completion/src/c/libscicompletion_algo_la-toolsdictionary.lo b/modules/completion/src/c/libscicompletion_algo_la-toolsdictionary.lo
new file mode 100755
index 000000000..b6d38026a
--- /dev/null
+++ b/modules/completion/src/c/libscicompletion_algo_la-toolsdictionary.lo
@@ -0,0 +1,12 @@
+# src/c/libscicompletion_algo_la-toolsdictionary.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscicompletion_algo_la-toolsdictionary.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/completion/src/c/toolsdictionary.c b/modules/completion/src/c/toolsdictionary.c
new file mode 100755
index 000000000..00b3b33bc
--- /dev/null
+++ b/modules/completion/src/c/toolsdictionary.c
@@ -0,0 +1,113 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include <stdlib.h>
+#include <string.h>
+#include "toolsdictionary.h"
+#include "MALLOC.h"
+/*--------------------------------------------------------------------------*/
+/**
+* merge two strings array
+* append array2 to array1
+* @param[in] array1
+* @param[in] pos
+* @param[in] array2
+* @param[in] sizearray2
+* @return string array updated;
+*/
+static char **mergearrays(char **array1, int pos, char **array2, int sizearray2);
+
+/* compare function for qsort */
+static int comparewords(const void *a, const void *b);
+
+/*--------------------------------------------------------------------------*/
+BOOL appendDictionary(char ***dictionary, int *i, char ***data, int *sizedata)
+{
+ BOOL bOK = FALSE;
+
+ if (*data)
+ {
+ *dictionary = mergearrays(*dictionary, *i, *data, *sizedata);
+ *i = *i + *sizedata;
+
+ FREE(*data);
+ *data = NULL;
+ *sizedata = 0;
+ bOK = TRUE;
+ }
+ return bOK;
+}
+
+/*--------------------------------------------------------------------------*/
+static char **mergearrays(char **array1, int pos, char **array2, int sizearray2)
+{
+ if (array1 && array2)
+ {
+ int j = 0;
+
+ for (j = 0; j < sizearray2; j++)
+ {
+ array1[pos] = array2[j];
+ pos++;
+ }
+ return array1;
+ }
+ return NULL;
+}
+
+/*--------------------------------------------------------------------------*/
+static int comparewords(const void *a, const void *b)
+{
+ return (strcmp(*(char **)a, *(char **)b));
+}
+
+/*--------------------------------------------------------------------------*/
+char **SortDictionary(char **Strings, int SizeStrings)
+{
+ qsort(Strings, SizeStrings, sizeof(char *), comparewords);
+ return Strings;
+}
+
+/*--------------------------------------------------------------------------*/
+char **RemoveDuplicateDictionary(char **Strings, int *SizeStrings)
+{
+ char **returnedArray = NULL;
+ int newsize = 0;
+
+ if (Strings)
+ {
+ int i = 0, j = 0;
+
+ for (i = j = 0; i < *SizeStrings - 1; i++)
+ {
+ if (strcmp(Strings[i], Strings[i + 1]))
+ {
+ Strings[j++] = Strings[i];
+ }
+ else
+ {
+ FREE(Strings[i]);
+ Strings[i] = NULL;
+ }
+ }
+ Strings[j++] = Strings[i];
+ newsize = j;
+
+ returnedArray = Strings;
+ if (returnedArray)
+ {
+ *SizeStrings = newsize;
+ }
+ }
+ return returnedArray;
+}
+
+/*--------------------------------------------------------------------------*/
diff --git a/modules/completion/src/c/toolsdictionary.h b/modules/completion/src/c/toolsdictionary.h
new file mode 100755
index 000000000..b0cb9df2b
--- /dev/null
+++ b/modules/completion/src/c/toolsdictionary.h
@@ -0,0 +1,65 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __TOOLSDICTIONARY_H__
+#define __TOOLSDICTIONARY_H__
+
+#include "BOOL.h"
+
+/**
+* Append Data to a dictionary(string matrix)
+* @param dictionary
+* @param i
+* @param data
+* @param sizedata
+* @return TRUE or FALSE
+*/
+BOOL appendDictionary(char ***dictionary, int *i, char ***data, int *sizedata);
+
+/**
+* sort dictionary
+* @param strings wto sort
+* @param size of new dictionary
+* @return result
+*/
+char **SortDictionary(char **Strings, int SizeStrings);
+
+/**
+* Remove duplicate words in a dictionary
+* @param strings where to search
+* @param[out] size of new dictionary
+* @return result
+*/
+char **RemoveDuplicateDictionary(char **Strings, int *SizeStrings);
+
+/**
+* free pointer
+* @param ptrD
+* @param sizeptrD
+*/
+#define freePointerDictionary(ptrD,sizeptrD) if (ptrD)\
+{\
+ int ifree =0;\
+ for (ifree = 0;ifree<(int)sizeptrD;ifree++)\
+ {\
+ if (ptrD[ifree])\
+ {\
+ FREE(ptrD[ifree]);\
+ ptrD[ifree] = NULL;\
+ }\
+ }\
+ FREE(ptrD);\
+ ptrD = NULL;\
+}
+
+#endif /* __TOOLSDICTIONARY_H__ */
+/*--------------------------------------------------------------------------*/