예제 #1
0
/*--------------------------------------------------------------------------*/
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;
    }
}
예제 #2
0
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;
    }
}
/*--------------------------------------------------------------------------*/
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;
}