01: /*
02: * Copyright (C) 2005 - 2008 JasperSoft Corporation. All rights reserved.
03: * http://www.jaspersoft.com.
04: *
05: * Unless you have purchased a commercial license agreement from JasperSoft,
06: * the following license terms apply:
07: *
08: * This program is free software; you can redistribute it and/or modify
09: * it under the terms of the GNU General Public License version 2 as published by
10: * the Free Software Foundation.
11: *
12: * This program is distributed WITHOUT ANY WARRANTY; and without the
13: * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14: * See the GNU General Public License for more details.
15: *
16: * You should have received a copy of the GNU General Public License
17: * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18: * or write to:
19: *
20: * Free Software Foundation, Inc.,
21: * 59 Temple Place - Suite 330,
22: * Boston, MA USA 02111-1307
23: *
24: *
25: *
26: *
27: * PatchTokenMarker.java
28: *
29: */
30:
31: package org.syntax.jedit.tokenmarker;
32:
33: import javax.swing.text.Segment;
34:
35: /**
36: * Patch/diff token marker.
37: *
38: * @author Slava Pestov
39: * @version $Id: PatchTokenMarker.java 1167 2008-01-15 18:49:05Z gtoffoli $
40: */
41: public class PatchTokenMarker extends TokenMarker {
42: public byte markTokensImpl(byte token, Segment line, int lineIndex) {
43: if (line.count == 0)
44: return Token.NULL;
45: switch (line.array[line.offset]) {
46: case '+':
47: case '>':
48: addToken(line.count, Token.KEYWORD1);
49: break;
50: case '-':
51: case '<':
52: addToken(line.count, Token.KEYWORD2);
53: break;
54: case '@':
55: case '*':
56: addToken(line.count, Token.KEYWORD3);
57: break;
58: default:
59: addToken(line.count, Token.NULL);
60: break;
61: }
62: return Token.NULL;
63: }
64:
65: public boolean supportsMultilineTokens() {
66: return false;
67: }
68: }
|