Search in sources :

Example 16 with ICompletionProposal

use of org.springframework.ide.vscode.commons.languageserver.completion.ICompletionProposal in project sts4 by spring-projects.

the class GithubRepoContentAssistant method getOwnerOrRepoCompletions.

private List<ICompletionProposal> getOwnerOrRepoCompletions(CompletionFactory f, DocumentRegion ownerAndRepoRegion) {
    try {
        int slash = ownerAndRepoRegion.indexOf('/');
        if (slash >= 0) {
            DocumentRegion owner = ownerAndRepoRegion.subSequence(0, slash);
            return getRepoCompletions(f, owner, ownerAndRepoRegion.subSequence(slash + 1));
        } else {
            Collection<String> owners = github.getOwners();
            DocumentRegion query = ownerAndRepoRegion;
            if (!owners.isEmpty()) {
                List<ICompletionProposal> proposals = new ArrayList<>(owners.size());
                for (String owner : owners) {
                    if (FuzzyMatcher.matchScore(query, owner) != 0.0) {
                        proposals.add(SimpleCompletionFactory.simpleProposal(query, CompletionItemKind.Text, owner + "/", null, null));
                    }
                }
                return proposals;
            } else {
                return ImmutableList.of();
            }
        }
    } catch (Exception e) {
        return ImmutableList.of(f.errorMessage(ownerAndRepoRegion.toString(), ExceptionUtil.getMessageNoAppendedInformation(e)));
    }
}
Also used : DocumentRegion(org.springframework.ide.vscode.commons.util.text.DocumentRegion) ICompletionProposal(org.springframework.ide.vscode.commons.languageserver.completion.ICompletionProposal) ArrayList(java.util.ArrayList)

Aggregations

ICompletionProposal (org.springframework.ide.vscode.commons.languageserver.completion.ICompletionProposal)16 ArrayList (java.util.ArrayList)14 DocumentEdits (org.springframework.ide.vscode.commons.languageserver.completion.DocumentEdits)7 DocumentRegion (org.springframework.ide.vscode.commons.util.text.DocumentRegion)7 CommonLanguageTools.getValueType (org.springframework.ide.vscode.boot.common.CommonLanguageTools.getValueType)3 PropertyInfo (org.springframework.ide.vscode.boot.metadata.PropertyInfo)3 Type (org.springframework.ide.vscode.boot.metadata.types.Type)3 Annotation (org.eclipse.jdt.core.dom.Annotation)2 MemberValuePair (org.eclipse.jdt.core.dom.MemberValuePair)2 SimpleName (org.eclipse.jdt.core.dom.SimpleName)2 StringLiteral (org.eclipse.jdt.core.dom.StringLiteral)2 StsValueHint (org.springframework.ide.vscode.boot.metadata.hints.StsValueHint)2 ScoreableProposal (org.springframework.ide.vscode.commons.languageserver.completion.ScoreableProposal)2 BadLocationException (org.springframework.ide.vscode.commons.util.BadLocationException)2 Match (org.springframework.ide.vscode.commons.util.FuzzyMap.Match)2 ValueParseException (org.springframework.ide.vscode.commons.util.ValueParseException)2 ISubCompletionEngine (org.springframework.ide.vscode.commons.yaml.schema.ISubCompletionEngine)2 YValueHint (org.springframework.ide.vscode.commons.yaml.schema.YValueHint)2 YamlIndentUtil (org.springframework.ide.vscode.commons.yaml.util.YamlIndentUtil)2 Strings (com.google.common.base.Strings)1