File: Keywords_to_Upper_Case.bsh

package info (click to toggle)
jedit 5.3.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 14,252 kB
  • ctags: 11,190
  • sloc: java: 98,480; xml: 94,070; makefile: 52; sh: 42; cpp: 6; python: 6
file content (51 lines) | stat: -rw-r--r-- 1,347 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/**
 * Converts keyword token types to upper case.
 */
 
//Localization
final static String ConvertedKeywordsMessage   = jEdit.getProperty("macro.rs.KeywordsToUpperCase.ConvertedKeywords.message", "Converted Keywords to Upper Case"); 
 
void keywords2upper(View view)
{
	// declarations run faster than doing Token.KEYWORDx comparison
	byte KEYWORD1 = Token.KEYWORD1;
	byte KEYWORD4 = Token.KEYWORD4;
	JEditBuffer buffer = view.getBuffer();
	JEditTextArea textArea = view.getTextArea();
	Token token = null;

	//long t1 = System.currentTimeMillis();

	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);

	//long t2 = System.currentTimeMillis();
	//print("elapsed: " + (t2-t1));

	view.getStatus().setMessageAndClear(ConvertedKeywordsMessage);
}

keywords2upper(view);