use of org.eclipse.xtext.ide.server.coloring.IColoringService in project xtext-core by eclipse.
the class LanguageServerImpl method afterBuild.
@Override
public void afterBuild(final List<IResourceDescription.Delta> deltas) {
if ((this.client instanceof LanguageClientExtensions)) {
final Function1<IResourceDescription.Delta, Boolean> _function = (IResourceDescription.Delta it) -> {
IResourceDescription _new = it.getNew();
return Boolean.valueOf((_new != null));
};
final Function1<IResourceDescription.Delta, String> _function_1 = (IResourceDescription.Delta it) -> {
return it.getUri().toString();
};
final Consumer<String> _function_2 = (String it) -> {
final Function<ILanguageServerAccess.Context, Void> _function_3 = (ILanguageServerAccess.Context ctx) -> {
boolean _isDocumentOpen = ctx.isDocumentOpen();
if (_isDocumentOpen) {
Resource _resource = ctx.getResource();
if ((_resource instanceof XtextResource)) {
Resource _resource_1 = ctx.getResource();
final XtextResource resource = ((XtextResource) _resource_1);
final IResourceServiceProvider serviceProvider = this.languagesRegistry.getResourceServiceProvider(resource.getURI());
IColoringService _get = null;
if (serviceProvider != null) {
_get = serviceProvider.<IColoringService>get(IColoringService.class);
}
final IColoringService coloringService = _get;
if ((coloringService != null)) {
final Document doc = ctx.getDocument();
final List<? extends ColoringInformation> coloringInfos = coloringService.getColoring(resource, doc);
boolean _isNullOrEmpty = IterableExtensions.isNullOrEmpty(coloringInfos);
boolean _not = (!_isNullOrEmpty);
if (_not) {
final String uri = resource.getURI().toString();
ColoringParams _coloringParams = new ColoringParams(uri, coloringInfos);
((LanguageClientExtensions) this.client).updateColoring(_coloringParams);
}
}
}
return null;
}
return null;
};
this.access.<Void>doRead(it, _function_3);
};
IterableExtensions.<IResourceDescription.Delta, String>map(IterableExtensions.<IResourceDescription.Delta>filter(deltas, _function), _function_1).forEach(_function_2);
}
}
Aggregations