@Override public void open() { FileObject fileObject = element.getFileObject(); if (fileObject != null) { GsfUtilities.open(fileObject, element.getOffset(), element.getName()); } else { Logger logger = Logger.getLogger(PHPTypeSearcher.class.getName()); logger.log(Level.INFO, String.format("%s: cannot find %s", PHPTypeSearcher.class.getName(), element.getFilenameUrl())); //NOI18N } }
public Document getDocument() { if (document == null) { FileObject fo = getFileObject(); if (fo == null) { return null; } document = GsfUtilities.getDocument(fo, true); } return document; }
int actualPrevIndent = GsfUtilities.getLineIndent(doc, prevOffset); if (actualPrevIndent != prevIndent) { int currentIndent = GsfUtilities.getLineIndent(doc, lineBegin);
int newIndent = IndentUtils.countIndent(doc, offset, previousIndent); if (newIndent != currentIndent) { GsfUtilities.setLineIndentation(doc, offset, Math.max(newIndent, 0)); Token<? extends PHPTokenId> firstCaseInSwitch = LexUtilities.findNextToken(ts, Arrays.asList(PHPTokenId.PHP_CASE)); if (firstCaseInSwitch != null && firstCaseInSwitch.id() == PHPTokenId.PHP_CASE) { int indentOfFirstCase = GsfUtilities.getLineIndent(doc, ts.offset()); GsfUtilities.setLineIndentation(doc, offset, indentOfFirstCase); if (begin != OffsetRange.NONE) { int beginOffset = begin.getStart(); int indent = GsfUtilities.getLineIndent(doc, beginOffset); previousAdjustmentIndent = GsfUtilities.getLineIndent(doc, offset); GsfUtilities.setLineIndentation(doc, offset, indent); previousAdjustmentOffset = caret.getDot();
String content = null; BaseDocument bdoc = GsfUtilities.getDocument(fileObject, true); StringBuilder displayText = new StringBuilder(); try { displayText.append(encodeCharRefs(content.subSequence(end, en).toString())); CloneableEditorSupport ces = GsfUtilities.findCloneableEditorSupport(fileObject); PositionRef ref1 = ces.createPositionRef(start, Bias.Forward); PositionRef ref2 = ces.createPositionRef(end, Bias.Forward);
private List<FormatToken> resolveWhitespaceTokens() { final List<FormatToken> result = new LinkedList<>(); int countNewLines = countOfNewLines(ts.token().text()); if (countNewLines > 1) { // reset group alignment, if there is an empty line resetAndCreateGroupAlignment(); } String tokenText = ts.token().text().toString(); int tokenStartOffset = ts.offset(); if (countNewLines > 0) { result.add(new FormatToken(FormatToken.Kind.WHITESPACE_INDENT, tokenStartOffset, adjustLastWhitespaceToken(ts.token()))); } else { int tokenEndOffset = tokenStartOffset + ts.token().length(); if (GsfUtilities.isCodeTemplateEditing(document) && caretOffset > tokenStartOffset && caretOffset < tokenEndOffset && tokenStartOffset > startOffset && tokenEndOffset < endOffset) { int devideIndex = caretOffset - tokenStartOffset; String firstTextPart = tokenText.substring(0, devideIndex); result.add(new FormatToken(FormatToken.Kind.WHITESPACE, tokenStartOffset, firstTextPart)); result.add(new FormatToken(FormatToken.Kind.WHITESPACE, tokenStartOffset + firstTextPart.length(), tokenText.substring(devideIndex))); } else { result.add(new FormatToken(FormatToken.Kind.WHITESPACE, tokenStartOffset, adjustLastWhitespaceToken(ts.token()))); } } return result; }
JTextComponent pane = GsfUtilities.getOpenPane(); FileObject fo = GsfUtilities.findFileObject(pane);
public Context(Snapshot snapshot, SourceModificationEvent event) { this.snapshot = snapshot; this.event = event; this.source = asString(snapshot.getText()); this.caretOffset = GsfUtilities.getLastKnownCaretOffset(snapshot, event); }
GsfUtilities.setLineIndentation(doc, dotPos, previousAdjustmentIndent);
@Override public void actionPerformed(ActionEvent evt, final JTextComponent target) { if (target.getCaret() == null) { return; } FileObject fo = GsfUtilities.findFileObject(target); if (fo != null) { int offset = target.getCaret().getDot(); new ParagraphFormatter(false, target, null, -1).reflowParagraph(offset); } }
public void actionPerformed(ActionEvent ev) { JTextComponent pane = GsfUtilities.getOpenPane(); FileObject fo = getCurrentFile(); if (fo != null && pane != null) { actionPerformed(pane, fo); } }
public void implement() throws Exception { EditList edits = getEditList(); Position pos = edits.createPosition(varOffset); edits.apply(); if (pos != null && pos.getOffset() != -1) { JTextComponent target = GsfUtilities.getPaneFor(context.parserResult.getSnapshot().getSource().getFileObject()); if (target != null) { int start = pos.getOffset(); int end = start + varName.length(); target.select(start, end); } } }
int indent = GsfUtilities.getLineIndent(doc, beginOffset); previousAdjustmentIndent = GsfUtilities.getLineIndent(doc, offset); GsfUtilities.setLineIndentation(doc, offset, indent); previousAdjustmentOffset = caret.getDot();
codeTemplateEditing = GsfUtilities.isCodeTemplateEditing(doc); if (!codeTemplateEditing && (ch == '"' || ch == '\'' || ch == '(' || ch == '{' || ch == '[')) { char firstChar = selection.charAt(0);
public Context(Snapshot snapshot, SourceModificationEvent event) { this.snapshot = snapshot; this.event = event; this.source = asString(snapshot.getText()); this.caretOffset = GsfUtilities.getLastKnownCaretOffset(snapshot, event); // FIXME parsing API this.document = LexUtilities.getDocument(snapshot.getSource(), true); }
GsfUtilities.setLineIndentation(doc, dotPos, previousAdjustmentIndent);
FileObject file = GsfUtilities.findFileObject(target);
@Override public void implement() throws Exception { int textOffset = getTextOffset(); String variableName = getVariableName(); EditList edits = new EditList(doc); edits.replace(textOffset, 0, String.format("$%s = ", variableName), true, 0); //NOI18N edits.apply(); JTextComponent target = GsfUtilities.getOpenPane(); if (target != null) { int selectStart = textOffset + 1; //after $ int selectEnd = selectStart + variableName.length(); target.select(selectStart, selectEnd); } }
@Override public void implement() throws Exception { final BaseDocument doc = context.doc; final int caretOffset = getOffset(doc); final String commentText = getCommentText(); final int indexOf = commentText.indexOf(getTypeTemplate()); final EditList editList = getEditList(doc, caretOffset); final Position typeOffset = editList.createPosition(caretOffset + indexOf); editList.apply(); if (typeOffset != null && typeOffset.getOffset() != -1) { JTextComponent target = GsfUtilities.getPaneFor(context.parserResult.getSnapshot().getSource().getFileObject()); if (target != null) { final int startOffset = typeOffset.getOffset(); final int endOffset = startOffset + getTypeTemplate().length(); if (indexOf != -1 && (endOffset <= doc.getLength())) { String s = doc.getText(startOffset, getTypeTemplate().length()); if (getTypeTemplate().equals(s)) { target.select(startOffset, endOffset); scheduleShowingCompletion(); } } } } }
int actualPrevIndent = GsfUtilities.getLineIndent(doc, prevOffset); if (actualPrevIndent != prevIndent) { int currentIndent = GsfUtilities.getLineIndent(doc, lineBegin);