/jEdit/tags/jedit-4-2-pre14/macros/Editing/Keywords_to_Upper_Case.bsh
# · Unknown · 55 lines · 48 code · 7 blank · 0 comment · 0 complexity · ab5f021ddd9e01c9d3ec93a2d2bec737 MD5 · raw file
- /**
- * Converts keyword token types to upper case.
- */
- void keywords2upper(View view)
- {
- // declarations run faster than doing Token.KEYWORDx comparison
- byte KEYWORD1 = Token.KEYWORD1;
- byte KEYWORD4 = Token.KEYWORD4;
- Buffer buffer = view.getBuffer();
- JEditTextArea textArea = view.getTextArea();
- Token token = null;
- //long t1 = System.currentTimeMillis();
- try
- {
- buffer.beginCompoundEdit();
- Selection[] selection = textArea.getSelection();
- Buffer.TokenList info = null;
- int pos = 0;
- int lineStart = 0;
- for(int line = 0; line < textArea.getLineCount(); ++line)
- {
- info = buffer.markTokens(line);
- token = info.getFirstToken();
- lineStart = buffer.getLineStartOffset(line);
- pos = lineStart;
- while(token != null)
- {
- if(KEYWORD1 <= token.id && token.id <= KEYWORD4)
- {
- String word = buffer.getText(pos,token.length);
- buffer.remove(pos,token.length);
- buffer.insert(pos,word.toUpperCase());
- }
- pos += token.length;
- token = token.next;
- }
- }
- view.getTextArea().setSelection(selection);
- }
- finally
- {
- buffer.endCompoundEdit();
- }
- //long t2 = System.currentTimeMillis();
- //print("elapsed: " + (t2-t1));
- view.getStatus().setMessageAndClear("Converted Keywords to Upper Case");
- }
- keywords2upper(view);