1.1 --- a/python.editor/src/org/netbeans/modules/python/editor/lexer/PythonLexer.java Thu Jul 09 15:46:07 2015 +0200
1.2 +++ b/python.editor/src/org/netbeans/modules/python/editor/lexer/PythonLexer.java Sat Aug 15 01:49:37 2015 +0200
1.3 @@ -703,14 +703,27 @@
1.4 switch (c1) {
1.5 case 'a': // and, as, assert, async, await
1.6 switch (c2) {
1.7 - case 'n': // and
1.8 - if (TokenUtilities.textEquals(s, "and")) { // NOI18N
1.9 + case 'b': // abs
1.10 + if (length == 3 && TokenUtilities.textEquals(s, "abs")) { // NOI18N
1.11 + return PythonTokenId.BUILTIN_FUNCTION;
1.12 + }
1.13 + case 'l': // all
1.14 + if (length == 3 && TokenUtilities.textEquals(s, "all")) { // NOI18N
1.15 + return PythonTokenId.BUILTIN_FUNCTION;
1.16 + }
1.17 + case 'n': // and, any
1.18 + if (length == 3 && TokenUtilities.textEquals(s, "and")) { // NOI18N
1.19 + return PythonTokenId.ANY_KEYWORD;
1.20 + } else if (TokenUtilities.textEquals(s, "any")) { // NOI18N
1.21 + return PythonTokenId.BUILTIN_FUNCTION;
1.22 + }
1.23 + break;
1.24 + case 's': // as, ascii, assert, async
1.25 + if (length == 2) { // as
1.26 return PythonTokenId.ANY_KEYWORD;
1.27 }
1.28 - break;
1.29 - case 's': // as, assert, async
1.30 - if (length == 2) { // as
1.31 - return PythonTokenId.ANY_KEYWORD;
1.32 + if (length == 5 && TokenUtilities.textEquals(s, "ascii")) { // NOI18N
1.33 + return PythonTokenId.BUILTIN_FUNCTION;
1.34 }
1.35 if (length == 6 && TokenUtilities.textEquals(s, "assert")) { // NOI18N
1.36 return PythonTokenId.ANY_KEYWORD;
1.37 @@ -725,21 +738,58 @@
1.38 }
1.39 }
1.40 break;
1.41 - case 'b': // break, bytes
1.42 + case 'b': // basestring, bin, bool, break, bytearray, bytes
1.43 + if (length == 10 && TokenUtilities.textEquals(s, "basestring")) { // NOI18N
1.44 + return PythonTokenId.BUILTIN_FUNCTION;
1.45 + }
1.46 + if (length == 3 && TokenUtilities.textEquals(s, "bin")) { // NOI18N
1.47 + return PythonTokenId.BUILTIN_FUNCTION;
1.48 + }
1.49 + if (length == 4 && TokenUtilities.textEquals(s, "bool")) { // NOI18N
1.50 + return PythonTokenId.BUILTIN_FUNCTION;
1.51 + }
1.52 if (length == 5 && TokenUtilities.textEquals(s, "break")) { // NOI18N
1.53 return PythonTokenId.ANY_KEYWORD;
1.54 - } else if (length == 5 && TokenUtilities.textEquals(s, "bytes")) { // NOI18N
1.55 - return PythonTokenId.STD_SYMBOLS;
1.56 + }
1.57 + if (length == 9 && TokenUtilities.textEquals(s, "bytearray")) { // NOI18N
1.58 + return PythonTokenId.BUILTIN_FUNCTION;
1.59 + }
1.60 + if (length == 5 && TokenUtilities.textEquals(s, "bytes")) { // NOI18N
1.61 + return PythonTokenId.BUILTIN_FUNCTION;
1.62 }
1.63 break;
1.64 - case 'c': // class, continue
1.65 + case 'c': // callable, chr, class, classmethod, continue
1.66 switch (c2) {
1.67 - case 'l': // class
1.68 + case 'a': // callable
1.69 + if (length == 8 && TokenUtilities.textEquals(s, "callable")) { // NOI18N
1.70 + return PythonTokenId.BUILTIN_FUNCTION;
1.71 + }
1.72 + break;
1.73 + case 'h': // chr
1.74 + if (length == 3 && TokenUtilities.textEquals(s, "chr")) { // NOI18N
1.75 + return PythonTokenId.BUILTIN_FUNCTION;
1.76 + }
1.77 + break;
1.78 + case 'l': // class, classmethod
1.79 if (length == 5 && TokenUtilities.textEquals(s, "class")) { // NOI18N
1.80 return PythonTokenId.CLASS;
1.81 }
1.82 + if (length == 11 && TokenUtilities.textEquals(s, "classmethod")) { // NOI18N
1.83 + return PythonTokenId.BUILTIN_FUNCTION;
1.84 + }
1.85 break;
1.86 - case 'o': // continue
1.87 + case 'm': // cmp
1.88 + if (length == 3 && TokenUtilities.textEquals(s, "cmp")) { // NOI18N
1.89 + return PythonTokenId.BUILTIN_FUNCTION;
1.90 + }
1.91 + break;
1.92 + case 'o': // compile, complex, continue
1.93 + if (length == 7 && TokenUtilities.textEquals(s, "compile")) { // NOI18N
1.94 + return PythonTokenId.BUILTIN_FUNCTION;
1.95 + }
1.96 + if (length == 7 && TokenUtilities.textEquals(s, "complex")) { // NOI18N
1.97 + return PythonTokenId.BUILTIN_FUNCTION;
1.98 + }
1.99 if (length == 8 && TokenUtilities.textEquals(s, "continue")) { // NOI18N
1.100 return PythonTokenId.ANY_KEYWORD;
1.101 }
1.102 @@ -747,16 +797,32 @@
1.103 }
1.104 break;
1.105 case 'd': // def, del
1.106 - if (c2 == 'e' && length == 3) { // def, del
1.107 - char c3 = s.charAt(2);
1.108 - if (c3 == 'f') { // def
1.109 - return PythonTokenId.DEF;
1.110 - } else if (c3 == 'l') { // del
1.111 - return PythonTokenId.ANY_KEYWORD;
1.112 - }
1.113 + switch (c2) {
1.114 + case 'e': // def, del, delattr
1.115 + if (length == 3 && TokenUtilities.textEquals(s, "def")) { // NOI18N
1.116 + return PythonTokenId.DEF;
1.117 + }
1.118 + if (length == 3 && TokenUtilities.textEquals(s, "del")) { // NOI18N
1.119 + return PythonTokenId.ANY_KEYWORD;
1.120 + }
1.121 + if (length == 7 && TokenUtilities.textEquals(s, "delattr")) { // NOI18N
1.122 + return PythonTokenId.BUILTIN_FUNCTION;
1.123 + }
1.124 + break;
1.125 + case 'i': // dict, dir, divmod
1.126 + if (length == 4 && TokenUtilities.textEquals(s, "dict")) { // NOI18N
1.127 + return PythonTokenId.BUILTIN_FUNCTION;
1.128 + }
1.129 + if (length == 3 && TokenUtilities.textEquals(s, "dir")) { // NOI18N
1.130 + return PythonTokenId.BUILTIN_FUNCTION;
1.131 + }
1.132 + if (length == 6 && TokenUtilities.textEquals(s, "divmod")) { // NOI18N
1.133 + return PythonTokenId.BUILTIN_FUNCTION;
1.134 + }
1.135 + break;
1.136 }
1.137 break;
1.138 - case 'e': // elif, else, except, exec
1.139 + case 'e': // elif, else, enumerate, eval, except, exec, execfile
1.140 switch (c2) {
1.141 case 'l': // elif, else
1.142 if (length == 4) {
1.143 @@ -770,49 +836,93 @@
1.144 break;
1.145 case 'n': // enumerate
1.146 if (length == 9 && TokenUtilities.textEquals(s, "enumerate")) { // NOI18N
1.147 - return PythonTokenId.STD_SYMBOLS;
1.148 + return PythonTokenId.BUILTIN_FUNCTION;
1.149 }
1.150 - case 'x': // except, exec
1.151 + break;
1.152 + case 'v': // eval
1.153 + if (length == 4 && TokenUtilities.textEquals(s, "eval")) { // NOI18N
1.154 + return PythonTokenId.BUILTIN_FUNCTION;
1.155 + }
1.156 + break;
1.157 + case 'x': // except, exec, execfile
1.158 if (length == 4 && TokenUtilities.textEquals(s, "exec")) { // NOI18N
1.159 return PythonTokenId.ANY_KEYWORD;
1.160 }
1.161 + if (length == 8 && TokenUtilities.textEquals(s, "execfile")) { // NOI18N
1.162 + return PythonTokenId.BUILTIN_FUNCTION;
1.163 + }
1.164 if (length == 6 && TokenUtilities.textEquals(s, "except")) { // NOI18N
1.165 return PythonTokenId.EXCEPT;
1.166 }
1.167 break;
1.168 }
1.169 break;
1.170 - case 'f': // finally,for,from
1.171 + case 'f': // file, filter, finally, for, from
1.172 switch (c2) {
1.173 - case 'i': // finally
1.174 + case 'i': // file, filter, finally
1.175 + if (length == 4 && TokenUtilities.textEquals(s, "file")) { // NOI18N
1.176 + return PythonTokenId.BUILTIN_FUNCTION;
1.177 + }
1.178 + if (length == 6 && TokenUtilities.textEquals(s, "filter")) { // NOI18N
1.179 + return PythonTokenId.BUILTIN_FUNCTION;
1.180 + }
1.181 if (length == 7 && TokenUtilities.textEquals(s, "finally")) { // NOI18N
1.182 return PythonTokenId.FINALLY;
1.183 }
1.184 break;
1.185 - case 'o': // for
1.186 + case 'o': // for, format
1.187 if (length == 3 && TokenUtilities.textEquals(s, "for")) { // NOI18N
1.188 return PythonTokenId.ANY_KEYWORD;
1.189 }
1.190 + if (length == 6 && TokenUtilities.textEquals(s, "format")) { // NOI18N
1.191 + return PythonTokenId.BUILTIN_FUNCTION;
1.192 + }
1.193 break;
1.194 - case 'r': // from
1.195 + case 'r': // from, frozenset
1.196 if (length == 4 && TokenUtilities.textEquals(s, "from")) { // NOI18N
1.197 return PythonTokenId.FROM;
1.198 }
1.199 + if (length == 9 && TokenUtilities.textEquals(s, "frozenset")) { // NOI18N
1.200 + return PythonTokenId.BUILTIN_FUNCTION;
1.201 + }
1.202 break;
1.203 case 'l':
1.204 if (length == 5 && TokenUtilities.textEquals(s, "float")) {
1.205 - return PythonTokenId.STD_SYMBOLS;
1.206 + return PythonTokenId.BUILTIN_FUNCTION;
1.207 }
1.208 + break;
1.209 }
1.210 break;
1.211 - case 'g': // global
1.212 + case 'g': // getattr, global, globals
1.213 + if (length == 7 && TokenUtilities.textEquals(s, "getattr")) { // NOI18N
1.214 + return PythonTokenId.BUILTIN_FUNCTION;
1.215 + }
1.216 if (length == 6 && TokenUtilities.textEquals(s, "global")) { // NOI18N
1.217 return PythonTokenId.ANY_KEYWORD;
1.218 }
1.219 + if (length == 7 && TokenUtilities.textEquals(s, "globals")) { // NOI18N
1.220 + return PythonTokenId.BUILTIN_FUNCTION;
1.221 + }
1.222 break;
1.223 - case 'i': // if,import,in,is, int
1.224 + case 'h': // hasattr, hash, help, hex
1.225 + if (length == 7 && TokenUtilities.textEquals(s, "hasattr")) { // NOI18N
1.226 + return PythonTokenId.BUILTIN_FUNCTION;
1.227 + }
1.228 + if (length == 4 && TokenUtilities.textEquals(s, "hash")) { // NOI18N
1.229 + return PythonTokenId.BUILTIN_FUNCTION;
1.230 + }
1.231 + if (length == 4 && TokenUtilities.textEquals(s, "help")) { // NOI18N
1.232 + return PythonTokenId.BUILTIN_FUNCTION;
1.233 + }
1.234 + if (length == 3 && TokenUtilities.textEquals(s, "hex")) { // NOI18N
1.235 + return PythonTokenId.BUILTIN_FUNCTION;
1.236 + }
1.237 + break;
1.238 + case 'i': // id, if, import, in, input, int, is, issubclass, iter
1.239 if (length == 2) {
1.240 switch (c2) {
1.241 + case 'd': // id
1.242 + return PythonTokenId.BUILTIN_FUNCTION;
1.243 case 'f': // if
1.244 return PythonTokenId.IF;
1.245 case 'n': // in
1.246 @@ -823,76 +933,172 @@
1.247 return PythonTokenId.ANY_KEYWORD;
1.248 }
1.249 } else if (c2 == 'm' && length == 6 && TokenUtilities.textEquals(s, "import")) { // NOI18N
1.250 - // import
1.251 return PythonTokenId.IMPORT;
1.252 + } else if (length == 5 && TokenUtilities.textEquals(s, "input")) { // NOI18N
1.253 + return PythonTokenId.BUILTIN_FUNCTION;
1.254 } else if (length == 3 && TokenUtilities.textEquals(s, "int")) { // NOI18N
1.255 - return PythonTokenId.STD_SYMBOLS;
1.256 + return PythonTokenId.BUILTIN_FUNCTION;
1.257 } else if (length == 10 && TokenUtilities.textEquals(s, "isinstance")) { // NOI18N
1.258 - return PythonTokenId.STD_SYMBOLS;
1.259 + return PythonTokenId.BUILTIN_FUNCTION;
1.260 + } else if (length == 10 && TokenUtilities.textEquals(s, "issubclass")) { // NOI18N
1.261 + return PythonTokenId.BUILTIN_FUNCTION;
1.262 + } else if (length == 4 && TokenUtilities.textEquals(s, "iter")) { // NOI18N
1.263 + return PythonTokenId.BUILTIN_FUNCTION;
1.264 }
1.265 break;
1.266 - case 'l': // lambda, len, list
1.267 + case 'l': // lambda, len, list, locals, long
1.268 if (length == 6 && TokenUtilities.textEquals(s, "lambda")) { // NOI18N
1.269 return PythonTokenId.ANY_KEYWORD;
1.270 } else if (length == 3 && TokenUtilities.textEquals(s, "len")) { // NOI18N
1.271 - return PythonTokenId.STD_SYMBOLS;
1.272 + return PythonTokenId.BUILTIN_FUNCTION;
1.273 } else if (length == 4 && TokenUtilities.textEquals(s, "list")) { // NOI18N
1.274 - return PythonTokenId.STD_SYMBOLS;
1.275 + return PythonTokenId.BUILTIN_FUNCTION;
1.276 + } else if (length == 6 && TokenUtilities.textEquals(s, "locals")) { // NOI18N
1.277 + return PythonTokenId.BUILTIN_FUNCTION;
1.278 + } else if (length == 4 && TokenUtilities.textEquals(s, "long")) { // NOI18N
1.279 + return PythonTokenId.BUILTIN_FUNCTION;
1.280 }
1.281 break;
1.282 - case 'n': // not
1.283 + case 'm': // map, max, memoryview, min
1.284 + if (length == 3 && TokenUtilities.textEquals(s, "map")) { // NOI18N
1.285 + return PythonTokenId.BUILTIN_FUNCTION;
1.286 + }
1.287 + if (length == 3 && TokenUtilities.textEquals(s, "max")) { // NOI18N
1.288 + return PythonTokenId.BUILTIN_FUNCTION;
1.289 + }
1.290 + if (length == 10 && TokenUtilities.textEquals(s, "memoryview")) { // NOI18N
1.291 + return PythonTokenId.BUILTIN_FUNCTION;
1.292 + }
1.293 + if (length == 3 && TokenUtilities.textEquals(s, "min")) { // NOI18N
1.294 + return PythonTokenId.BUILTIN_FUNCTION;
1.295 + }
1.296 + break;
1.297 + case 'n': // next, nonlocal, not
1.298 + if (length == 4 && TokenUtilities.textEquals(s, "next")) { // NOI18N
1.299 + return PythonTokenId.BUILTIN_FUNCTION;
1.300 + }
1.301 + if (length == 8 && TokenUtilities.textEquals(s, "nonlocal")) { // NOI18N
1.302 + return PythonTokenId.ANY_KEYWORD;
1.303 + }
1.304 if (length == 3 && TokenUtilities.textEquals(s, "not")) { // NOI18N
1.305 return PythonTokenId.ANY_KEYWORD;
1.306 - } else if (length == 8 && TokenUtilities.textEquals(s, "nonlocal")) { // NOI18N
1.307 - return PythonTokenId.ANY_KEYWORD;
1.308 }
1.309 break;
1.310 - case 'o': // or, object
1.311 + case 'o': // or, object, oct, open, ord
1.312 if (length == 2 && TokenUtilities.textEquals(s, "or")) { // NOI18N
1.313 return PythonTokenId.ANY_KEYWORD;
1.314 - } else if (length == 6 && TokenUtilities.textEquals(s, "object")) { // NOI18N
1.315 - return PythonTokenId.STD_SYMBOLS;
1.316 + }
1.317 + if (length == 6 && TokenUtilities.textEquals(s, "object")) { // NOI18N
1.318 + return PythonTokenId.BUILTIN_FUNCTION;
1.319 + }
1.320 + if (length == 3 && TokenUtilities.textEquals(s, "oct")) { // NOI18N
1.321 + return PythonTokenId.BUILTIN_FUNCTION;
1.322 + }
1.323 + if (length == 4 && TokenUtilities.textEquals(s, "open")) { // NOI18N
1.324 + return PythonTokenId.BUILTIN_FUNCTION;
1.325 + }
1.326 + if (length == 3 && TokenUtilities.textEquals(s, "ord")) { // NOI18N
1.327 + return PythonTokenId.BUILTIN_FUNCTION;
1.328 }
1.329 break;
1.330 - case 'p': // pass,print
1.331 + case 'p': // pass, pow, print, property
1.332 if (c2 == 'a') { // pass
1.333 if (length == 4 && TokenUtilities.textEquals(s, "pass")) { // NOI18N
1.334 return PythonTokenId.PASS;
1.335 }
1.336 - } else if (c2 == 'r') { // print
1.337 + }
1.338 + if (length == 3 && TokenUtilities.textEquals(s, "pow")) { // NOI18N
1.339 + return PythonTokenId.BUILTIN_FUNCTION;
1.340 + }
1.341 + if (c2 == 'r') { // print, property
1.342 if (length == 5 && TokenUtilities.textEquals(s, "print")) { // NOI18N
1.343 return PythonTokenId.ANY_KEYWORD;
1.344 }
1.345 + if (length == 8 && TokenUtilities.textEquals(s, "property")) { // NOI18N
1.346 + return PythonTokenId.BUILTIN_FUNCTION;
1.347 + }
1.348 }
1.349 break;
1.350 - case 'r': // raise,return
1.351 - if (c2 == 'a') { // raise
1.352 + case 'r': // raise, range, raise, raw_input, reduce, reload, repr, return, reversed, round
1.353 + if (c2 == 'a') { // raise, range
1.354 + if (length == 5 && TokenUtilities.textEquals(s, "range")) { // NOI18N
1.355 + return PythonTokenId.BUILTIN_FUNCTION;
1.356 + }
1.357 if (length == 5 && TokenUtilities.textEquals(s, "raise")) { // NOI18N
1.358 return PythonTokenId.RAISE;
1.359 }
1.360 - } else if (c2 == 'e') { // return
1.361 + if (length == 9 && TokenUtilities.textEquals(s, "raw_input")) { // NOI18N
1.362 + return PythonTokenId.BUILTIN_FUNCTION;
1.363 + }
1.364 + } else if (c2 == 'e') { // reduce, reload, repr, return, reversed
1.365 + if (length == 6 && TokenUtilities.textEquals(s, "reduce")) { // NOI18N
1.366 + return PythonTokenId.BUILTIN_FUNCTION;
1.367 + }
1.368 + if (length == 6 && TokenUtilities.textEquals(s, "reload")) { // NOI18N
1.369 + return PythonTokenId.BUILTIN_FUNCTION;
1.370 + }
1.371 + if (length == 4 && TokenUtilities.textEquals(s, "repr")) { // NOI18N
1.372 + return PythonTokenId.BUILTIN_FUNCTION;
1.373 + }
1.374 if (length == 6 && TokenUtilities.textEquals(s, "return")) { // NOI18N
1.375 return PythonTokenId.RETURN;
1.376 }
1.377 + if (length == 8 && TokenUtilities.textEquals(s, "reversed")) { // NOI18N
1.378 + return PythonTokenId.BUILTIN_FUNCTION;
1.379 + }
1.380 + } else if (length == 5 && TokenUtilities.textEquals(s, "round")) { // NOI18N
1.381 + return PythonTokenId.BUILTIN_FUNCTION;
1.382 }
1.383 break;
1.384 - case 's': // self, set, str, super
1.385 + case 's': // self, set, setattr, slice, sorted, staticmethod, str, sum, super
1.386 if (length == 4 && TokenUtilities.textEquals(s, "self")) { // NOI18N
1.387 return PythonTokenId.ANY_KEYWORD;
1.388 - } else if (length == 3 && TokenUtilities.textEquals(s, "set")) { // NOI18N
1.389 - return PythonTokenId.STD_SYMBOLS;
1.390 - } else if (length == 3 && TokenUtilities.textEquals(s, "str")) { // NOI18N
1.391 - return PythonTokenId.STD_SYMBOLS;
1.392 - } else if (length == 5 && TokenUtilities.textEquals(s, "super")) { // NOI18N
1.393 - return PythonTokenId.ANY_KEYWORD;
1.394 }
1.395 + if (length == 3 && TokenUtilities.textEquals(s, "set")) { // NOI18N
1.396 + return PythonTokenId.BUILTIN_FUNCTION;
1.397 + }
1.398 + if (length == 7 && TokenUtilities.textEquals(s, "setattr")) { // NOI18N
1.399 + return PythonTokenId.BUILTIN_FUNCTION;
1.400 + }
1.401 + if (length == 5 && TokenUtilities.textEquals(s, "slice")) { // NOI18N
1.402 + return PythonTokenId.BUILTIN_FUNCTION;
1.403 + }
1.404 + if (length == 6 && TokenUtilities.textEquals(s, "sorted")) { // NOI18N
1.405 + return PythonTokenId.BUILTIN_FUNCTION;
1.406 + }
1.407 + if (length == 12 && TokenUtilities.textEquals(s, "staticmethod")) { // NOI18N
1.408 + return PythonTokenId.BUILTIN_FUNCTION;
1.409 + }
1.410 + if (length == 3 && TokenUtilities.textEquals(s, "str")) { // NOI18N
1.411 + return PythonTokenId.BUILTIN_FUNCTION;
1.412 + }
1.413 + if (length == 3 && TokenUtilities.textEquals(s, "sum")) { // NOI18N
1.414 + return PythonTokenId.BUILTIN_FUNCTION;
1.415 + }
1.416 + if (length == 5 && TokenUtilities.textEquals(s, "super")) { // NOI18N
1.417 + return PythonTokenId.BUILTIN_FUNCTION;
1.418 + }
1.419 + break;
1.420 case 't': // try, tuple, type
1.421 if (length == 3 && TokenUtilities.textEquals(s, "try")) { // NOI18N
1.422 return PythonTokenId.TRY;
1.423 } else if (length == 5 && TokenUtilities.textEquals(s, "tuple")) { // NOI18N
1.424 - return PythonTokenId.STD_SYMBOLS;
1.425 + return PythonTokenId.BUILTIN_FUNCTION;
1.426 } else if (length == 4 && TokenUtilities.textEquals(s, "type")) { // NOI18N
1.427 - return PythonTokenId.STD_SYMBOLS;
1.428 + return PythonTokenId.BUILTIN_FUNCTION;
1.429 + }
1.430 + break;
1.431 + case 'u': // unichr, unicode
1.432 + if (length == 6 && TokenUtilities.textEquals(s, "unichr")) { // NOI18N
1.433 + return PythonTokenId.BUILTIN_FUNCTION;
1.434 + }
1.435 + if (length == 7 && TokenUtilities.textEquals(s, "unicode")) { // NOI18N
1.436 + return PythonTokenId.BUILTIN_FUNCTION;
1.437 + }
1.438 + break;
1.439 + case 'v': // vars
1.440 + if (length == 4 && TokenUtilities.textEquals(s, "vars")) { // NOI18N
1.441 + return PythonTokenId.BUILTIN_FUNCTION;
1.442 }
1.443 break;
1.444 case 'w': // while,with
1.445 @@ -906,27 +1112,41 @@
1.446 }
1.447 }
1.448 break;
1.449 + case 'x': // xrange
1.450 + if (length == 6 && TokenUtilities.textEquals(s, "xrange")) { // NOI18N
1.451 + return PythonTokenId.BUILTIN_FUNCTION;
1.452 + }
1.453 + break;
1.454 case 'y': // yield
1.455 if (length == 5 && TokenUtilities.textEquals(s, "yield")) { // NOI18N
1.456 return PythonTokenId.ANY_KEYWORD;
1.457 }
1.458 break;
1.459 + case 'z': // zip
1.460 + if (length == 3 && TokenUtilities.textEquals(s, "zip")) { // NOI18N
1.461 + return PythonTokenId.BUILTIN_FUNCTION;
1.462 + }
1.463 + break;
1.464 case 'F': // False
1.465 if (length == 5 && TokenUtilities.textEquals(s, "False")) { // NOI18N
1.466 return PythonTokenId.FALSE;
1.467 }
1.468 + break;
1.469 case 'N': // None
1.470 if (length == 4 && TokenUtilities.textEquals(s, "None")) { // NOI18N
1.471 return PythonTokenId.NONE;
1.472 }
1.473 + break;
1.474 case 'T': // True
1.475 if (length == 4 && TokenUtilities.textEquals(s, "True")) { // NOI18N
1.476 return PythonTokenId.TRUE;
1.477 }
1.478 + break;
1.479 case '_': // Special symbols of python
1.480 if (length > 4 && TokenUtilities.startsWith(s, "__") && TokenUtilities.endsWith(s, "__")) { // NOI18N
1.481 - return PythonTokenId.STD_SYMBOLS;
1.482 + return PythonTokenId.BUILTIN_FUNCTION;
1.483 }
1.484 + break;
1.485 }
1.486
1.487 return null;
2.1 --- a/python.editor/src/org/netbeans/modules/python/editor/lexer/PythonTokenId.java Thu Jul 09 15:46:07 2015 +0200
2.2 +++ b/python.editor/src/org/netbeans/modules/python/editor/lexer/PythonTokenId.java Sat Aug 15 01:49:37 2015 +0200
2.3 @@ -81,7 +81,7 @@
2.4 DECORATOR(null, OPERATOR_CAT), // NOI18N
2.5 // CONTINUED_LINE(null, WHITESPACE_CAT), // NOI18N
2.6 COMMENT(null, COMMENT_CAT),
2.7 - STD_SYMBOLS(null, KEYWORD_CAT), // NOI18N
2.8 + BUILTIN_FUNCTION(null, KEYWORD_CAT), // NOI18N
2.9 LPAREN("(", SEPARATOR_CAT), // NOI18N
2.10 RPAREN(")", SEPARATOR_CAT), // NOI18N
2.11 LBRACE("{", SEPARATOR_CAT), // NOI18N
3.1 --- a/python.editor/src/org/netbeans/modules/python/editor/resources/fontsColors.xml Thu Jul 09 15:46:07 2015 +0200
3.2 +++ b/python.editor/src/org/netbeans/modules/python/editor/resources/fontsColors.xml Sat Aug 15 01:49:37 2015 +0200
3.3 @@ -45,7 +45,7 @@
3.4 <font style="bold" />
3.5 </fontcolor>
3.6 <fontcolor name="ERROR" foreColor="CC3300" />
3.7 - <fontcolor name="STD_SYMBOLS" foreColor="3366CC" />
3.8 + <fontcolor name="BUILTIN_FUNCTION" foreColor="3366CC" />
3.9
3.10 <!--"semantic" highlighting:-->
3.11 <fontcolor name="mod-unused" waveUnderlined="999999"/>