/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
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
- /**
- * 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);