Java Code Examples for org.eclipse.ui.texteditor.MarkerUtilities#getCharStart()
The following examples show how to use
org.eclipse.ui.texteditor.MarkerUtilities#getCharStart() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: MarkerIdentity.java From dsl-devkit with Eclipse Public License 1.0 | 6 votes |
/** * Instantiates a new MarkerIdentity. * * @param annotation * the Annotation * @return MarkerIdentity - this */ public MarkerIdentity create(final Annotation annotation) { MarkerIdentity result = provider.get(); if (annotation instanceof XtextAnnotation) { Issue issue = ((XtextAnnotation) annotation).getIssue(); result.start = issue.getOffset(); result.end = result.start == ATTRIBUTE_MISSING ? ATTRIBUTE_MISSING : result.start + issue.getLength(); result.message = issue.getMessage(); } else if (annotation instanceof org.eclipse.ui.texteditor.MarkerAnnotation) { result.start = MarkerUtilities.getCharStart(((org.eclipse.ui.texteditor.MarkerAnnotation) annotation).getMarker()); result.end = MarkerUtilities.getCharEnd(((org.eclipse.ui.texteditor.MarkerAnnotation) annotation).getMarker()); result.message = MarkerUtilities.getMessage(((org.eclipse.ui.texteditor.MarkerAnnotation) annotation).getMarker()); } else { result.end = ATTRIBUTE_MISSING; result.start = ATTRIBUTE_MISSING; result.message = null; // NOPMD } result.problemCode = issueUtil.getCode(annotation); result.problemURI = issueUtil.getUriToProblem(annotation); result.resourceURI = result.problemURI == null ? null : result.problemURI.trimFragment(); return result; }
Example 2
Source File: MarkerIdentity.java From dsl-devkit with Eclipse Public License 1.0 | 5 votes |
/** * Instantiates a new MarkerIdentity. * * @param marker * the marker * @return MarkerIdentity - this */ public MarkerIdentity create(final IMarker marker) { MarkerIdentity result = provider.get(); result.start = MarkerUtilities.getCharStart(marker); result.end = MarkerUtilities.getCharEnd(marker); result.problemCode = issueUtil.getCode(marker); result.problemURI = issueUtil.getUriToProblem(marker); result.resourceURI = result.problemURI == null ? null : result.problemURI.trimFragment(); result.message = MarkerUtilities.getMessage(marker); return result; }
Example 3
Source File: PyMarkerUIUtils.java From Pydev with Eclipse Public License 1.0 | 5 votes |
/** * @return the position for a marker. */ public static Position getMarkerPosition(IDocument document, IMarker marker, IAnnotationModel model) { if (model instanceof AbstractMarkerAnnotationModel) { Position ret = ((AbstractMarkerAnnotationModel) model).getMarkerPosition(marker); if (ret != null) { return ret; } } int start = MarkerUtilities.getCharStart(marker); int end = MarkerUtilities.getCharEnd(marker); if (start > end) { end = start + end; start = end - start; end = end - start; } if (start == -1 && end == -1) { // marker line number is 1-based int line = MarkerUtilities.getLineNumber(marker); if (line > 0 && document != null) { try { start = document.getLineOffset(line - 1); end = start; } catch (BadLocationException x) { } } } if (start > -1 && end > -1) { return new Position(start, end - start); } return null; }
Example 4
Source File: N4JSMarkerResolutionGenerator.java From n4js with Eclipse Public License 1.0 | 4 votes |
@Override public void run(IMarker[] markers, IProgressMonitor monitor) { if (isBasedOnN4Modification()) { // applying an N4Modification to one or more markers try { // collect all changes final List<IChange> changes = new ArrayList<>(); for (IMarker currMarker : markers) { if (!isMarkerStillValid(currMarker)) continue; final Issue currIssue = issueUtil.createIssue(currMarker); final IModificationContext currContext = modificationContextFactory .createModificationContext(currIssue); final int offset = MarkerUtilities.getCharStart(currMarker); final int length = MarkerUtilities.getCharEnd(currMarker) - offset; final EObject element = getElementForMarker(currContext, currMarker); Collection<? extends IChange> changeSet = getN4Modification().computeChanges( currContext, currMarker, offset, length, element); changes.addAll(changeSet); } // perform changes changeManager.applyAll(changes); } catch (Exception e) { throw new WrappedException( "exception while applying resolution for quick fix '" + resolution.getLabel() + "'", e); } } else { // support for applying modifications other than N4Modification // applying a single quick fix to multiple markers only supported for N4Modifications (see // #findOtherMarkers(IMarker[]) below), so we assert markers.length==1 here if (markers.length != 1) throw new IllegalStateException(); // default Xtext implementation resolution.apply(); } }
Example 5
Source File: ReportXMLSourceEditorFormPage.java From birt with Eclipse Public License 1.0 | 4 votes |
public boolean selectReveal( Object marker ) { int start = MarkerUtilities.getCharStart( (IMarker) marker ); int end = MarkerUtilities.getCharEnd( (IMarker) marker ); boolean selectLine = start < 0 || end < 0; // look up the current range of the marker when the document has been // edited IAnnotationModel model = reportXMLEditor.getDocumentProvider( ) .getAnnotationModel( reportXMLEditor.getEditorInput( ) ); if ( model instanceof AbstractMarkerAnnotationModel ) { AbstractMarkerAnnotationModel markerModel = (AbstractMarkerAnnotationModel) model; Position pos = markerModel.getMarkerPosition( (IMarker) marker ); if ( pos != null ) { if ( !pos.isDeleted( ) ) { // use position instead of marker values start = pos.getOffset( ); end = pos.getOffset( ) + pos.getLength( ); } else { return false; } } } IDocument document = reportXMLEditor.getDocumentProvider( ) .getDocument( reportXMLEditor.getEditorInput( ) ); if ( selectLine ) { int line; try { if ( start >= 0 ) line = document.getLineOfOffset( start ); else { line = MarkerUtilities.getLineNumber( (IMarker) marker ); // Marker line numbers are 1-based if ( line >= 1 ) { line--; } start = document.getLineOffset( line ); } end = start + document.getLineLength( line ) - 1; } catch ( BadLocationException e ) { return false; } } int length = document.getLength( ); if ( end - 1 < length && start < length ) reportXMLEditor.selectAndReveal( start, end - start ); return true; }