public void reformat(Context context, ParserResult info) { Document document = context.document(); int startOffset = context.startOffset(); int endOffset = context.endOffset(); if (codeStyle != null) { reindent(context, document, startOffset, endOffset, info, false); } else { RubyFormatter f = new RubyFormatter(CodeStyle.get(document), -1); f.reindent(context, document, startOffset, endOffset, info, false); } }
private void modifyUnderWriteLock(Context context) { try { context.modifyIndent(Utilities.getRowStart((BaseDocument) context.document(), context.caretOffset()), indentation); } catch (BadLocationException ex) { Exceptions.printStackTrace(ex); } }
private int getColumn(Tree tree) throws BadLocationException { int startOffset = getStartPosition(tree); if (startOffset < 0) { return -1; } int lineStartOffset = context.lineStartOffset(startOffset); return getCol(context.document().getText(lineStartOffset, startOffset - lineStartOffset)); }
@Override public void reindent(final Context context) { String mimeType = getMimeTypeAtOffset(context.document(), context.startOffset()); if (FileUtils.PHP_MIME_TYPE.equals(mimeType)) { Indentation indent = new IndentationCounter((BaseDocument) context.document()).count(context.caretOffset()); indent.modify(context); } }
StyledDocument document = (StyledDocument) context.document (); try { MimePath mimePath = MimePath.parse (context.mimePath ()); String mimeType = mimePath.getMimeType (mimePath.size () - 1); Language l = LanguagesManager.getDefault ().getLanguage (mimeType); m.getValue (Context.create (document, context.startOffset ())); return; for (int i = 1; i < mimePath.size(); i++) languagePath = languagePath.embedded (org.netbeans.api.lexer.Language.find (mimePath.getMimeType (i))); List<TokenSequence> tokenSequences = tokenHierarchy.tokenSequenceList (languagePath, context.startOffset (), context.endOffset ()); Iterator<Region> it = context.indentRegions ().iterator (); while (it.hasNext ()) { Region region = it.next (); int ln = NbDocument.findLineNumber (document, region.getStartOffset ()); int endLineNumber = NbDocument.findLineNumber (document, region.getEndOffset ()); if (!Utils.getTokenSequence (document, context.lineStartOffset (region.getStartOffset ())).language ().mimeType ().equals (mimeType)) ln++; int indent = 0; if (ln > 0) { int offset = NbDocument.findLineOffset (document, ln - 1); indent = context.lineIndent (offset); if (!Utils.getTokenSequence (document, offset).language ().mimeType ().equals (mimeType)) indent += IndentUtils.indentLevelSize (document); while (it2.hasNext ()) {
public void reindent() throws BadLocationException { BaseDocument doc = (BaseDocument) context.document(); int start = context.startOffset(); int end = Math.min(context.endOffset(), doc.getLength()); for (Integer lineOffset : offsets) { assert lineOffset == Utilities.getRowStart(doc, lineOffset); context.modifyIndent(lineOffset, 0); if (context.isIndent() && start > 0) { // inserting a newline int rowEnd = Utilities.getRowLastNonWhite(doc, start-1); if (rowEnd != -1) { indent += IndentUtils.indentLevelSize(doc); context.modifyIndent(Utilities.getRowStart(doc, start), indent);
codeStyle = CodeStyle.getDefault(doc); int caretOffset = context.caretOffset(); int lineOffset = context.lineStartOffset(caretOffset); int startOffset = context.startOffset(); int endOffset = context.endOffset(); int lnStart = NbDocument.findLineNumber((StyledDocument)doc, startOffset); int lnEnd = NbDocument.findLineNumber((StyledDocument)doc, endOffset); context.modifyIndent(lineOffset, indent); context.modifyIndent(lnStartOffset, indent);
currentEmbeddingLength = -1; newIndents = new HashMap<Integer, Integer>(); cs = CodeStyle.getDefault(context.document()); for (Region region : context.indentRegions()) { if (initRegionData(region)) { HashSet<Integer> linesToAddStar = new HashSet<Integer>(); blockCommentLine = (idx < 0 ? blockCommentLine.substring(delta) : blockCommentLine.substring(delta, idx)).trim(); int off = ts.offset() + delta - 1; int prevLineStartOffset = context.lineStartOffset(off < 0 ? startOffset : off); Integer prevLineIndent = newIndents.get(prevLineStartOffset); newIndents.put(startOffset, (prevLineIndent != null ? prevLineIndent : context.lineIndent(prevLineStartOffset)) + (prevLineStartOffset > ts.offset() ? 0 : 1)); //NOI18N } else { int idx = blockCommentLine.lastIndexOf('\n'); //NOI18N Integer newIndent = newIndents.get(startOffset); if (linesToAddStar.contains(startOffset)) { context.modifyIndent(startOffset, 0); context.document().insertString(startOffset, "* ", null); //NOI18N context.modifyIndent(startOffset, newIndent); context.document().remove(startOffset - 1 - len, len);
public Reformatter(Source source, Context context) { this.source = source; this.context = context; this.doc = context.document(); }
startOffset = formatContext.startOffset(); endOffset = formatContext.endOffset();
currentIndent = addContinuationIndent ? getContinuationIndent(path, currentIndent) : currentIndent + cs.getIndentSize(); } else { int firstLineStartOffset = context.lineStartOffset(firstStartOffset); int lineStartOffset = firstStartOffset == startOffset ? firstLineStartOffset : context.lineStartOffset(startOffset); if (firstLineStartOffset != lineStartOffset) { Integer newIndent = newIndents.get(lineStartOffset); currentIndent = newIndent != null ? newIndent : context.lineIndent(lineStartOffset); } else if (align) { currentIndent = getCol(context.document().getText(lineStartOffset, startOffset - lineStartOffset)); } else { currentIndent = addContinuationIndent ? getContinuationIndent(path, currentIndent) : currentIndent + cs.getIndentSize();
@Override public void reindent() throws BadLocationException { if (codeStyle == null) { codeStyle = FortranCodeStyle.get(doc); } codeStyle.setupLexerAttributes(doc); int caretOffset = context.caretOffset(); int lineOffset = context.lineStartOffset(caretOffset); ts = CndLexerUtilities.getFortranTokenSequence(doc, lineOffset); if (ts == null || !ts.moveNext()) { return; } int indent = indentLine(new TokenItem(ts), caretOffset); if (indent >= 0) { context.modifyIndent(lineOffset, indent); } }
ts = null; currentEmbeddingStartOffset = 0; currentEmbeddingLength = context.document().getLength(); TokenSequence<?> tseq = TokenHierarchy.get(context.document()).tokenSequence(); while(tseq != null && (region.getStartOffset() == 0 || tseq.moveNext())) { tseq.move(region.getStartOffset()); com.sun.tools.javac.util.Context ctx = javacTask.getContext(); JavaCompiler.instance(ctx).genEndPos = true; text = context.document().getText(currentEmbeddingStartOffset, currentEmbeddingLength); if (JavacParser.MIME_TYPE.equals(context.mimePath())) { cut = javacTask.parse(FileObjects.memoryFileObject("", "", text)).iterator().next(); //NOI18N parsedTree = cut;
context.modifyIndent(lineBegin, indent);
int embeddingOffset = -1; int firstLineIndent = -1; if (!"text/x-java".equals(context.mimePath())) { //NOI18N firstLineIndent = context.lineIndent(context.lineStartOffset(region.getStartOffset())); TokenSequence<JavaTokenId> ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language()); if (ts != null) {
private void reformatImpl(Context.Region region) throws BadLocationException { int startOffset = region.getStartOffset(); int endOffset = region.getEndOffset(); if (endOffset > 0 && endOffset < doc.getLength()) { String text = doc.getText(endOffset - 1, 1); if (text.charAt(0) == '\n') { endOffset--; } } Language<CppTokenId> language = CndLexerUtilities.getLanguage(context.mimePath()); if (language != null) { reformatLanguage(language, startOffset, endOffset); } else { //LOG.log(Level.SEVERE, "Language of mime type {0} is not found in the document {1}", new Object[]{context.mimePath(), doc}); } }
@Override public void reformat() throws BadLocationException { if (codeStyle == null){ codeStyle = FortranCodeStyle.get(doc); } codeStyle.setupLexerAttributes(doc); expandTabToSpaces = codeStyle.expandTabToSpaces(); tabSize = codeStyle.getTabSize(); if (tabSize <= 1) { tabSize = 8; } if (context != null) { if (MIMENames.FORTRAN_MIME_TYPE.equals(context.mimePath())) { for (Context.Region region : context.indentRegions()) { TokenSequence<FortranTokenId> ts = CndLexerUtilities.getFortranTokenSequence(doc, 0); reformatImpl(ts, region.getStartOffset(), region.getEndOffset()); break; } } } else { int endOffset = doc.getLength(); TokenSequence<FortranTokenId> ts = CndLexerUtilities.getFortranTokenSequence(doc, 0); reformatImpl(ts, 0, endOffset); } }
startOffset = currentEmbeddingStartOffset; int lineStartOffset = context.lineStartOffset(startOffset); Integer newIndent = newIndents.get(lineStartOffset); int currentIndent = newIndent != null ? newIndent : context.lineIndent(lineStartOffset); if (cs.absoluteLabelIndent()) { for (Iterator<? extends Tree> it = path.iterator(); it.hasNext();) {
@Override public void reformat() throws BadLocationException { CodeStyle cs = (CodeStyle) doc.getProperty(CodeStyle.class); if (cs == null) { cs = CodeStyle.getDefault(doc); } List<Context.Region> indentRegions = context.indentRegions(); Collections.reverse(indentRegions); for (Context.Region region : indentRegions) { if (initRegionData(region)) { reformatImpl(region, cs); } } }
private LinkedList<Integer> getStartOffsets(Region region) throws BadLocationException { LinkedList<Integer> offsets = new LinkedList<Integer>(); int offset = region.getEndOffset(); int lso; while (offset > 0 && (lso = context.lineStartOffset(offset)) >= region.getStartOffset()) { offsets.addFirst(lso); offset = lso - 1; } return offsets; }