protected void addCompletions()

in src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageCompletionProvider.java [56:83]


  protected void addCompletions(@NotNull CompletionParameters completionParameters,
      @NotNull ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
    PsiElement originalPosition = completionParameters.getOriginalPosition();
    if (originalPosition != null) {
      Project project = originalPosition.getProject();
      if (CodeIgniterProjectSettings.getInstance(project).isEnabled()) {
        if (isFirstArgumentInLangCall(originalPosition)) {
          FileBasedIndex index = FileBasedIndex.getInstance();
          Collection<String> allKeys = index.getAllKeys(LanguageFileIndex.KEY, project);
          for (String key : allKeys) {
            index.getFilesWithKey(LanguageFileIndex.KEY, Collections.singleton(key),
                file -> {
                  LanguageLookupElement lookupElement = new LanguageLookupElement(
                      StringUtil.unquoteString(key),
                      file
                  );
                  completionResultSet.addElement(lookupElement);
                  return false;
                }, GlobalSearchScope.getScopeRestrictedByFileTypes(
                    GlobalSearchScope.allScope(project),
                    PhpFileType.INSTANCE
                )
            );
          }
        }
      }
    }
  }