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

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

@Override
public void accept(PublishDiagnosticsParams publishDiagnosticsParams) {
    ApplicationManager.getApplication().invokeLater(() -> {
        VirtualFile file = null;
        try {
            file = LSPIJUtils.findResourceFor(new URI(publishDiagnosticsParams.getUri()));
        } catch (URISyntaxException e) {
            LOGGER.warn(e.getLocalizedMessage(), e);
        }
        if (file != null) {
            Document document = FileDocumentManager.getInstance().getDocument(file);
            if (document != null) {
                Editor[] editors  = LSPIJUtils.editorsForFile(file, document);
                for(Editor editor : editors) {
                    cleanMarkers(editor);
                    createMarkers(editor, document, publishDiagnosticsParams.getDiagnostics());
                }
            }
        }
    });
}
 
源代码2 项目: lemminx   文件: XMLAssert.java
public static void testPublishDiagnosticsFor(String xml, String fileURI, Consumer<XMLLanguageService> configuration,
		PublishDiagnosticsParams... expected) {
	List<PublishDiagnosticsParams> actual = new ArrayList<>();
	XMLLanguageService xmlLanguageService = new XMLLanguageService();
	if (configuration != null) {
		xmlLanguageService.initializeIfNeeded();
		configuration.accept(xmlLanguageService);
	}
	DOMDocument xmlDocument = DOMParser.getInstance().parse(xml, fileURI,
			xmlLanguageService.getResolverExtensionManager());
	xmlLanguageService.setDocumentProvider((uri) -> xmlDocument);

	publishDiagnostics(xmlDocument, actual, xmlLanguageService);

	assertEquals(expected.length, actual.size());
	for (int i = 0; i < expected.length; i++) {
		assertEquals(fileURI, actual.get(i).getUri());
		assertDiagnostics(actual.get(i).getDiagnostics(), expected[i].getDiagnostics(), false);
	}
}
 
源代码3 项目: lemminx   文件: XMLAssert.java
public static void publishDiagnostics(DOMDocument xmlDocument, List<PublishDiagnosticsParams> actual,
		XMLLanguageService languageService) {
	CompletableFuture<Path> error = languageService.publishDiagnostics(xmlDocument, params -> {
		actual.add(params);
	}, (doc) -> {
		// Retrigger validation
		publishDiagnostics(xmlDocument, actual, languageService);
	}, null, () -> {
	});

	if (error != null) {
		try {
			error.join();
			// Wait for 500 ms to collect the last params
			Thread.sleep(200);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
 
源代码4 项目: n4js   文件: N4jscLanguageClient.java
@Override
public void publishDiagnostics(PublishDiagnosticsParams diagnostics) {
	List<Diagnostic> issueList = diagnostics.getDiagnostics();
	if (issueList.isEmpty()) {
		return;
	}

	synchronized (this) {
		N4jscConsole.println(issueSerializer.uri(diagnostics.getUri()));
		for (Diagnostic diag : issueList) {
			N4jscConsole.println(issueSerializer.diagnostics(diag));
			switch (diag.getSeverity()) {
			case Error:
				errCount++;
				break;
			case Warning:
				wrnCount++;
				break;
			default:
				break;
			}
		}
	}
}
 
源代码5 项目: netbeans   文件: LanguageClientImpl.java
@Override
public void publishDiagnostics(PublishDiagnosticsParams pdp) {
    try {
        FileObject file = URLMapper.findFileObject(new URI(pdp.getUri()).toURL());
        EditorCookie ec = file.getLookup().lookup(EditorCookie.class);
        Document doc = ec != null ? ec.getDocument() : null;
        if (doc == null)
            return ; //ignore...
        List<ErrorDescription> diags = pdp.getDiagnostics().stream().map(d -> {
            LazyFixList fixList = allowCodeActions ? new DiagnosticFixList(pdp.getUri(), d) : ErrorDescriptionFactory.lazyListForFixes(Collections.emptyList());
            return ErrorDescriptionFactory.createErrorDescription(severityMap.get(d.getSeverity()), d.getMessage(), fixList, file, Utils.getOffset(doc, d.getRange().getStart()), Utils.getOffset(doc, d.getRange().getEnd()));
        }).collect(Collectors.toList());
        HintsController.setErrors(doc, LanguageClientImpl.class.getName(), diags);
    } catch (URISyntaxException | MalformedURLException ex) {
        LOG.log(Level.FINE, null, ex);
    }
}
 
源代码6 项目: eclipse.jdt.ls   文件: SyntaxServerTest.java
@Test
public void testDidClose() throws Exception {
	URI fileURI = openFile("maven/salut4", "src/main/java/java/TestSyntaxError.java");
	Job.getJobManager().join(SyntaxDocumentLifeCycleHandler.DOCUMENT_LIFE_CYCLE_JOBS, monitor);

	String fileUri = ResourceUtils.fixURI(fileURI);
	TextDocumentIdentifier identifier = new TextDocumentIdentifier(fileUri);
	server.didClose(new DidCloseTextDocumentParams(identifier));
	Job.getJobManager().join(SyntaxDocumentLifeCycleHandler.DOCUMENT_LIFE_CYCLE_JOBS, monitor);

	List<PublishDiagnosticsParams> diagnosticReports = getClientRequests("publishDiagnostics");
	assertEquals(2, diagnosticReports.size());
	PublishDiagnosticsParams params = diagnosticReports.get(1);
	assertEquals(fileUri, params.getUri());
	assertNotNull(params.getDiagnostics());
	assertTrue(params.getDiagnostics().isEmpty());
}
 
@Test
public void testReconcile() throws Exception {
	IJavaProject javaProject = newEmptyProject();
	IPackageFragmentRoot sourceFolder = javaProject.getPackageFragmentRoot(javaProject.getProject().getFolder("src"));
	IPackageFragment pack1 = sourceFolder.createPackageFragment("test1", false, null);
	StringBuilder buf = new StringBuilder();
	buf.append("package test1;\n");
	buf.append("public class E123 {\n");
	buf.append("    public void testing() {\n");
	buf.append("        int someIntegerChanged = 5;\n");
	buf.append("        int i = someInteger + 5\n");
	buf.append("    }\n");
	buf.append("}\n");
	ICompilationUnit cu1 = pack1.createCompilationUnit("E123.java", buf.toString(), false, null);
	openDocument(cu1, cu1.getSource(), 1);
	assertEquals(true, cu1.isWorkingCopy());
	assertEquals(false, cu1.hasUnsavedChanges());
	List<PublishDiagnosticsParams> diagnosticsParams = getClientRequests("publishDiagnostics");
	assertEquals(1, diagnosticsParams.size());
	PublishDiagnosticsParams diagnosticsParam = diagnosticsParams.get(0);
	List<Diagnostic> diagnostics = diagnosticsParam.getDiagnostics();
	assertEquals(2, diagnostics.size());
	diagnosticsParams.clear();
	closeDocument(cu1);
}
 
@Test
public void testDidOpenStandaloneFile() throws Exception {
	IJavaProject javaProject = newDefaultProject();
	IPackageFragmentRoot sourceFolder = javaProject.getPackageFragmentRoot(javaProject.getProject().getFolder("src"));
	IPackageFragment pack1 = sourceFolder.createPackageFragment("java", false, null);

	// @formatter:off
	String standaloneFileContent =
			"package java;\n"+
			"public class Foo extends UnknownType {"+
			"	public void method1(){\n"+
			"		super.whatever();"+
			"	}\n"+
			"}";
	// @formatter:on
	ICompilationUnit cu1 = pack1.createCompilationUnit("Foo.java", standaloneFileContent, false, null);

	openDocument(cu1, cu1.getSource(), 1);

	List<PublishDiagnosticsParams> diagnosticReports = getClientRequests("publishDiagnostics");
	assertEquals(1, diagnosticReports.size());
	PublishDiagnosticsParams diagParam = diagnosticReports.get(0);
	assertEquals(1, diagParam.getDiagnostics().size());
	Diagnostic d = diagParam.getDiagnostics().get(0);
	assertEquals("Foo.java is a non-project file, only syntax errors are reported", d.getMessage());
}
 
@Test
public void testDidOpenNotOnClasspath() throws Exception {
	importProjects("eclipse/hello");
	IProject project = WorkspaceHelper.getProject("hello");
	URI uri = project.getFile("nopackage/Test2.java").getRawLocationURI();
	ICompilationUnit cu = JDTUtils.resolveCompilationUnit(uri);
	String source = FileUtils.readFileToString(FileUtils.toFile(uri.toURL()));
	openDocument(cu, source, 1);
	Job.getJobManager().join(DocumentLifeCycleHandler.DOCUMENT_LIFE_CYCLE_JOBS, monitor);
	assertEquals(project, cu.getJavaProject().getProject());
	assertEquals(source, cu.getSource());
	List<PublishDiagnosticsParams> diagnosticReports = getClientRequests("publishDiagnostics");
	assertEquals(1, diagnosticReports.size());
	PublishDiagnosticsParams diagParam = diagnosticReports.get(0);
	assertEquals(2, diagParam.getDiagnostics().size());
	closeDocument(cu);
	Job.getJobManager().join(DocumentLifeCycleHandler.DOCUMENT_LIFE_CYCLE_JOBS, monitor);
	diagnosticReports = getClientRequests("publishDiagnostics");
	assertEquals(2, diagnosticReports.size());
	diagParam = diagnosticReports.get(1);
	assertEquals(0, diagParam.getDiagnostics().size());
}
 
private void assertNewProblemReported(ExpectedProblemReport... expectedReports) {
	List<PublishDiagnosticsParams> diags = getClientRequests("publishDiagnostics");
	assertEquals(expectedReports.length, diags.size());

	for (int i = 0; i < expectedReports.length; i++) {
		PublishDiagnosticsParams diag = diags.get(i);
		ExpectedProblemReport expected = expectedReports[i];
		assertEquals(JDTUtils.toURI(expected.cu), diag.getUri());
		if (expected.problemCount != diag.getDiagnostics().size()) {
			String message = "";
			for (Diagnostic d : diag.getDiagnostics()) {
				message += d.getMessage() + ", ";
			}
			assertEquals(message, expected.problemCount, diag.getDiagnostics().size());
		}

	}
	diags.clear();
}
 
@Test
public void testProjectLevelMarkers() throws Exception {
	//import project
	importProjects("maven/broken");
	ArgumentCaptor<PublishDiagnosticsParams> captor = ArgumentCaptor.forClass(PublishDiagnosticsParams.class);
	verify(connection, atLeastOnce()).publishDiagnostics(captor.capture());
	List<PublishDiagnosticsParams> allCalls = captor.getAllValues();
	Collections.reverse(allCalls);
	projectsManager.setConnection(client);
	Optional<PublishDiagnosticsParams> projectDiags = allCalls.stream().filter(p -> p.getUri().endsWith("maven/broken")).findFirst();
	assertTrue("No maven/broken errors were found", projectDiags.isPresent());
	List<Diagnostic> diags = projectDiags.get().getDiagnostics();
	Collections.sort(diags, DIAGNOSTICS_COMPARATOR);
	assertEquals(diags.toString(), 3, diags.size());
	assertTrue(diags.get(2).getMessage().startsWith("The compiler compliance specified is 1.7 but a JRE 1.8 is used"));
	Optional<PublishDiagnosticsParams> pomDiags = allCalls.stream().filter(p -> p.getUri().endsWith("pom.xml")).findFirst();
	assertTrue("No pom.xml errors were found", pomDiags.isPresent());
	diags = pomDiags.get().getDiagnostics();
	Collections.sort(diags, DIAGNOSTICS_COMPARATOR);
	assertEquals(diags.toString(), 1, diags.size());
	assertTrue(diags.get(0).getMessage().startsWith("Project build error: "));
}
 
private void testDiagnostic(List<PublishDiagnosticsParams> allCalls) {
	List<Diagnostic> projectDiags = new ArrayList<>();
	List<Diagnostic> pomDiags = new ArrayList<>();
	for (PublishDiagnosticsParams diag : allCalls) {
		if (diag.getUri().endsWith("maven/salut")) {
			projectDiags.addAll(diag.getDiagnostics());
		} else if (diag.getUri().endsWith("pom.xml")) {
			pomDiags.addAll(diag.getDiagnostics());
		}
	}
	assertTrue("No maven/salut errors were found", projectDiags.size() > 0);
	Optional<Diagnostic> projectDiag = projectDiags.stream().filter(p -> p.getMessage().contains("references non existing library")).findFirst();
	assertTrue("No 'references non existing library' diagnostic", projectDiag.isPresent());
	assertEquals(projectDiag.get().getSeverity(), DiagnosticSeverity.Error);
	assertTrue("No pom.xml errors were found", pomDiags.size() > 0);
	Optional<Diagnostic> pomDiag = pomDiags.stream().filter(p -> p.getMessage().startsWith("Missing artifact")).findFirst();
	assertTrue("No 'missing artifact' diagnostic", pomDiag.isPresent());
	assertTrue(pomDiag.get().getMessage().startsWith("Missing artifact"));
	assertEquals(pomDiag.get().getRange().getStart().getLine(), 19);
	assertEquals(pomDiag.get().getRange().getStart().getCharacter(), 3);
	assertEquals(pomDiag.get().getRange().getEnd().getLine(), 19);
	assertEquals(pomDiag.get().getRange().getEnd().getCharacter(), 14);
	assertEquals(pomDiag.get().getSeverity(), DiagnosticSeverity.Error);
}
 
@Test
public void testDeletePackage() throws Exception {
	importProjects("eclipse/unresolvedtype");
	IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject("unresolvedtype");
	List<IMarker> markers = ResourceUtils.getErrorMarkers(project);
	assertTrue("unresolved type in Foo.java", markers.stream().anyMatch((marker) -> marker.getResource() != null && ((IFile) marker.getResource()).getName().endsWith("Foo.java")));

	reset(connection);
	ArgumentCaptor<PublishDiagnosticsParams> captor = ArgumentCaptor.forClass(PublishDiagnosticsParams.class);
	IFolder folder = project.getFolder("/src/pckg");
	assertTrue(folder.exists());
	folder.delete(true, new NullProgressMonitor());
	waitForBackgroundJobs();

	verify(connection, atLeastOnce()).publishDiagnostics(captor.capture());
	List<PublishDiagnosticsParams> allCalls = captor.getAllValues();
	List<PublishDiagnosticsParams> errors = allCalls.stream().filter((p) -> p.getUri().endsWith("Foo.java")).collect(Collectors.toList());
	assertTrue("Should update the children's diagnostics of the deleted package", errors.size() == 1);
	assertTrue("Should clean up the children's diagnostics of the deleted package", errors.get(0).getDiagnostics().isEmpty());
}
 
源代码14 项目: vscode-as3mxml   文件: ProblemTracker.java
public void releaseStale()
{
    //if any files have been removed, they will still appear in this set, so
    //clear the errors so that they don't persist
    for (URI uri : staleFilesWithProblems)
    {
        PublishDiagnosticsParams publish = new PublishDiagnosticsParams();
        publish.setDiagnostics(new ArrayList<>());
        publish.setUri(uri.toString());
        if (languageClient != null)
        {
            languageClient.publishDiagnostics(publish);
        }
    }
    staleFilesWithProblems.clear();
    HashSet<URI> temp = newFilesWithProblems;
    newFilesWithProblems = staleFilesWithProblems;
    staleFilesWithProblems = temp;
}
 
源代码15 项目: xtext-core   文件: AbstractLanguageServerTest.java
protected Map<String, List<Diagnostic>> getDiagnostics() {
  try {
    final Function1<CancelIndicator, HashMap<String, List<Diagnostic>>> _function = (CancelIndicator it) -> {
      final HashMap<String, List<Diagnostic>> result = CollectionLiterals.<String, List<Diagnostic>>newHashMap();
      final Function1<Pair<String, Object>, Object> _function_1 = (Pair<String, Object> it_1) -> {
        return it_1.getValue();
      };
      Iterable<PublishDiagnosticsParams> _filter = Iterables.<PublishDiagnosticsParams>filter(ListExtensions.<Pair<String, Object>, Object>map(this.notifications, _function_1), PublishDiagnosticsParams.class);
      for (final PublishDiagnosticsParams diagnostic : _filter) {
        result.put(diagnostic.getUri(), diagnostic.getDiagnostics());
      }
      return result;
    };
    return this.languageServer.getRequestManager().<HashMap<String, List<Diagnostic>>>runRead(_function).get();
  } catch (Throwable _e) {
    throw Exceptions.sneakyThrow(_e);
  }
}
 
源代码16 项目: lsp4intellij   文件: DefaultLanguageClient.java
@Override
public void publishDiagnostics(PublishDiagnosticsParams publishDiagnosticsParams) {
    String uri = FileUtils.sanitizeURI(publishDiagnosticsParams.getUri());
    List<Diagnostic> diagnostics = publishDiagnosticsParams.getDiagnostics();
    EditorEventManager manager = EditorEventManagerBase.forUri(uri);
    if (manager != null) {
        manager.diagnostics(diagnostics);
    }
}
 
@BeforeEach
void setup() {
	workspaceRoot = Paths.get(System.getProperty("user.dir")).resolve(PATH_WORKSPACE);
	srcRoot = workspaceRoot.resolve(PATH_SRC);
	if (!Files.exists(srcRoot)) {
		srcRoot.toFile().mkdirs();
	}

	services = new GroovyServices(new CompilationUnitFactory());
	services.setWorkspaceRoot(workspaceRoot);
	services.connect(new LanguageClient() {

		@Override
		public void telemetryEvent(Object object) {

		}

		@Override
		public CompletableFuture<MessageActionItem> showMessageRequest(ShowMessageRequestParams requestParams) {
			return null;
		}

		@Override
		public void showMessage(MessageParams messageParams) {

		}

		@Override
		public void publishDiagnostics(PublishDiagnosticsParams diagnostics) {

		}

		@Override
		public void logMessage(MessageParams message) {

		}
	});
}
 
@BeforeEach
void setup() {
	workspaceRoot = Paths.get(System.getProperty("user.dir")).resolve(PATH_WORKSPACE);
	srcRoot = workspaceRoot.resolve(PATH_SRC);
	if (!Files.exists(srcRoot)) {
		srcRoot.toFile().mkdirs();
	}

	services = new GroovyServices(new CompilationUnitFactory());
	services.setWorkspaceRoot(workspaceRoot);
	services.connect(new LanguageClient() {

		@Override
		public void telemetryEvent(Object object) {

		}

		@Override
		public CompletableFuture<MessageActionItem> showMessageRequest(ShowMessageRequestParams requestParams) {
			return null;
		}

		@Override
		public void showMessage(MessageParams messageParams) {

		}

		@Override
		public void publishDiagnostics(PublishDiagnosticsParams diagnostics) {

		}

		@Override
		public void logMessage(MessageParams message) {

		}
	});
}
 
@BeforeEach
void setup() {
	workspaceRoot = Paths.get(System.getProperty("user.dir")).resolve(PATH_WORKSPACE);
	srcRoot = workspaceRoot.resolve(PATH_SRC);
	if (!Files.exists(srcRoot)) {
		srcRoot.toFile().mkdirs();
	}

	services = new GroovyServices(new CompilationUnitFactory());
	services.setWorkspaceRoot(workspaceRoot);
	services.connect(new LanguageClient() {

		@Override
		public void telemetryEvent(Object object) {

		}

		@Override
		public CompletableFuture<MessageActionItem> showMessageRequest(ShowMessageRequestParams requestParams) {
			return null;
		}

		@Override
		public void showMessage(MessageParams messageParams) {

		}

		@Override
		public void publishDiagnostics(PublishDiagnosticsParams diagnostics) {

		}

		@Override
		public void logMessage(MessageParams message) {

		}
	});
}
 
@BeforeEach
void setup() {
	workspaceRoot = Paths.get(System.getProperty("user.dir")).resolve(PATH_WORKSPACE);
	srcRoot = workspaceRoot.resolve(PATH_SRC);
	if (!Files.exists(srcRoot)) {
		srcRoot.toFile().mkdirs();
	}

	services = new GroovyServices(new CompilationUnitFactory());
	services.setWorkspaceRoot(workspaceRoot);
	services.connect(new LanguageClient() {

		@Override
		public void telemetryEvent(Object object) {

		}

		@Override
		public CompletableFuture<MessageActionItem> showMessageRequest(ShowMessageRequestParams requestParams) {
			return null;
		}

		@Override
		public void showMessage(MessageParams messageParams) {

		}

		@Override
		public void publishDiagnostics(PublishDiagnosticsParams diagnostics) {

		}

		@Override
		public void logMessage(MessageParams message) {

		}
	});
}
 
public static void assertJavaDiagnostics(MicroProfileJavaDiagnosticsParams params, IPsiUtils utils,
		Diagnostic... expected) {
	List<PublishDiagnosticsParams> actual = PropertiesManagerForJava.getInstance().diagnostics(params, utils);
	assertDiagnostics(
			actual != null && actual.size() > 0 ? actual.get(0).getDiagnostics() : Collections.emptyList(),
			expected);
}
 
源代码22 项目: lemminx   文件: XMLTextDocumentService.java
@Override
public void didClose(DidCloseTextDocumentParams params) {
	documents.onDidCloseTextDocument(params);
	TextDocumentIdentifier document = params.getTextDocument();
	String uri = document.getUri();
	xmlLanguageServer.getLanguageClient()
			.publishDiagnostics(new PublishDiagnosticsParams(uri, Collections.emptyList()));
	getLimitExceededWarner().evictValue(uri);
}
 
源代码23 项目: lemminx   文件: XMLLanguageService.java
private static void publishOneDiagnosticInRoot(DOMDocument document, String message, DiagnosticSeverity severity,
		Consumer<PublishDiagnosticsParams> publishDiagnostics) {
	String uri = document.getDocumentURI();
	DOMElement documentElement = document.getDocumentElement();
	Range range = XMLPositionUtility.selectStartTagName(documentElement);
	List<Diagnostic> diagnostics = new ArrayList<>();
	diagnostics.add(new Diagnostic(range, message, severity, "XML"));
	publishDiagnostics.accept(new PublishDiagnosticsParams(uri, diagnostics));
}
 
源代码24 项目: lemminx   文件: XMLExternalTest.java
private static XMLLanguageServer createServer(List<PublishDiagnosticsParams> actualDiagnostics) {

		XMLLanguageServer languageServer = new XMLLanguageServer();
		XMLLanguageClientAPI client = new XMLLanguageClientAPI() {

			@Override
			public CompletableFuture<MessageActionItem> showMessageRequest(ShowMessageRequestParams requestParams) {
				return null;
			}

			@Override
			public void showMessage(MessageParams messageParams) {

			}

			@Override
			public void publishDiagnostics(PublishDiagnosticsParams diagnostics) {
				actualDiagnostics.add(diagnostics);
			}

			@Override
			public void logMessage(MessageParams message) {

			}

			@Override
			public void telemetryEvent(Object object) {

			}

			@Override
			public void actionableNotification(ActionableNotification notification) {
				throw new UnsupportedOperationException();
			}
		};
		languageServer.setClient(client);
		return languageServer;
	}
 
源代码25 项目: camel-language-server   文件: DiagnosticRunner.java
public void computeDiagnostics(String camelText, String uri) {
	CompletableFuture.runAsync(() -> {
		Map<CamelEndpointDetails, EndpointValidationResult> endpointErrors = endpointDiagnosticService.computeCamelEndpointErrors(camelText, uri);
		TextDocumentItem openedDocument = camelLanguageServer.getTextDocumentService().getOpenedDocument(uri);
		List<Diagnostic> diagnostics = endpointDiagnosticService.converToLSPDiagnostics(camelText, endpointErrors, openedDocument);
		Map<String, ConfigurationPropertiesValidationResult> configurationPropertiesErrors = configurationPropertiesDiagnosticService.computeCamelConfigurationPropertiesErrors(camelText, uri);
		diagnostics.addAll(configurationPropertiesDiagnosticService.converToLSPDiagnostics(configurationPropertiesErrors));
		camelLanguageServer.getClient().publishDiagnostics(new PublishDiagnosticsParams(uri, diagnostics));
	});
}
 
源代码26 项目: rdflint   文件: RdfLintLanguageServer.java
@Override
public void didClose(DidCloseTextDocumentParams params) {
  // remove source from map
  sourceTextMap.remove(params.getTextDocument().getUri());

  // clear diagnostics
  PublishDiagnosticsParams diagnostics = new PublishDiagnosticsParams();
  diagnostics.setUri(params.getTextDocument().getUri());
  diagnostics.setDiagnostics(new LinkedList<>());
  this.client.publishDiagnostics(diagnostics);

  // diagnostics
  diagnostics(params.getTextDocument().getUri());
}
 
源代码27 项目: n4js   文件: N4jscTestLanguageClient.java
@Override
public void publishDiagnostics(PublishDiagnosticsParams diagnostics) {
	super.publishDiagnostics(diagnostics);

	String uriString = issueSerializer.uri(diagnostics.getUri());

	issues.removeAll(uriString);
	errors.removeAll(uriString);
	warnings.removeAll(uriString);

	List<Diagnostic> issueList = diagnostics.getDiagnostics();
	if (issueList.isEmpty()) {
		return;
	}

	for (Diagnostic diag : issueList) {
		String issueString = issueSerializer.diagnostics(diag);
		issues.put(uriString, diag);

		switch (diag.getSeverity()) {
		case Error:
			errors.put(uriString, issueString);
			break;
		case Warning:
			warnings.put(uriString, issueString);
			break;
		default:
			// ignore
			break;
		}
	}
}
 
源代码28 项目: n4js   文件: IdeTestLanguageClient.java
@Override
public void publishDiagnostics(PublishDiagnosticsParams diagnostics) {
	URI uriRaw = URI.createURI(diagnostics.getUri());
	if (N4Scheme.isN4Scheme(uriRaw)) {
		return;
	}
	if (!uriRaw.isFile()) {
		throw new IllegalArgumentException("not a file URI: " + uriRaw);
	}

	FileURI uri = new FileURI(uriRaw);

	issues.removeAll(uri);
	errors.removeAll(uri);
	warnings.removeAll(uri);

	List<Diagnostic> issueList = diagnostics.getDiagnostics();
	if (issueList.isEmpty()) {
		return;
	}

	for (Diagnostic diag : issueList) {
		String issueString = getIssueString(diag);
		issues.put(uri, diag);

		switch (diag.getSeverity()) {
		case Error:
			errors.put(uri, issueString);
			break;
		case Warning:
			warnings.put(uri, issueString);
			break;
		default:
			// ignore
			break;
		}
	}
}
 
源代码29 项目: n4js   文件: IssueAcceptor.java
/** Converts given issues to {@link Diagnostic}s and sends them to LSP client */
public void publishDiagnostics(URI uri, Iterable<? extends LSPIssue> issues) {
	if (client != null) {
		PublishDiagnosticsParams publishDiagnosticsParams = new PublishDiagnosticsParams();
		publishDiagnosticsParams.setUri(uriExtensions.toUriString(uri));
		List<Diagnostic> diags = toDiagnostics(issues);
		publishDiagnosticsParams.setDiagnostics(diags);
		client.publishDiagnostics(publishDiagnosticsParams);
	}
}
 
源代码30 项目: syndesis   文件: DdlDiagnostics.java
@SuppressWarnings("FutureReturnValueIgnored")
private void doPublishDiagnostics(TextDocumentItem ddlDocument) {
    List<Diagnostic> diagnostics = doBasicDiagnostics(ddlDocument.getText());
    CompletableFuture.runAsync(() -> {
        this.languageServer.getClient()
                .publishDiagnostics(new PublishDiagnosticsParams(ddlDocument.getUri(), diagnostics));
    });
}
 
 类所在包
 同包方法