类org.eclipse.lsp4j.WorkspaceSymbolParams源码实例Demo

下面列出了怎么用org.eclipse.lsp4j.WorkspaceSymbolParams的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: xtext-core   文件: AbstractLanguageServerTest.java
protected void testSymbol(final Procedure1<? super WorkspaceSymbolConfiguration> configurator) {
  try {
    @Extension
    final WorkspaceSymbolConfiguration configuration = new WorkspaceSymbolConfiguration();
    configuration.setFilePath(("MyModel." + this.fileExtension));
    configurator.apply(configuration);
    this.initializeContext(configuration);
    String _query = configuration.getQuery();
    WorkspaceSymbolParams _workspaceSymbolParams = new WorkspaceSymbolParams(_query);
    final List<? extends SymbolInformation> symbols = this.languageServer.symbol(_workspaceSymbolParams).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);
  }
}
 
源代码2 项目: lsp4intellij   文件: WorkspaceSymbolProvider.java
public List<LSPNavigationItem> workspaceSymbols(String name, Project project) {
  final Set<LanguageServerWrapper> serverWrappers = IntellijLanguageClient
      .getProjectToLanguageWrappers()
      .getOrDefault(FileUtils.projectToUri(project), Collections.emptySet());

  final WorkspaceSymbolParams symbolParams = new WorkspaceSymbolParams(name);
  return serverWrappers.stream().filter(s -> s.getStatus() == ServerStatus.INITIALIZED)
      .flatMap(server -> collectSymbol(server, server.getRequestManager(), symbolParams))
      .map(s -> createNavigationItem(s, project)).filter(Objects::nonNull).collect(Collectors.toList());
}
 
源代码3 项目: eclipse.jdt.ls   文件: JDTLanguageServer.java
@Override
public CompletableFuture<List<? extends SymbolInformation>> symbol(WorkspaceSymbolParams params) {
	logInfo(">> workspace/symbol");
	return computeAsync((monitor) -> {
		return WorkspaceSymbolHandler.search(params.getQuery(), monitor);
	});
}
 
源代码4 项目: vscode-as3mxml   文件: ActionScriptServices.java
/**
 * Searches by name for a symbol in the workspace.
 */
@Override
public CompletableFuture<List<? extends SymbolInformation>> symbol(WorkspaceSymbolParams params)
{
    return CompletableFutures.computeAsync(compilerWorkspace.getExecutorService(), cancelToken ->
    {
        cancelToken.checkCanceled();

        //make sure that the latest changes have been passed to
        //workspace.fileChanged() before proceeding
        if(realTimeProblemsChecker != null)
        {
            realTimeProblemsChecker.updateNow();
        }

        compilerWorkspace.startBuilding();
        try
        {
            WorkspaceSymbolProvider provider = new WorkspaceSymbolProvider(workspaceFolderManager);
            return provider.workspaceSymbol(params, cancelToken);
        }
        finally
        {
            compilerWorkspace.doneBuilding();
        }
    });
}
 
源代码5 项目: groovy-language-server   文件: GroovyServices.java
@Override
public CompletableFuture<List<? extends SymbolInformation>> symbol(WorkspaceSymbolParams params) {
	WorkspaceSymbolProvider provider = new WorkspaceSymbolProvider(astVisitor);
	return provider.provideWorkspaceSymbols(params.getQuery());
}
 
源代码6 项目: lemminx   文件: XMLWorkspaceService.java
@Override
public CompletableFuture<List<? extends SymbolInformation>> symbol(WorkspaceSymbolParams params) {
	return null;
}
 
@Override
public CompletableFuture<List<? extends SymbolInformation>> symbol(WorkspaceSymbolParams params) {
	LOGGER.info("SERVER: symbolQuery: {}", params.getQuery());
	return CompletableFuture.completedFuture(Collections.emptyList());
}
 
源代码8 项目: n4js   文件: XLanguageServerImpl.java
@Override
public CompletableFuture<List<? extends SymbolInformation>> symbol(WorkspaceSymbolParams params) {
	return lspExecutorService.submitAndCancelPrevious(WorkspaceSymbolParams.class, "symbol",
			cancelIndicator -> symbol(params, cancelIndicator));
}
 
源代码9 项目: n4js   文件: XLanguageServerImpl.java
/**
 * Compute the symbol information. Executed in a read request.
 */
protected List<? extends SymbolInformation> symbol(WorkspaceSymbolParams params, CancelIndicator cancelIndicator) {
	return workspaceSymbolService.getSymbols(params.getQuery(), resourceAccess,
			openFilesManager.createLiveScopeIndex(), cancelIndicator);
}
 
源代码10 项目: netbeans   文件: WorkspaceServiceImpl.java
@Override
public CompletableFuture<List<? extends SymbolInformation>> symbol(WorkspaceSymbolParams arg0) {
    throw new UnsupportedOperationException("Not supported yet.");
}
 
源代码11 项目: syndesis   文件: TeiidDdlWorkspaceService.java
@Override
public CompletableFuture<List<? extends SymbolInformation>> symbol(WorkspaceSymbolParams params) {

    return CompletableFuture.completedFuture(Collections.emptyList());
}
 
源代码12 项目: vscode-as3mxml   文件: WorkspaceSymbolProvider.java
public List<? extends SymbolInformation> workspaceSymbol(WorkspaceSymbolParams params, CancelChecker cancelToken)
{
	cancelToken.checkCanceled();
	Set<String> qualifiedNames = new HashSet<>();
	List<SymbolInformation> result = new ArrayList<>();
	String query = params.getQuery();
	StringBuilder currentQuery = new StringBuilder();
	List<String> queries = new ArrayList<>();
	for(int i = 0, length = query.length(); i < length; i++)
	{
		String charAtI = query.substring(i, i + 1);
		if(i > 0 && charAtI.toUpperCase().equals(charAtI))
		{
			queries.add(currentQuery.toString().toLowerCase());
			currentQuery = new StringBuilder();
		}
		currentQuery.append(charAtI);
	}
	if(currentQuery.length() > 0)
	{
		queries.add(currentQuery.toString().toLowerCase());
	}
	for (WorkspaceFolder folder : workspaceFolderManager.getWorkspaceFolders())
	{
		WorkspaceFolderData folderData = workspaceFolderManager.getWorkspaceFolderData(folder);
		ILspProject project = folderData.project;
		if (project == null)
		{
			continue;
		}
		for (ICompilationUnit unit : project.getCompilationUnits())
		{
			if (unit == null)
			{
				continue;
			}
			UnitType unitType = unit.getCompilationUnitType();
			if (UnitType.SWC_UNIT.equals(unitType))
			{
				List<IDefinition> definitions = unit.getDefinitionPromises();
				for (IDefinition definition : definitions)
				{
					if (definition instanceof DefinitionPromise)
					{
						//we won't be able to detect what type of definition
						//this is without getting the actual definition from the
						//promise.
						DefinitionPromise promise = (DefinitionPromise) definition;
						definition = promise.getActualDefinition();
					}
					if (definition.isImplicit())
					{
						continue;
					}
					if (!matchesQueries(queries, definition.getQualifiedName()))
					{
						continue;
					}
					String qualifiedName = definition.getQualifiedName();
					if (qualifiedNames.contains(qualifiedName))
					{
						//we've already added this symbol
						//this can happen when there are multiple root
						//folders in the workspace
						continue;
					}
					SymbolInformation symbol = workspaceFolderManager.definitionToSymbolInformation(definition, project);
					if (symbol != null)
					{
						qualifiedNames.add(qualifiedName);
						result.add(symbol);
					}
				}
			}
			else if (UnitType.AS_UNIT.equals(unitType) || UnitType.MXML_UNIT.equals(unitType))
			{
				IASScope[] scopes;
				try
				{
					scopes = unit.getFileScopeRequest().get().getScopes();
				}
				catch (Exception e)
				{
					return Collections.emptyList();
				}
				for (IASScope scope : scopes)
				{
					querySymbolsInScope(queries, scope, qualifiedNames, project, result);
				}
			}
		}
	}
	cancelToken.checkCanceled();
	return result;
}
 
源代码13 项目: xtext-core   文件: LanguageServerImpl.java
@Override
public CompletableFuture<List<? extends SymbolInformation>> symbol(WorkspaceSymbolParams params) {
	return requestManager.runRead((cancelIndicator) -> symbol(params, cancelIndicator));
}
 
源代码14 项目: xtext-core   文件: LanguageServerImpl.java
/**
 * Compute the symbol information. Executed in a read request.
 * @since 2.20
 */
protected List<? extends SymbolInformation> symbol(WorkspaceSymbolParams params, CancelIndicator cancelIndicator) {
	return workspaceSymbolService.getSymbols(params.getQuery(), resourceAccess, workspaceManager.getIndex(),
			cancelIndicator);
}
 
源代码15 项目: lsp4j   文件: WorkspaceService.java
/**
 * The workspace symbol request is sent from the client to the server to
 * list project-wide symbols matching the query string.
 *
 * Registration Options: void
 */
@JsonRequest
default CompletableFuture<List<? extends SymbolInformation>> symbol(WorkspaceSymbolParams params) {
	throw new UnsupportedOperationException();
}
 
 类所在包
 同包方法