Java Code Examples for org.openide.text.NbDocument#findLineColumn()
The following examples show how to use
org.openide.text.NbDocument#findLineColumn() .
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: HighlightImpl.java From netbeans with Apache License 2.0 | 5 votes |
public String getHighlightTestData() { int lineStart = NbDocument.findLineNumber((StyledDocument) doc, start); int columnStart = NbDocument.findLineColumn((StyledDocument) doc, start); int lineEnd = NbDocument.findLineNumber((StyledDocument) doc, end); int columnEnd = NbDocument.findLineColumn((StyledDocument) doc, end); return coloringsToString() + ", " + lineStart + ":" + columnStart + "-" + lineEnd + ":" + columnEnd; }
Example 2
Source File: TextDocumentServiceImpl.java From netbeans with Apache License 2.0 | 5 votes |
public static Position createPosition(FileObject file, int offset) { try { EditorCookie ec = file.getLookup().lookup(EditorCookie.class); StyledDocument doc = ec.openDocument(); int line = NbDocument.findLineNumber(doc, offset); int column = NbDocument.findLineColumn(doc, offset); return new Position(line, column); } catch (IOException ex) { throw new IllegalStateException(ex); } }
Example 3
Source File: ToolTipAnnotation.java From netbeans with Apache License 2.0 | 5 votes |
private static String getIdentifier(final StyledDocument doc, final JEditorPane ep, final int offset) { String t = null; if (ep.getCaret() != null) { // #255228 if ((ep.getSelectionStart() <= offset) && (offset <= ep.getSelectionEnd())) { t = ep.getSelectedText(); } if (t != null) { return t; } } int line = NbDocument.findLineNumber(doc, offset); int col = NbDocument.findLineColumn(doc, offset); Element lineElem = NbDocument.findLineRootElement(doc).getElement(line); try { if (lineElem == null) { return null; } int lineStartOffset = lineElem.getStartOffset(); int lineLen = lineElem.getEndOffset() - lineStartOffset; if (col + 1 >= lineLen) { // do not evaluate when mouse hover behind the end of line (112662) return null; } t = doc.getText(lineStartOffset, lineLen); return getExpressionToEvaluate(t, col); } catch (BadLocationException e) { return null; } }
Example 4
Source File: LanguagesNavigatorModel.java From netbeans with Apache License 2.0 | 5 votes |
void show () { DataObject dataObject = NbEditorUtilities.getDataObject (document); LineCookie lineCookie = dataObject.getCookie (LineCookie.class); Line.Set lineSet = lineCookie.getLineSet (); Line line = lineSet.getCurrent (NbDocument.findLineNumber (document, item.getOffset ())); int column = NbDocument.findLineColumn (document, item.getOffset ()); line.show (ShowOpenType.OPEN, ShowVisibilityType.FOCUS, column); }
Example 5
Source File: HighlightImpl.java From netbeans with Apache License 2.0 | 5 votes |
public String getHighlightTestData() { int lineStart = NbDocument.findLineNumber((StyledDocument) doc, start); int columnStart = NbDocument.findLineColumn((StyledDocument) doc, start); int lineEnd = NbDocument.findLineNumber((StyledDocument) doc, end); int columnEnd = NbDocument.findLineColumn((StyledDocument) doc, end); return coloringsToString() + ", " + lineStart + ":" + columnStart + "-" + lineEnd + ":" + columnEnd; }
Example 6
Source File: WatchPanel.java From netbeans with Apache License 2.0 | 4 votes |
private static String getSelectedIdentifier ( StyledDocument doc, JEditorPane ep, int offset ) { String t = null; if (ep.getSelectionStart () <= offset && offset <= ep.getSelectionEnd ()) { t = ep.getSelectedText (); } if (t != null) { return t; } int line = NbDocument.findLineNumber ( doc, offset ); int col = NbDocument.findLineColumn ( doc, offset ); try { javax.swing.text.Element lineElem = org.openide.text.NbDocument.findLineRootElement (doc). getElement (line); if (lineElem == null) { return null; } int lineStartOffset = lineElem.getStartOffset (); int lineLen = lineElem.getEndOffset() - lineStartOffset; t = doc.getText (lineStartOffset, lineLen); int identStart = col; while (identStart > 0 && (Character.isJavaIdentifierPart ( t.charAt (identStart - 1) ) || (t.charAt (identStart - 1) == '.'))) { identStart--; } int identEnd = col; while (identEnd < lineLen && Character.isJavaIdentifierPart(t.charAt(identEnd)) ) { identEnd++; } if (identStart == identEnd) { return null; } return t.substring (identStart, identEnd); } catch (javax.swing.text.BadLocationException e) { return null; } }
Example 7
Source File: EditorContextImpl.java From netbeans with Apache License 2.0 | 4 votes |
private String getSelectedMethodName_() { JEditorPane ep = contextDispatcher.getCurrentEditor (); if (ep == null) { return ""; } StyledDocument doc = (StyledDocument) ep.getDocument (); if (doc == null) { return ""; } int offset = ep.getCaret ().getDot (); String t; // if ( (ep.getSelectionStart () <= offset) && // (offset <= ep.getSelectionEnd ()) // ) t = ep.getSelectedText (); // if (t != null) return t; int line = NbDocument.findLineNumber ( doc, offset ); int col = NbDocument.findLineColumn ( doc, offset ); try { javax.swing.text.Element lineElem = org.openide.text.NbDocument.findLineRootElement (doc). getElement (line); if (lineElem == null) { return ""; } int lineStartOffset = lineElem.getStartOffset (); int lineLen = lineElem.getEndOffset () - lineStartOffset; // t contains current line in editor t = doc.getText (lineStartOffset, lineLen); int identStart = col; while ( identStart > 0 && Character.isJavaIdentifierPart ( t.charAt (identStart - 1) ) ) { identStart--; } int identEnd = col; while (identEnd < lineLen && Character.isJavaIdentifierPart (t.charAt (identEnd)) ) { identEnd++; } int i = t.indexOf ('(', identEnd); if (i < 0) { return ""; } if (t.substring (identEnd, i).trim ().length () > 0) { return ""; } if (identStart == identEnd) { return ""; } return t.substring (identStart, identEnd); } catch (javax.swing.text.BadLocationException ex) { return ""; } }
Example 8
Source File: ToolTipAnnotation.java From netbeans with Apache License 2.0 | 4 votes |
private static String getIdentifier ( JPDADebugger debugger, StyledDocument doc, JEditorPane ep, int offset, boolean[] isMethodPtr, String[] fieldOfPtr ) { // do always evaluation if the tooltip is invoked on a text selection String t = null; if ( (ep.getSelectionStart () <= offset) && (offset <= ep.getSelectionEnd ()) ) { t = ep.getSelectedText (); } if (t != null) { return t; } int line = NbDocument.findLineNumber ( doc, offset ); int col = NbDocument.findLineColumn ( doc, offset ); try { Element lineElem = NbDocument.findLineRootElement (doc). getElement (line); if (lineElem == null) { return null; } int lineStartOffset = lineElem.getStartOffset (); int lineLen = lineElem.getEndOffset() - lineStartOffset; t = doc.getText (lineStartOffset, lineLen); int identStart = col; while (identStart > 0 && (Character.isJavaIdentifierPart ( t.charAt (identStart - 1) ) || (t.charAt (identStart - 1) == '.'))) { identStart--; } int identEnd = col; while (identEnd < lineLen && Character.isJavaIdentifierPart(t.charAt(identEnd)) ) { identEnd++; } if (identStart == identEnd) { return null; } String ident = t.substring (identStart, identEnd); if (JAVA_KEYWORDS.contains(ident)) { // Java keyword => Do not show anything return null; } int newOffset = NbDocument.findLineOffset(doc, line) + identStart + 1; final boolean[] isFieldStatic = new boolean[] { false }; if (!isValidTooltipLocation(debugger, doc, newOffset, ident, fieldOfPtr, isFieldStatic)) { return null; } while (identEnd < lineLen && Character.isWhitespace(t.charAt(identEnd)) ) { identEnd++; } if (identEnd < lineLen && t.charAt(identEnd) == '(') { // We're at a method call isMethodPtr[0] = true; } return ident; } catch (BadLocationException e) { return null; } }
Example 9
Source File: ToolTipAnnotation.java From netbeans with Apache License 2.0 | 4 votes |
private static String getIdentifier ( StyledDocument doc, JEditorPane ep, int offset ) { String t = null; if ( (ep.getSelectionStart () <= offset) && (offset <= ep.getSelectionEnd ()) ) t = ep.getSelectedText (); if (t != null) return t; int line = NbDocument.findLineNumber ( doc, offset ); int col = NbDocument.findLineColumn ( doc, offset ); try { Element lineElem = NbDocument.findLineRootElement (doc). getElement (line); if (lineElem == null) return null; int lineStartOffset = lineElem.getStartOffset (); int lineLen = lineElem.getEndOffset() - lineStartOffset; t = doc.getText (lineStartOffset, lineLen); lineLen = t.length (); int identStart = col; while ( (identStart > 0) && (t.charAt (identStart - 1) != '"') ) { identStart--; } int identEnd = Math.max (col, 1); while ( (identEnd < lineLen) && (t.charAt (identEnd - 1) != '"') ) { identEnd++; } if (identStart == identEnd) return null; return t.substring (identStart, identEnd - 1); } catch (BadLocationException e) { return null; } }
Example 10
Source File: ToolTipAnnotation.java From netbeans with Apache License 2.0 | 4 votes |
private static String getIdentifier ( JPDADebugger debugger, StyledDocument doc, JEditorPane ep, int offset, boolean[] isFunctionPtr ) { // do always evaluation if the tooltip is invoked on a text selection String t = null; if ( (ep.getSelectionStart () <= offset) && (offset <= ep.getSelectionEnd ()) ) { t = ep.getSelectedText (); } if (t != null) { return t; } int line = NbDocument.findLineNumber ( doc, offset ); int col = NbDocument.findLineColumn ( doc, offset ); try { Element lineElem = NbDocument.findLineRootElement (doc). getElement (line); if (lineElem == null) { return null; } int lineStartOffset = lineElem.getStartOffset (); int lineLen = lineElem.getEndOffset() - lineStartOffset; t = doc.getText (lineStartOffset, lineLen); int identStart = col; while (identStart > 0 && (Character.isJavaIdentifierPart ( t.charAt (identStart - 1) ) || (t.charAt (identStart - 1) == '.'))) { identStart--; } int identEnd = col; while (identEnd < lineLen && Character.isJavaIdentifierPart(t.charAt(identEnd)) ) { identEnd++; } if (identStart == identEnd) { return null; } String ident = t.substring (identStart, identEnd); //if (JS_KEYWORDS.contains(ident)) { // JS keyword => Do not show anything // return null; //} while (identEnd < lineLen && Character.isWhitespace(t.charAt(identEnd)) ) { identEnd++; } if (identEnd < lineLen && t.charAt(identEnd) == '(') { // We're at a function call isFunctionPtr[0] = true; } return ident; } catch (BadLocationException e) { return null; } }
Example 11
Source File: JspParserErrorAnnotation.java From netbeans with Apache License 2.0 | 4 votes |
public void attachToLineSet(Set lines) { char string[]; int start,end; Line.Part part; try { docline=lines.getCurrent(line-1); } catch (IndexOutOfBoundsException ex) { // the document has been changed and the line is deleted return; } String annTxt = docline.getText(); // text on the line if (annTxt == null) return; // document is already closed int offset = NbDocument.findLineOffset(document, docline.getLineNumber()) + column+1; // offset, where the bug is reported start = 0; // column, where the underlining starts on the line, where the bug should be attached. default first column string = annTxt.toCharArray(); end = string.length - 1; // length of the underlining // when the error is reported outside the page, underline the first line if (offset < 1){ textOnLine(docline); return; } TokenHierarchy tokenHierarchy = TokenHierarchy.get(document); TokenSequence tokenSequence = tokenHierarchy.tokenSequence(); tokenSequence.move(offset - 1); if (!tokenSequence.moveNext() && !tokenSequence.movePrevious()) { //no token textOnLine(docline); return ; } start = NbDocument.findLineColumn(document, tokenSequence.token().offset(tokenHierarchy)); offset = tokenSequence.token().offset(tokenHierarchy); // Find the start and the end of the appropriate tag or EL if (tokenSequence.token().id() != JspTokenId.EL){ // the error is in the tag or directive // find the start of the tag, directive while (!(tokenSequence.token().id() == JspTokenId.SYMBOL && tokenSequence.token().text().toString().charAt(0) == '<' //directive || tokenSequence.token().id() == JspTokenId.TAG) //or jsp tag && tokenSequence.movePrevious()) { start = NbDocument.findLineColumn(document, tokenSequence.token().offset(tokenHierarchy)); offset = tokenSequence.token().offset(tokenHierarchy); } // find the end of the tag or directive while ((tokenSequence.token().id() != JspTokenId.SYMBOL || tokenSequence.token().text().toString().trim().length() > 0 && tokenSequence.token().text().toString().charAt(tokenSequence.token().text().toString().trim().length()-1) != '>') && tokenSequence.moveNext()); } else { // The error is in EL - start and offset are set properly - we have one big EL token now in JspLexer } end = tokenSequence.token().offset(tokenHierarchy) + tokenSequence.token().length() - offset; // if (token != null) // end = token.getOffset() + token.getImage().trim().length() - offset; // else { // while (end >= 0 && end > start && string[end] != ' ') { // end--; // } // } part=docline.createPart(start, end);//token.getImage().length()); attach(part); }
Example 12
Source File: Utils.java From netbeans with Apache License 2.0 | 4 votes |
private static String getIdentifier ( StyledDocument doc, JEditorPane ep, int offset ) { String t = null; if ( (ep.getSelectionStart () <= offset) && (offset <= ep.getSelectionEnd ()) ) t = ep.getSelectedText (); if (t != null) return t; int line = NbDocument.findLineNumber ( doc, offset ); int col = NbDocument.findLineColumn ( doc, offset ); try { javax.swing.text.Element lineElem = org.openide.text.NbDocument.findLineRootElement (doc). getElement (line); if (lineElem == null) return null; int lineStartOffset = lineElem.getStartOffset (); int lineLen = lineElem.getEndOffset() - lineStartOffset; t = doc.getText (lineStartOffset, lineLen); int identStart = col; while (identStart > 0 && (Character.isJavaIdentifierPart ( t.charAt (identStart - 1) ) || (t.charAt (identStart - 1) == '.'))) { identStart--; } int identEnd = col; while (identEnd < lineLen && Character.isJavaIdentifierPart(t.charAt(identEnd)) ) { identEnd++; } if (identStart == identEnd) return null; return t.substring (identStart, identEnd); } catch (javax.swing.text.BadLocationException e) { return null; } }