static void doCompletion(char *wk_buf, unsigned int *cursor, unsigned int *cursor_max) { char *LineBeforeCaret = getLineBeforeCaret(wk_buf, cursor); char *LineAfterCaret = getLineAfterCaret(wk_buf, cursor, cursor_max); char *fileSearchedPattern = getFilePartLevel(LineBeforeCaret); char *SearchedPattern = getPartLevel(LineBeforeCaret); char **completionDictionaryFiles = NULL; int sizecompletionDictionaryFiles = 0; completionDictionaryFiles = completionOnFiles(fileSearchedPattern, &sizecompletionDictionaryFiles); if (completionDictionaryFiles) { TermCompletionOnFiles(completionDictionaryFiles, sizecompletionDictionaryFiles, LineBeforeCaret, LineAfterCaret, fileSearchedPattern, SearchedPattern, wk_buf, cursor, cursor_max); freeArrayOfString(completionDictionaryFiles, sizecompletionDictionaryFiles); } else { TermCompletionOnAll(LineBeforeCaret, LineAfterCaret, SearchedPattern, wk_buf, cursor, cursor_max); } if (LineBeforeCaret) { FREE(LineBeforeCaret); LineBeforeCaret = NULL; } if (LineAfterCaret) { FREE(LineAfterCaret); LineAfterCaret = NULL; } if (fileSearchedPattern) { FREE(fileSearchedPattern); fileSearchedPattern = NULL; } if (SearchedPattern) { FREE(SearchedPattern); SearchedPattern = NULL; } }
/*--------------------------------------------------------------------------*/ void TermCompletion(void) { char *LineBeforeCaret = getLineBeforeCaret(); char *LineAfterCaret = getLineAfterCaret(); char *fileSearchedPattern = getFilePartLevel(LineBeforeCaret); char *SearchedPattern = getPartLevel(LineBeforeCaret); char **completionDictionaryFiles = NULL; int sizecompletionDictionaryFiles = 0; completionDictionaryFiles = completionOnFiles(fileSearchedPattern, &sizecompletionDictionaryFiles); if (completionDictionaryFiles) { TermCompletionOnFiles(completionDictionaryFiles, sizecompletionDictionaryFiles, LineBeforeCaret, LineAfterCaret, fileSearchedPattern, SearchedPattern); freeArrayOfString(completionDictionaryFiles, sizecompletionDictionaryFiles); } else { TermCompletionOnAll(LineBeforeCaret, LineAfterCaret, SearchedPattern); } if (LineBeforeCaret) { FREE(LineBeforeCaret); LineBeforeCaret = NULL; } if (LineAfterCaret) { FREE(LineAfterCaret); LineAfterCaret = NULL; } if (fileSearchedPattern) { FREE(fileSearchedPattern); fileSearchedPattern = NULL; } if (SearchedPattern) { FREE(SearchedPattern); SearchedPattern = NULL; } }