| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright (C) 2011 Zimin A.V. |  | 
| 2 // |  | 
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); |  | 
| 4 // you may not use this file except in compliance with the License. |  | 
| 5 // You may obtain a copy of the License at |  | 
| 6 // |  | 
| 7 //      http://www.apache.org/licenses/LICENSE-2.0 |  | 
| 8 // |  | 
| 9 // Unless required by applicable law or agreed to in writing, software |  | 
| 10 // distributed under the License is distributed on an "AS IS" BASIS, |  | 
| 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |  | 
| 12 // See the License for the specific language governing permissions and |  | 
| 13 // limitations under the License. |  | 
| 14 |  | 
| 15 |  | 
| 16 /** |  | 
| 17  * @fileoverview |  | 
| 18  * Registers a language handler for the Nemerle language. |  | 
| 19  * http://nemerle.org |  | 
| 20  * @author Zimin A.V. |  | 
| 21  */ |  | 
| 22 (function () { |  | 
| 23   // http://nemerle.org/wiki/index.php?title=Base_keywords |  | 
| 24   var keywords = 'abstract|and|as|base|catch|class|def|delegate|enum|event|exter
    n|false|finally|' |  | 
| 25          + 'fun|implements|interface|internal|is|macro|match|matches|module|muta
    ble|namespace|new|' |  | 
| 26          + 'null|out|override|params|partial|private|protected|public|ref|sealed
    |static|struct|' |  | 
| 27          + 'syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatil
    e|when|where|with|' |  | 
| 28          + 'assert|assert2|async|break|checked|continue|do|else|ensures|for|fore
    ach|if|late|lock|new|nolate|' |  | 
| 29          + 'otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unles
    s|using|while|yield'; |  | 
| 30 |  | 
| 31   PR['registerLangHandler'](PR['createSimpleLexer']( |  | 
| 32       // shortcutStylePatterns |  | 
| 33       [ |  | 
| 34         [PR['PR_STRING'], /^(?:\'(?:[^\\\'\r\n]|\\.)*\'|\"(?:[^\\\"\r\n]|\\.)*(?
    :\"|$))/, null, '"'], |  | 
| 35         [PR['PR_COMMENT'], /^#(?:(?:define|elif|else|endif|error|ifdef|include|i
    fndef|line|pragma|undef|warning)\b|[^\r\n]*)/, null, '#'], |  | 
| 36         [PR['PR_PLAIN'], /^\s+/, null, ' \r\n\t\xA0'] |  | 
| 37       ], |  | 
| 38       // fallthroughStylePatterns |  | 
| 39       [ |  | 
| 40         [PR['PR_STRING'], /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null], |  | 
| 41         [PR['PR_STRING'], /^<#(?:[^#>])*(?:#>|$)/, null], |  | 
| 42         [PR['PR_STRING'], /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]
    +\.h|[a-z]\w*)>/, null], |  | 
| 43         [PR['PR_COMMENT'], /^\/\/[^\r\n]*/, null], |  | 
| 44         [PR['PR_COMMENT'], /^\/\*[\s\S]*?(?:\*\/|$)/, null], |  | 
| 45         [PR['PR_KEYWORD'], new RegExp('^(?:' + keywords + ')\\b'), null], |  | 
| 46         [PR['PR_TYPE'], /^(?:array|bool|byte|char|decimal|double|float|int|list|
    long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/, null], |  | 
| 47         [PR['PR_LITERAL'], /^@[a-z_$][a-z_$@0-9]*/i, null], |  | 
| 48         [PR['PR_TYPE'], /^@[A-Z]+[a-z][A-Za-z_$@0-9]*/, null], |  | 
| 49         [PR['PR_PLAIN'], /^'?[A-Za-z_$][a-z_$@0-9]*/i, null], |  | 
| 50         [PR['PR_LITERAL'], new RegExp( |  | 
| 51              '^(?:' |  | 
| 52   // A hex number |  | 
| 53              + '0x[a-f0-9]+' |  | 
| 54   // or an octal or decimal number, |  | 
| 55              + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)' |  | 
| 56   // possibly in scientific notation |  | 
| 57              + '(?:e[+\\-]?\\d+)?' |  | 
| 58              + ')' |  | 
| 59   // with an optional modifier like UL for unsigned long |  | 
| 60              + '[a-z]*', 'i'), null, '0123456789'], |  | 
| 61 |  | 
| 62         [PR['PR_PUNCTUATION'], /^.[^\s\w\.$@\'\"\`\/\#]*/, null] |  | 
| 63       ]), |  | 
| 64       ['n', 'nemerle']); |  | 
| 65 })(); |  | 
| OLD | NEW | 
|---|