comparison dwtx/jface/text/rules/WordRule.d @ 134:51e6e63f930e

Regex fix for casts
author Frank Benoit <benoit@tionex.de>
date Sun, 24 Aug 2008 01:46:20 +0200
parents 7d818bd32d63
children f70d9508c95c
comparison
equal deleted inserted replaced
133:7d818bd32d63 134:51e6e63f930e
157 /* 157 /*
158 * @see IRule#evaluate(ICharacterScanner) 158 * @see IRule#evaluate(ICharacterScanner)
159 */ 159 */
160 public IToken evaluate(ICharacterScanner scanner) { 160 public IToken evaluate(ICharacterScanner scanner) {
161 int c= scanner.read(); 161 int c= scanner.read();
162 if (c !is ICharacterScanner.EOF && fDetector.isWordStart((char) c)) { 162 if (c !is ICharacterScanner.EOF && fDetector.isWordStart(cast(wchar) c)) {
163 if (fColumn is UNDEFINED || (fColumn is scanner.getColumn() - 1)) { 163 if (fColumn is UNDEFINED || (fColumn is scanner.getColumn() - 1)) {
164 164
165 fBuffer.setLength(0); 165 fBuffer.setLength(0);
166 do { 166 do {
167 fBuffer.append((char) c); 167 fBuffer.append(cast(wchar) c);
168 c= scanner.read(); 168 c= scanner.read();
169 } while (c !is ICharacterScanner.EOF && fDetector.isWordPart((char) c)); 169 } while (c !is ICharacterScanner.EOF && fDetector.isWordPart(cast(wchar) c));
170 scanner.unread(); 170 scanner.unread();
171 171
172 String buffer= fBuffer.toString(); 172 String buffer= fBuffer.toString();
173 IToken token= (IToken)fWords.get(buffer); 173 IToken token= cast(IToken)fWords.get(buffer);
174 174
175 if(fIgnoreCase) { 175 if(fIgnoreCase) {
176 Iterator iter= fWords.keySet().iterator(); 176 Iterator iter= fWords.keySet().iterator();
177 while (iter.hasNext()) { 177 while (iter.hasNext()) {
178 String key= (String)iter.next(); 178 String key= cast(String)iter.next();
179 if(buffer.equalsIgnoreCase(key)) { 179 if(buffer.equalsIgnoreCase(key)) {
180 token= (IToken)fWords.get(key); 180 token= cast(IToken)fWords.get(key);
181 break; 181 break;
182 } 182 }
183 } 183 }
184 } else 184 } else
185 token= (IToken)fWords.get(buffer); 185 token= cast(IToken)fWords.get(buffer);
186 186
187 if (token !is null) 187 if (token !is null)
188 return token; 188 return token;
189 189
190 if (fDefaultToken.isUndefined()) 190 if (fDefaultToken.isUndefined())