17
17
* Recognizes GNU format changelog. Can be configured to return different types
20
20
* @author klee (Kyu Lee)
22
22
public class GNUElementScanner extends RuleBasedScanner {
24
public static final String FILE_NAME = "_file_name"; // $NON-NLS-1$
24
public static final String FILE_NAME = "_file_name"; // $NON-NLS-1$
25
25
public static final String TEXT = "_text_content"; // $NON-NLS-1$
26
public static final String EMAIL = "_author_email"; // $NON-NLS-1$
27
public static final String DATE = "_entry_date"; // $NON-NLS-1$
28
public static final String AUTHOR = "_author_name"; // $NON-NLS-1$
29
public static final String FUNC_NAME = "_function_name"; // $NON-NLS-1$
30
public static final String OTHER = "_other"; // $NON-NLS-1$
32
* Build a scanner for syntax highlighting.
34
* @param manager Color scheme to use.
36
public GNUElementScanner(ColorManager manager) {
37
IToken file = new Token(new TextAttribute(manager
38
.getColor(IChangeLogColorConstants.FILE_NAME)));
40
IToken func = new Token(new TextAttribute(manager
41
.getColor(IChangeLogColorConstants.FUNC_NAME)));
43
IToken email = new Token(new TextAttribute(manager
44
.getColor(IChangeLogColorConstants.EMAIL)));
46
IToken other = new Token(new TextAttribute(manager
47
.getColor(IChangeLogColorConstants.TEXT)));
49
IRule[] rules = new IRule[3];
51
// Add rule for file path
52
rules[0] = new GNUFileEntryRule(file);
55
rules[1] = new SingleLineRule("(", ")", func); // $NON-NLS-1$ // $NON-NLS-2$
57
rules[2] = new SingleLineRule("<", ">\n", email); // $NON-NLS-1$ // $NON-NLS-2$
59
setDefaultReturnToken(other);
65
* Build a scanner for hyperlink.
68
public GNUElementScanner() {
69
IToken file = new Token(FILE_NAME);
71
IToken func = new Token(FUNC_NAME);
73
IToken email = new Token(EMAIL);
75
IToken other = new Token(OTHER);
77
IRule[] rules = new IRule[3];
79
// Add rule for file path
80
rules[0] = new GNUFileEntryRule(file);
83
rules[1] = new SingleLineRule("(", "):", func); // $NON-NLS-1$ // $NON-NLS-2$
85
rules[2]= new SingleLineRule("<", ">", email); // $NON-NLS-1$ // $NON-NLS-2$
87
setDefaultReturnToken(other);
93
* Get the file offset.
95
* @return the file offset.
97
public int getOffset() {
102
* Get the default token.
104
* @return the default token.
106
public IToken getDefaultToken() {
107
return fDefaultReturnToken;
26
public static final String EMAIL = "_author_email"; // $NON-NLS-1$
27
public static final String DATE = "_entry_date"; // $NON-NLS-1$
28
public static final String AUTHOR = "_author_name"; // $NON-NLS-1$
29
public static final String FUNC_NAME = "_function_name"; // $NON-NLS-1$
30
public static final String OTHER = "_other"; // $NON-NLS-1$
32
* Build a scanner for syntax highlighting.
34
* @param manager Color scheme to use.
36
public GNUElementScanner(ColorManager manager) {
37
IToken file = new Token(new TextAttribute(manager
38
.getColor(IChangeLogColorConstants.FILE_NAME)));
40
IToken func = new Token(new TextAttribute(manager
41
.getColor(IChangeLogColorConstants.FUNC_NAME)));
43
IToken email = new Token(new TextAttribute(manager
44
.getColor(IChangeLogColorConstants.EMAIL)));
46
IToken other = new Token(new TextAttribute(manager
47
.getColor(IChangeLogColorConstants.TEXT)));
49
IRule[] rules = new IRule[3];
51
// Add rule for file path
52
rules[0] = new GNUFileEntryRule(file);
55
rules[1] = new SingleLineRule("(", ")", func); // $NON-NLS-1$ // $NON-NLS-2$
57
rules[2] = new SingleLineRule("<", ">\n", email); // $NON-NLS-1$ // $NON-NLS-2$
59
setDefaultReturnToken(other);
65
* Build a scanner for hyperlink.
68
public GNUElementScanner() {
69
IToken file = new Token(FILE_NAME);
71
IToken func = new Token(FUNC_NAME);
73
IToken email = new Token(EMAIL);
75
IToken other = new Token(OTHER);
77
IRule[] rules = new IRule[3];
79
// Add rule for file path
80
rules[0] = new GNUFileEntryRule(file);
83
rules[1] = new SingleLineRule("(", "):", func); // $NON-NLS-1$ // $NON-NLS-2$
85
rules[2]= new SingleLineRule("<", ">", email); // $NON-NLS-1$ // $NON-NLS-2$
87
setDefaultReturnToken(other);
93
* Get the file offset.
95
* @return the file offset.
97
public int getOffset() {
102
* Get the default token.
104
* @return the default token.
106
public IToken getDefaultToken() {
107
return fDefaultReturnToken;