Mercurial > projects > dwt2
comparison org.eclipse.jface.text/src/org/eclipse/jface/text/rules/WordPatternRule.d @ 16:dbfb303e8fb0
first complete successful compile (win-only)
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 18 Mar 2009 08:56:47 +0100 |
parents | bc29606a740c |
children |
comparison
equal
deleted
inserted
replaced
15:c4b1a29263fc | 16:dbfb303e8fb0 |
---|---|
100 * | 100 * |
101 * @param scanner the scanner to be used | 101 * @param scanner the scanner to be used |
102 * @return <code>true</code> if the word ends on the given end sequence | 102 * @return <code>true</code> if the word ends on the given end sequence |
103 */ | 103 */ |
104 protected bool endSequenceDetected(ICharacterScanner scanner) { | 104 protected bool endSequenceDetected(ICharacterScanner scanner) { |
105 fBuffer.truncate(0); | 105 fBuffer.setLength(0); |
106 int c= scanner.read(); | 106 int c= scanner.read(); |
107 while (fDetector.isWordPart(cast(dchar) c)) { | 107 while (fDetector.isWordPart(cast(dchar) c)) { |
108 fBuffer.append(cast(char) c); | 108 fBuffer.append(cast(char) c); |
109 c= scanner.read(); | 109 c= scanner.read(); |
110 } | 110 } |
111 scanner.unread(); | 111 scanner.unread(); |
112 | 112 |
113 if (fBuffer.length() >= fEndSequence.length) { | 113 if (fBuffer.length() >= fEndSequence.length) { |
114 for (int i=fEndSequence.length - 1, j= fBuffer.length() - 1; i >= 0; i--, j--) { | 114 for (int i=fEndSequence.length - 1, j= fBuffer.length() - 1; i >= 0; i--, j--) { |
115 if (fEndSequence[i] !is fBuffer.slice()[j]) { | 115 if (fEndSequence[i] !is fBuffer.charAt(j)) { |
116 unreadBuffer(scanner); | 116 unreadBuffer(scanner); |
117 return false; | 117 return false; |
118 } | 118 } |
119 } | 119 } |
120 return true; | 120 return true; |
130 * read in as part of the start sequence expect the first one. | 130 * read in as part of the start sequence expect the first one. |
131 * | 131 * |
132 * @param scanner the scanner to be used | 132 * @param scanner the scanner to be used |
133 */ | 133 */ |
134 protected void unreadBuffer(ICharacterScanner scanner) { | 134 protected void unreadBuffer(ICharacterScanner scanner) { |
135 fBuffer.select(0, 0 ); | 135 fBuffer.insert(0, fStartSequence); |
136 fBuffer.replace(fStartSequence); | |
137 for (int i= fBuffer.length() - 1; i > 0; i--) | 136 for (int i= fBuffer.length() - 1; i > 0; i--) |
138 scanner.unread(); | 137 scanner.unread(); |
139 } | 138 } |
140 } | 139 } |