protected void addCompletions()

in src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigCompletionProvider.java [53:82]


  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 (isConfigItemNameElement(originalPosition)) {
          FileBasedIndex index = FileBasedIndex.getInstance();
          Collection<String> allKeys = index.getAllKeys(ConfigFileIndex.KEY, project);
          for (String key : allKeys) {
            index.getFilesWithKey(ConfigFileIndex.KEY, Collections.singleton(key),
                file -> {
                  ConfigLookupElement lookupElement = new ConfigLookupElement(
                      StringUtil.unquoteString(key),
                      file
                  );
                  completionResultSet.addElement(lookupElement);
                  return false;
                }, GlobalSearchScope.getScopeRestrictedByFileTypes(
                    GlobalSearchScope.allScope(project),
                    PhpFileType.INSTANCE
                )
            );
          }
        }
      }
    }
  }