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

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


@Test
@SuppressWarnings("unchecked")
public void testGetCodeLensSymbolsForClass() throws Exception {
	Preferences implementationsCodeLenses = Preferences.createFrom(Collections.singletonMap(Preferences.IMPLEMENTATIONS_CODE_LENS_ENABLED_KEY, "true"));
	Mockito.reset(preferenceManager);
	when(preferenceManager.getPreferences()).thenReturn(implementationsCodeLenses);
	handler = new CodeLensHandler(preferenceManager);
	String uriString = ClassFileUtil.getURI(project, "java.lang.Runnable");
	String payload = createCodeLensSymbolRequest(new URI(uriString));
	CodeLensParams codeLensParams = getParams(payload);
	String uri = codeLensParams.getTextDocument().getUri();
	assertFalse(uri.isEmpty());
	List<CodeLens> lenses = handler.getCodeLensSymbols(uri, monitor);
	assertEquals("Found " + lenses, 2, lenses.size());
	List<Object> data = (List<Object>) lenses.get(0).getData();
	assertTrue("Unexpected type " + data, data.contains(CodeLensHandler.REFERENCES_TYPE));
	data = (List<Object>) lenses.get(1).getData();
	assertTrue("Unexpected type " + data, data.contains(CodeLensHandler.IMPLEMENTATION_TYPE));
}
 

@Test
public void testDisableCodeLensSymbols() throws Exception {
	Preferences noCodeLenses = Preferences.createFrom(Collections.singletonMap(Preferences.REFERENCES_CODE_LENS_ENABLED_KEY, "false"));
	Mockito.reset(preferenceManager);
	when(preferenceManager.getPreferences()).thenReturn(noCodeLenses);
	handler = new CodeLensHandler(preferenceManager);

	String payload = createCodeLensSymbolsRequest("src/java/IFoo.java");
	CodeLensParams codeLensParams = getParams(payload);
	String uri = codeLensParams.getTextDocument().getUri();
	assertFalse(uri.isEmpty());

	//when
	List<CodeLens> result = handler.getCodeLensSymbols(uri, monitor);

	//then
	assertEquals(0, result.size());
}
 

@Test
public void testEnableImplementationsCodeLensSymbols() throws Exception {
	Preferences implementationsCodeLenses = Preferences.createFrom(Collections.singletonMap(Preferences.IMPLEMENTATIONS_CODE_LENS_ENABLED_KEY, "true"));
	Mockito.reset(preferenceManager);
	when(preferenceManager.getPreferences()).thenReturn(implementationsCodeLenses);
	handler = new CodeLensHandler(preferenceManager);

	String payload = createCodeLensSymbolsRequest("src/java/IFoo.java");
	CodeLensParams codeLensParams = getParams(payload);
	String uri = codeLensParams.getTextDocument().getUri();
	assertFalse(uri.isEmpty());

	//when
	List<CodeLens> result = handler.getCodeLensSymbols(uri, monitor);

	//then
	assertEquals(2, result.size());
	CodeLens lens = result.get(1);
	@SuppressWarnings("unchecked")
	List<Object> data = (List<Object>) lens.getData();
	String type = (String) data.get(2);
	assertEquals(type, "implementations");
}
 

@Test
public void testDisableImplementationsCodeLensSymbols() throws Exception {
	Preferences noImplementationsCodeLenses = Preferences.createFrom(Collections.singletonMap(Preferences.IMPLEMENTATIONS_CODE_LENS_ENABLED_KEY, "false"));
	Mockito.reset(preferenceManager);
	when(preferenceManager.getPreferences()).thenReturn(noImplementationsCodeLenses);
	Preferences noReferencesCodeLenses = Preferences.createFrom(Collections.singletonMap(Preferences.REFERENCES_CODE_LENS_ENABLED_KEY, "false"));
	Mockito.reset(preferenceManager);
	when(preferenceManager.getPreferences()).thenReturn(noReferencesCodeLenses);
	handler = new CodeLensHandler(preferenceManager);

	String payload = createCodeLensSymbolsRequest("src/java/IFoo.java");
	CodeLensParams codeLensParams = getParams(payload);
	String uri = codeLensParams.getTextDocument().getUri();
	assertFalse(uri.isEmpty());

	//when
	List<CodeLens> result = handler.getCodeLensSymbols(uri, monitor);

	//then
	assertEquals(0, result.size());
}
 
源代码5 项目: lemminx   文件: XMLTextDocumentService.java

@Override
public CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams params) {
	if (!sharedSettings.getCodeLensSettings().isEnabled()) {
		return CompletableFuture.completedFuture(Collections.emptyList());
	}
	return computeDOMAsync(params.getTextDocument(), (cancelChecker, xmlDocument) -> {
		return getXMLLanguageService().getCodeLens(xmlDocument, sharedSettings.getCodeLensSettings(),
				cancelChecker);
	});
}
 
源代码6 项目: n4js   文件: XLanguageServerImpl.java

@Override
public CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams params) {
	URI uri = getURI(params.getTextDocument());
	return openFilesManager.runInOpenFileContext(uri, "codeLens", (ofc, ci) -> {
		return codeLens(ofc, params, ci);
	});
}
 
源代码7 项目: n4js   文件: XLanguageServerImpl.java

/**
 * Compute the code lenses.
 */
protected List<? extends CodeLens> codeLens(OpenFileContext ofc, CodeLensParams params,
		CancelIndicator cancelIndicator) {
	URI uri = ofc.getURI();
	ICodeLensService codeLensService = getService(uri, ICodeLensService.class);
	if ((codeLensService == null)) {
		return Collections.emptyList();
	}
	XtextResource res = ofc.getResource();
	XDocument doc = ofc.getDocument();
	List<? extends CodeLens> result = codeLensService.computeCodeLenses(doc, res, params, cancelIndicator);
	installURI(result, uri.toString());
	return result;
}
 

@Override
public CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams params) {
	logInfo(">> document/codeLens");
	CodeLensHandler handler = new CodeLensHandler(preferenceManager);
	return computeAsync((monitor) -> {
		waitForLifecycleJobs(monitor);
		return handler.getCodeLensSymbols(params.getTextDocument().getUri(), monitor);
	});
}
 

@Test
public void testGetCodeLensSymbols() throws Exception {
	String payload = createCodeLensSymbolsRequest("src/java/Foo.java");
	CodeLensParams codeLensParams = getParams(payload);
	String uri = codeLensParams.getTextDocument().getUri();
	assertFalse(uri.isEmpty());
	//when
	List<CodeLens> result = handler.getCodeLensSymbols(uri, monitor);

	//then
	assertEquals("Found " + result, 3, result.size());

	CodeLens cl = result.get(0);
	Range r = cl.getRange();
	//CodeLens on main method
	assertRange(7, 20, 24, r);

	cl = result.get(1);
	r = cl.getRange();
	// CodeLens on foo method
	assertRange(14, 13, 16, r);

	cl = result.get(2);
	r = cl.getRange();
	//CodeLens on Foo type
	assertRange(5, 13, 16, r);
}
 

@Test
public void testGetCodeLenseBoundaries() {
	List<CodeLens> result = handler.getCodeLensSymbols(null, monitor);
	assertNotNull(result);
	assertEquals(0, result.size());

	String payload = createCodeLensSymbolsRequest("src/java/Missing.java");
	CodeLensParams codeLensParams = getParams(payload);
	String uri = codeLensParams.getTextDocument().getUri();
	result = handler.getCodeLensSymbols(uri, monitor);
	assertEquals(0, result.size());
}
 

@Test
public void testIgnoreLombokCodeLensSymbols() throws Exception {
	String payload = createCodeLensSymbolsRequest("src/java/Bar.java");
	CodeLensParams codeLensParams = getParams(payload);
	String uri = codeLensParams.getTextDocument().getUri();
	assertFalse(uri.isEmpty());
	//when
	List<CodeLens> result = handler.getCodeLensSymbols(uri, monitor);

	//then
	assertEquals("Found " + result, 4, result.size());

	//CodeLens on constructor
	CodeLens cl = result.get(0);
	assertRange(7, 11, 14, cl.getRange());

	//CodeLens on somethingFromJPAModelGen
	cl = result.get(1);
	assertRange(16, 16, 40, cl.getRange());

	// CodeLens on foo
	cl = result.get(2);
	assertRange(22, 16, 19, cl.getRange());

	//CodeLens on Bar type
	cl = result.get(3);
	assertRange(5, 13, 16, cl.getRange());
}
 
源代码12 项目: xtext-core   文件: CodeLensService.java

@Override
public List<? extends CodeLens> computeCodeLenses(Document document, XtextResource resource, CodeLensParams params,
		CancelIndicator indicator) {
	CodeLens codeLens = new CodeLens();
	Command command = new Command();
	command.setCommand("do.this");
	command.setTitle("Do Awesome Stuff");
	command.setArguments(Lists.newArrayList("foo", Integer.valueOf(1), Boolean.valueOf(true)));
	codeLens.setCommand(command);
	Position _position = new Position(1, 2);
	codeLens.setData(_position);
	return Lists.newArrayList(codeLens);
}
 
源代码13 项目: xtext-core   文件: LanguageServerImpl.java

/**
 * Compute the code lenses. Executed in a read request.
 * @since 2.20
 */
protected List<? extends CodeLens> codeLens(CodeLensParams params, CancelIndicator cancelIndicator) {
	URI uri = getURI(params.getTextDocument());
	ICodeLensService codeLensService = getService(uri, ICodeLensService.class);
	if (codeLensService == null) {
		return Collections.emptyList();
	}
	return workspaceManager.doRead(uri, (document, resource) -> {
		List<? extends CodeLens> result = codeLensService.computeCodeLenses(document, resource, params,
				cancelIndicator);
		installURI(result, uri.toString());
		return result;
	});
}
 

@Override
public CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams params) {
	LOGGER.info("codeLens: {}", params.getTextDocument());
	return CompletableFuture.completedFuture(Collections.emptyList());
}
 
源代码15 项目: netbeans   文件: TextDocumentServiceImpl.java

@Override
public CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams arg0) {
    throw new UnsupportedOperationException("Not supported yet.");
}
 

@Override
public CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams params) {
    LOGGER.debug("codeLens: {}", params.getTextDocument());
    return CompletableFuture.completedFuture(Collections.emptyList());
}
 

/**
 * This feature is not implemented at this time.
 */
@Override
public CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams params)
{
    return CompletableFuture.completedFuture(Collections.emptyList());
}
 
源代码18 项目: xtext-core   文件: LanguageServerImpl.java

@Override
public CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams params) {
	return requestManager.runRead((cancelIndicator) -> codeLens(params, cancelIndicator));
}
 
源代码19 项目: xtext-core   文件: ICodeLensService.java

/**
 * Compute code lenses for the given context.
 */
List<? extends CodeLens> computeCodeLenses(Document document, XtextResource resource, CodeLensParams params, CancelIndicator indicator);
 
源代码20 项目: lsp4j   文件: TextDocumentService.java

/**
 * The code lens request is sent from the client to the server to compute
 * code lenses for a given text document.
 * 
 * Registration Options: CodeLensRegistrationOptions
 */
@JsonRequest
default CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams params) {
	throw new UnsupportedOperationException();
}
 
 类所在包
 类方法
 同包方法