public void reindent(int line, int count) { if(getDoc() instanceof BaseDocument) { BaseDocument doc = (BaseDocument)getDoc(); boolean keepAtomicLock = doc.isAtomicLock(); if(keepAtomicLock) doc.atomicUnlock(); Indent indent = Indent.get(doc); indent.lock(); try { doc.atomicLock(); try { indent.reindent(getLineStartOffset(line), getLineEndOffset(line + count - 1)); } catch (BadLocationException ex) { ex.printStackTrace(); } finally { if(!keepAtomicLock) doc.atomicUnlock(); } } finally { indent.unlock(); } } else { Util.vim_beep(); } } This example is the end of a 96 line file. Each variable is a public static final String. ====================================== public static List getFsActList() { <<<<< first line List l = new ArrayList(); l.add(TABNEXT); l.add(TABPREV); l.add(WHERE_USED); l.add(JUMP_NEXT); l.add(JUMP_PREV); l.add(RF_RENAME); l.add(RF_MOVE); l.add(RF_COPY); l.add(RF_SAFE_DELETE); l.add(RF_CHANGE_PARAMETERS); l.add(RF_ENCAPSULATE_FIELD); l.add(RF_PULL_UP); l.add(RF_PUSH_DOWN); l.add(RF_INTRODUCE_VARIABLE); l.add(RF_INTRODUCE_CONSTANT); l.add(RF_INTRODUCE_FIELD); l.add(RF_INTRODUCE_METHOD); return l; } <<<<<< last line of indent.reindent } ====================================== public static List getFsActList() { List l = new ArrayList(); l.add(TABNEXT); l.add(TABPREV); l.add(WHERE_USED); l.add(JUMP_NEXT); l.add(JUMP_PREV); l.add(RF_RENAME); l.add(RF_MOVE); l.add(RF_COPY); l.add(RF_SAFE_DELETE); l.add(RF_CHANGE_PARAMETERS); l.add(RF_ENCAPSULATE_FIELD); l.add(RF_PULL_UP); l.add(RF_PUSH_DOWN); l.add(RF_INTRODUCE_VARIABLE); l.add(RF_INTRODUCE_CONSTANT); l.add(RF_INTRODUCE_FIELD); l.add(RF_INTRODUCE_METHOD); return l; } } ======================================