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<? extends SymbolInformation>> symbolsFuture = this.languageServer.documentSymbol(_documentSymbolParams); final List<? extends SymbolInformation> symbols = symbolsFuture.get(); Procedure1<? super List<? extends SymbolInformation>> _assertSymbols = configuration.getAssertSymbols(); boolean _tripleNotEquals = (_assertSymbols != null); if (_tripleNotEquals) { configuration.getAssertSymbols().apply(symbols); } else { final String actualSymbols = this.toExpectation(symbols); this.assertEquals(configuration.getExpectedSymbols(), actualSymbols); } } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } }
@Override public CompletableFuture<List<? extends SymbolInformation>> documentSymbol(final DocumentSymbolParams params) { final Function1<CancelIndicator, List<? extends SymbolInformation>> _function = (CancelIndicator cancelIndicator) -> { final URI uri = this._uriExtensions.toUri(params.getTextDocument().getUri()); final IResourceServiceProvider resourceServiceProvider = this.languagesRegistry.getResourceServiceProvider(uri); DocumentSymbolService _get = null; if (resourceServiceProvider!=null) { _get=resourceServiceProvider.<DocumentSymbolService>get(DocumentSymbolService.class); } final DocumentSymbolService documentSymbolService = _get; if ((documentSymbolService == null)) { return CollectionLiterals.<SymbolInformation>emptyList(); } final Function2<Document, XtextResource, List<? extends SymbolInformation>> _function_1 = (Document document, XtextResource resource) -> { return documentSymbolService.getSymbols(document, resource, params, cancelIndicator); }; return this.workspaceManager.<List<? extends SymbolInformation>>doRead(uri, _function_1); }; return this.requestManager.<List<? extends SymbolInformation>>runRead(_function); }
@Override public void actionPerformed(ActionEvent e) { DocumentSymbolParams paramsDTO = dtoFactory.createDto(DocumentSymbolParams.class); TextDocumentIdentifier identifierDTO = dtoFactory.createDto(TextDocumentIdentifier.class); identifierDTO.setUri( editorAgent.getActiveEditor().getEditorInput().getFile().getLocation().toString()); paramsDTO.setTextDocument(identifierDTO); activeEditor = (TextEditor) editorAgent.getActiveEditor(); cursorPosition = activeEditor.getDocument().getCursorPosition(); client .documentSymbol(paramsDTO) .then( arg -> { cachedItems = arg; presenter.run(GoToSymbolAction.this); }) .catchError( arg -> { notificationManager.notify( "Can't fetch document symbols.", arg.getMessage(), StatusNotification.Status.FAIL, StatusNotification.DisplayMode.FLOAT_MODE); }); }
@Override public CompletableFuture<List<? extends SymbolInformation>> documentSymbol( final DocumentSymbolParams params) { List<? extends SymbolInformation> result = som.getSymbolInfo(params.getTextDocument().getUri()); return CompletableFuture.completedFuture(result); }
public List<? extends SymbolInformation> documentSymbol(DocumentSymbolParams params, IProgressMonitor monitor) { ITypeRoot unit = JDTUtils.resolveTypeRoot(params.getTextDocument().getUri()); if (unit == null) { return Collections.emptyList(); } SymbolInformation[] elements = this.getOutline(unit, monitor); return Arrays.asList(elements); }
private List<? extends SymbolInformation> getSymbols(String className) throws JavaModelException, UnsupportedEncodingException, InterruptedException, ExecutionException { String uri = ClassFileUtil.getURI(project, className); TextDocumentIdentifier identifier = new TextDocumentIdentifier(uri); DocumentSymbolParams params = new DocumentSymbolParams(); params.setTextDocument(identifier); List<? extends SymbolInformation> symbols = handler.documentSymbol(params, monitor); assertTrue(symbols.size() > 0); return symbols; }
@Override public CompletableFuture<List<? extends SymbolInformation>> documentSymbol(DocumentSymbolParams params) { LOGGER.info("documentSymbol: " + params.getTextDocument()); return CompletableFuture.completedFuture(Collections.emptyList()); }
@Override public CompletableFuture<List<? extends SymbolInformation>> documentSymbol(DocumentSymbolParams params) { logInfo(">> document/documentSymbol"); DocumentSymbolHandler handler = new DocumentSymbolHandler(); return computeAsync((cc) -> handler.documentSymbol(params, toMonitor(cc))); }
public List<? extends SymbolInformation> getSymbols(final Document document, final XtextResource resource, final DocumentSymbolParams params, final CancelIndicator cancelIndicator) { return this.getSymbols(resource, cancelIndicator); }
@Override public CompletableFuture<List<? extends SymbolInformation>> documentSymbol(DocumentSymbolParams params) { throw new UnsupportedOperationException(); }
@Override public CompletableFuture<List<? extends SymbolInformation>> documentSymbol( DocumentSymbolParams params) { return null; }
@PostConstruct public void configureMethods() { dtoToDtoList( "definition", TextDocumentPositionParams.class, LocationDto.class, this::definition); dtoToDtoList("codeAction", CodeActionParams.class, CommandDto.class, this::codeAction); dtoToDtoList( "documentSymbol", DocumentSymbolParams.class, SymbolInformationDto.class, this::documentSymbol); dtoToDtoList("formatting", DocumentFormattingParams.class, TextEditDto.class, this::formatting); dtoToDtoList( "rangeFormatting", DocumentRangeFormattingParams.class, TextEditDto.class, this::rangeFormatting); dtoToDtoList("references", ReferenceParams.class, LocationDto.class, this::references); dtoToDtoList( "onTypeFormatting", DocumentOnTypeFormattingParams.class, TextEditDto.class, this::onTypeFormatting); dtoToDto( "completionItem/resolve", ExtendedCompletionItem.class, ExtendedCompletionItemDto.class, this::completionItemResolve); dtoToDto( "documentHighlight", TextDocumentPositionParams.class, DocumentHighlight.class, this::documentHighlight); dtoToDto( "completion", TextDocumentPositionParams.class, ExtendedCompletionListDto.class, this::completion); dtoToDto("hover", TextDocumentPositionParams.class, HoverDto.class, this::hover); dtoToDto( "signatureHelp", TextDocumentPositionParams.class, SignatureHelpDto.class, this::signatureHelp); dtoToDto("rename", RenameParams.class, RenameResultDto.class, this::rename); dtoToNothing("didChange", DidChangeTextDocumentParams.class, this::didChange); dtoToNothing("didClose", DidCloseTextDocumentParams.class, this::didClose); dtoToNothing("didOpen", DidOpenTextDocumentParams.class, this::didOpen); dtoToNothing("didSave", DidSaveTextDocumentParams.class, this::didSave); }
/** * The document symbol request is sent from the client to the server to list * all symbols found in a given text document. * * Registration Options: TextDocumentRegistrationOptions */ @JsonRequest CompletableFuture<List<? extends SymbolInformation>> documentSymbol(DocumentSymbolParams params);
/** * GWT client implementation of {@link TextDocumentService#documentSymbol(DocumentSymbolParams)} * * @param params * @return */ public Promise<List<SymbolInformation>> documentSymbol(DocumentSymbolParams params) { return transmitDtoAndReceiveDtoList( params, "textDocument/documentSymbol", SymbolInformation.class); }