Java Code Examples for org.eclipse.lsp4j.jsonrpc.messages.Either#getLeft()
The following examples show how to use
org.eclipse.lsp4j.jsonrpc.messages.Either#getLeft() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: GroovyServicesCompletionTests.java From groovy-language-server with Apache License 2.0 | 6 votes |
@Test void testCompletionForLocalVariableOnPartialVariableExpression() throws Exception { Path filePath = srcRoot.resolve("Completion.groovy"); String uri = filePath.toUri().toString(); StringBuilder contents = new StringBuilder(); contents.append("class Completion {\n"); contents.append(" public void testMethod(String paramName) {\n"); contents.append(" String localVar\n"); contents.append(" loc\n"); contents.append(" }\n"); contents.append("}"); TextDocumentItem textDocumentItem = new TextDocumentItem(uri, LANGUAGE_GROOVY, 1, contents.toString()); services.didOpen(new DidOpenTextDocumentParams(textDocumentItem)); TextDocumentIdentifier textDocument = new TextDocumentIdentifier(uri); Position position = new Position(3, 7); Either<List<CompletionItem>, CompletionList> result = services .completion(new CompletionParams(textDocument, position)).get(); Assertions.assertTrue(result.isLeft()); List<CompletionItem> items = result.getLeft(); List<CompletionItem> filteredItems = items.stream().filter(item -> { return item.getLabel().equals("localVar") && item.getKind().equals(CompletionItemKind.Variable); }).collect(Collectors.toList()); Assertions.assertEquals(1, filteredItems.size()); }
Example 2
Source File: GroovyServicesCompletionTests.java From groovy-language-server with Apache License 2.0 | 6 votes |
@Test void testCompletionForParameterOnCompleteVariableExpression() throws Exception { Path filePath = srcRoot.resolve("Completion.groovy"); String uri = filePath.toUri().toString(); StringBuilder contents = new StringBuilder(); contents.append("class Completion {\n"); contents.append(" public void testMethod(String paramName) {\n"); contents.append(" paramName\n"); contents.append(" }\n"); contents.append("}"); TextDocumentItem textDocumentItem = new TextDocumentItem(uri, LANGUAGE_GROOVY, 1, contents.toString()); services.didOpen(new DidOpenTextDocumentParams(textDocumentItem)); TextDocumentIdentifier textDocument = new TextDocumentIdentifier(uri); Position position = new Position(2, 13); Either<List<CompletionItem>, CompletionList> result = services .completion(new CompletionParams(textDocument, position)).get(); Assertions.assertTrue(result.isLeft()); List<CompletionItem> items = result.getLeft(); List<CompletionItem> filteredItems = items.stream().filter(item -> { return item.getLabel().equals("paramName") && item.getKind().equals(CompletionItemKind.Variable); }).collect(Collectors.toList()); Assertions.assertEquals(1, filteredItems.size()); }
Example 3
Source File: GroovyServicesCompletionTests.java From groovy-language-server with Apache License 2.0 | 6 votes |
@Test void testMemberAccessOnThisAfterDot() throws Exception { Path filePath = srcRoot.resolve("Completion.groovy"); String uri = filePath.toUri().toString(); StringBuilder contents = new StringBuilder(); contents.append("class Completion {\n"); contents.append(" String memberVar\n"); contents.append(" public Completion() {\n"); contents.append(" this.\n"); contents.append(" }\n"); contents.append("}"); TextDocumentItem textDocumentItem = new TextDocumentItem(uri, LANGUAGE_GROOVY, 1, contents.toString()); services.didOpen(new DidOpenTextDocumentParams(textDocumentItem)); TextDocumentIdentifier textDocument = new TextDocumentIdentifier(uri); Position position = new Position(3, 9); Either<List<CompletionItem>, CompletionList> result = services .completion(new CompletionParams(textDocument, position)).get(); Assertions.assertTrue(result.isLeft()); List<CompletionItem> items = result.getLeft(); Assertions.assertTrue(items.size() > 0); List<CompletionItem> filteredItems = items.stream().filter(item -> { return item.getLabel().equals("memberVar") && item.getKind().equals(CompletionItemKind.Field); }).collect(Collectors.toList()); Assertions.assertEquals(1, filteredItems.size()); }
Example 4
Source File: GroovyServicesCompletionTests.java From groovy-language-server with Apache License 2.0 | 6 votes |
@Test void testMemberAccessOnClassAfterDot() throws Exception { Path filePath = srcRoot.resolve("Completion.groovy"); String uri = filePath.toUri().toString(); StringBuilder contents = new StringBuilder(); contents.append("class Completion {\n"); contents.append(" public Completion() {\n"); contents.append(" Completion.\n"); contents.append(" }\n"); contents.append(" public static void staticMethod() {}\n"); contents.append("}"); TextDocumentItem textDocumentItem = new TextDocumentItem(uri, LANGUAGE_GROOVY, 1, contents.toString()); services.didOpen(new DidOpenTextDocumentParams(textDocumentItem)); TextDocumentIdentifier textDocument = new TextDocumentIdentifier(uri); Position position = new Position(2, 15); Either<List<CompletionItem>, CompletionList> result = services .completion(new CompletionParams(textDocument, position)).get(); Assertions.assertTrue(result.isLeft()); List<CompletionItem> items = result.getLeft(); Assertions.assertTrue(items.size() > 0); List<CompletionItem> filteredItems = items.stream().filter(item -> { return item.getLabel().equals("staticMethod") && item.getKind().equals(CompletionItemKind.Method); }).collect(Collectors.toList()); Assertions.assertEquals(1, filteredItems.size()); }
Example 5
Source File: GroovyServicesCompletionTests.java From groovy-language-server with Apache License 2.0 | 6 votes |
@Test void testCompletionForMemberVariableOnCompleteVariableExpression() throws Exception { Path filePath = srcRoot.resolve("Completion.groovy"); String uri = filePath.toUri().toString(); StringBuilder contents = new StringBuilder(); contents.append("class Completion {\n"); contents.append(" String memberVar\n"); contents.append(" public Completion() {\n"); contents.append(" memberVar\n"); contents.append(" }\n"); contents.append("}"); TextDocumentItem textDocumentItem = new TextDocumentItem(uri, LANGUAGE_GROOVY, 1, contents.toString()); services.didOpen(new DidOpenTextDocumentParams(textDocumentItem)); TextDocumentIdentifier textDocument = new TextDocumentIdentifier(uri); Position position = new Position(3, 7); Either<List<CompletionItem>, CompletionList> result = services .completion(new CompletionParams(textDocument, position)).get(); Assertions.assertTrue(result.isLeft()); List<CompletionItem> items = result.getLeft(); List<CompletionItem> filteredItems = items.stream().filter(item -> { return item.getLabel().equals("memberVar") && item.getKind().equals(CompletionItemKind.Field); }).collect(Collectors.toList()); Assertions.assertEquals(1, filteredItems.size()); }
Example 6
Source File: GroovyServicesCompletionTests.java From groovy-language-server with Apache License 2.0 | 6 votes |
@Test void testMemberAccessOnLocalVariableWithPartialPropertyExpression() throws Exception { Path filePath = srcRoot.resolve("Completion.groovy"); String uri = filePath.toUri().toString(); StringBuilder contents = new StringBuilder(); contents.append("class Completion {\n"); contents.append(" public Completion() {\n"); contents.append(" String localVar\n"); contents.append(" localVar.charA\n"); contents.append(" }\n"); contents.append("}"); TextDocumentItem textDocumentItem = new TextDocumentItem(uri, LANGUAGE_GROOVY, 1, contents.toString()); services.didOpen(new DidOpenTextDocumentParams(textDocumentItem)); TextDocumentIdentifier textDocument = new TextDocumentIdentifier(uri); Position position = new Position(3, 18); Either<List<CompletionItem>, CompletionList> result = services .completion(new CompletionParams(textDocument, position)).get(); Assertions.assertTrue(result.isLeft()); List<CompletionItem> items = result.getLeft(); List<CompletionItem> filteredItems = items.stream().filter(item -> { return item.getLabel().equals("charAt") && item.getKind().equals(CompletionItemKind.Method); }).collect(Collectors.toList()); Assertions.assertEquals(1, filteredItems.size()); }
Example 7
Source File: SourceAssistProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 6 votes |
private void addSourceActionCommand(List<Either<Command, CodeAction>> result, CodeActionContext context, Optional<Either<Command, CodeAction>> target) { if (!target.isPresent()) { return; } Either<Command, CodeAction> targetAction = target.get(); if (context.getOnly() != null && !context.getOnly().isEmpty()) { Stream<String> acceptedActionKinds = context.getOnly().stream(); String actionKind = targetAction.getLeft() == null ? targetAction.getRight().getKind() : targetAction.getLeft().getCommand(); if (!acceptedActionKinds.filter(kind -> actionKind != null && actionKind.startsWith(kind)).findFirst().isPresent()) { return; } } result.add(targetAction); }
Example 8
Source File: GroovyServicesCompletionTests.java From groovy-language-server with Apache License 2.0 | 6 votes |
@Test void testMemberAccessOnLocalVariableWithExistingMethodCallExpressionOnNextLine() throws Exception { Path filePath = srcRoot.resolve("Completion.groovy"); String uri = filePath.toUri().toString(); StringBuilder contents = new StringBuilder(); contents.append("class Completion {\n"); contents.append(" public Completion() {\n"); contents.append(" String localVar\n"); contents.append(" localVar.\n"); contents.append(" method()\n"); contents.append(" }\n"); contents.append("}"); TextDocumentItem textDocumentItem = new TextDocumentItem(uri, LANGUAGE_GROOVY, 1, contents.toString()); services.didOpen(new DidOpenTextDocumentParams(textDocumentItem)); TextDocumentIdentifier textDocument = new TextDocumentIdentifier(uri); Position position = new Position(3, 13); Either<List<CompletionItem>, CompletionList> result = services .completion(new CompletionParams(textDocument, position)).get(); Assertions.assertTrue(result.isLeft()); List<CompletionItem> items = result.getLeft(); Assertions.assertTrue(items.size() > 0); List<CompletionItem> filteredItems = items.stream().filter(item -> { return item.getLabel().equals("charAt") && item.getKind().equals(CompletionItemKind.Method); }).collect(Collectors.toList()); Assertions.assertEquals(1, filteredItems.size()); }
Example 9
Source File: CustomContentAssistService.java From solidity-ide with Eclipse Public License 1.0 | 5 votes |
@Override protected CompletionItem toCompletionItem(ContentAssistEntry entry, int caretOffset, Position caretPosition, Document document) { CompletionItem completionItem = super.toCompletionItem(entry, caretOffset, caretPosition, document); Either<String, MarkupContent> documentation = completionItem.getDocumentation(); if (documentation != null && documentation.getLeft() == null && documentation.getRight()==null) { completionItem.setDocumentation((Either<String,MarkupContent>)null); } return completionItem; }
Example 10
Source File: AbstractLanguageServerTest.java From xtext-core with Eclipse Public License 2.0 | 5 votes |
protected void testDocumentSymbol(final Procedure1<? super DocumentSymbolConfiguraiton> configurator) { try { @Extension final DocumentSymbolConfiguraiton configuration = new DocumentSymbolConfiguraiton(); configuration.setFilePath(("MyModel." + this.fileExtension)); configurator.apply(configuration); final String fileUri = this.initializeContext(configuration).getUri(); TextDocumentIdentifier _textDocumentIdentifier = new TextDocumentIdentifier(fileUri); DocumentSymbolParams _documentSymbolParams = new DocumentSymbolParams(_textDocumentIdentifier); final CompletableFuture<List<Either<SymbolInformation, DocumentSymbol>>> symbolsFuture = this.languageServer.documentSymbol(_documentSymbolParams); final List<Either<SymbolInformation, DocumentSymbol>> symbols = symbolsFuture.get(); Procedure1<? super List<Either<SymbolInformation, DocumentSymbol>>> _assertSymbols = configuration.getAssertSymbols(); boolean _tripleNotEquals = (_assertSymbols != null); if (_tripleNotEquals) { configuration.getAssertSymbols().apply(symbols); } else { final Function1<Either<SymbolInformation, DocumentSymbol>, Object> _function = (Either<SymbolInformation, DocumentSymbol> it) -> { Object _xifexpression = null; if (this.hierarchicalDocumentSymbolSupport) { _xifexpression = it.getRight(); } else { _xifexpression = it.getLeft(); } return _xifexpression; }; final List<Object> unwrappedSymbols = ListExtensions.<Either<SymbolInformation, DocumentSymbol>, Object>map(symbols, _function); final String actualSymbols = this.toExpectation(unwrappedSymbols); this.assertEquals(configuration.getExpectedSymbols(), actualSymbols); } } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } }
Example 11
Source File: LSPGotoDeclarationHandler.java From intellij-quarkus with Eclipse Public License 2.0 | 5 votes |
/** * Unify the definition result has a list of Location. * * @param definitions the definition result * @return the list of locations */ private List<? extends Location> toLocation(Either<List<? extends Location>, List<? extends LocationLink>> definitions) { if (definitions.isLeft()) { return definitions.getLeft(); } else { return definitions.getRight().stream().map(link -> new Location(link.getTargetUri(), link.getTargetRange())).collect(Collectors.toList()); } }
Example 12
Source File: StringLSP4J.java From n4js with Eclipse Public License 1.0 | 5 votes |
/** @return string for given element */ public String toString5(Either<String, MarkupContent> strOrMarkupContent) { if (strOrMarkupContent == null) { return ""; } if (strOrMarkupContent.isLeft()) { return strOrMarkupContent.getLeft(); } else { return toString(strOrMarkupContent.getRight()); } }
Example 13
Source File: ReorgQuickFixTest.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 5 votes |
private WorkspaceEdit getWorkspaceEdit(Either<Command, CodeAction> codeAction) { Command c = codeAction.isLeft() ? codeAction.getLeft() : codeAction.getRight().getCommand(); assertEquals(CodeActionHandler.COMMAND_ID_APPLY_EDIT, c.getCommand()); assertNotNull(c.getArguments()); assertTrue(c.getArguments().get(0) instanceof WorkspaceEdit); return (WorkspaceEdit) c.getArguments().get(0); }
Example 14
Source File: AbstractQuickFixTest.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 5 votes |
protected String evaluateCodeActionCommand(Either<Command, CodeAction> codeAction) throws BadLocationException, JavaModelException { Command c = codeAction.isLeft() ? codeAction.getLeft() : codeAction.getRight().getCommand(); Assert.assertEquals(CodeActionHandler.COMMAND_ID_APPLY_EDIT, c.getCommand()); Assert.assertNotNull(c.getArguments()); Assert.assertTrue(c.getArguments().get(0) instanceof WorkspaceEdit); WorkspaceEdit we = (WorkspaceEdit) c.getArguments().get(0); if (we.getDocumentChanges() != null) { return evaluateChanges(we.getDocumentChanges()); } return evaluateChanges(we.getChanges()); }
Example 15
Source File: UnknownProjectConfigTest.java From xtext-core with Eclipse Public License 2.0 | 4 votes |
protected void checkCompletion(final String uri) { try { CompletionParams _completionParams = new CompletionParams(); final Procedure1<CompletionParams> _function = (CompletionParams it) -> { TextDocumentIdentifier _textDocumentIdentifier = new TextDocumentIdentifier(uri); it.setTextDocument(_textDocumentIdentifier); Position _position = new Position(0, 10); it.setPosition(_position); }; CompletionParams _doubleArrow = ObjectExtensions.<CompletionParams>operator_doubleArrow(_completionParams, _function); final CompletableFuture<Either<List<CompletionItem>, CompletionList>> completionItems = this.languageServer.completion(_doubleArrow); final Either<List<CompletionItem>, CompletionList> result = completionItems.get(); List<CompletionItem> _xifexpression = null; boolean _isLeft = result.isLeft(); if (_isLeft) { _xifexpression = result.getLeft(); } else { _xifexpression = result.getRight().getItems(); } final List<CompletionItem> items = _xifexpression; final String actualCompletionItems = this.toExpectation(items); StringConcatenation _builder = new StringConcatenation(); _builder.append("Foo (TypeDeclaration) -> Foo [[0, 10] .. [0, 10]]"); _builder.newLine(); _builder.append("boolean -> boolean [[0, 10] .. [0, 10]]"); _builder.newLine(); _builder.append("int -> int [[0, 10] .. [0, 10]]"); _builder.newLine(); _builder.append("op -> op [[0, 10] .. [0, 10]]"); _builder.newLine(); _builder.append("string -> string [[0, 10] .. [0, 10]]"); _builder.newLine(); _builder.append("void -> void [[0, 10] .. [0, 10]]"); _builder.newLine(); _builder.append("} -> } [[0, 10] .. [0, 10]]"); _builder.newLine(); _builder.append("{ -> { [[0, 9] .. [0, 10]]"); _builder.newLine(); _builder.append(" "); _builder.append("+ } [[0, 11] .. [0, 11]]"); _builder.newLine(); final String expectedCompletionItems = _builder.toString(); this.assertEquals(expectedCompletionItems, actualCompletionItems); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } }
Example 16
Source File: AbstractQuickFixTest.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 4 votes |
public Command getCommand(Either<Command, CodeAction> codeAction) { return codeAction.isLeft() ? codeAction.getLeft() : codeAction.getRight().getCommand(); }
Example 17
Source File: DefaultRequestManager.java From MSPaintIDE with MIT License | 4 votes |
private boolean checkProvider(Either<Boolean, StaticRegistrationOptions> provider) { return provider != null && ((provider.isLeft() && provider.getLeft()) || (provider.isRight() && provider.getRight() != null)); }
Example 18
Source File: DefaultRequestManager.java From lsp4intellij with Apache License 2.0 | 4 votes |
private boolean checkCodeActionProvider(Either<Boolean, CodeActionOptions> provider) { return provider != null && ((provider.isLeft() && provider.getLeft()) || (provider.isRight() && provider.getRight() != null)); }
Example 19
Source File: ClientPreferences.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 4 votes |
private boolean isTagSupported(Either<Boolean, DiagnosticsTagSupport> tagSupport) { return tagSupport.isLeft() ? tagSupport.getLeft() : tagSupport.getRight().getValueSet() != null; }
Example 20
Source File: LSContentAssistProcessor.java From intellij-quarkus with Eclipse Public License 2.0 | 4 votes |
private Collection<? extends LookupElement> toProposals(Project project, Editor editor, Document document, int offset, Either<List<CompletionItem>, CompletionList> completion, LanguageServer languageServer) { List<CompletionItem> items = completion.isLeft()?completion.getLeft():completion.getRight().getItems(); return items.stream().map(item -> createLookupItem(project, editor, offset, item, languageServer)).collect(Collectors.toList()); //return Collections.singletonList(LookupElementBuilder.create("quarkus.application.name=").withPresentableText("quarkus.application.name=")); }