App-Mxpress-PDF

 view release on metacpan or  search on metacpan

public/javascripts/ace/mode-haskell.js  view on Meta::CPAN

            [ { token: 'meta.deriving.haskell', regex: '\\)', next: 'pop' },
              { token: 'entity.other.inherited-class.haskell',
                regex: '\\b[A-Z][a-zA-Z_\']*' },
              { defaultToken: 'meta.deriving.haskell' } ] },
         { token: 'keyword.other.haskell',
           regex: '\\b(?:deriving|where|data|type|case|of|let|in|newtype|default)\\b' },
         { token: 'keyword.operator.haskell', regex: '\\binfix[lr]?\\b' },
         { token: 'keyword.control.haskell',
           regex: '\\b(?:do|if|then|else)\\b' },
         { token: 'constant.numeric.float.haskell',
           regex: '\\b(?:[0-9]+\\.[0-9]+(?:[eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b',
           comment: 'Floats are always decimal' },
         { token: 'constant.numeric.haskell',
           regex: '\\b(?:[0-9]+|0(?:[xX][0-9a-fA-F]+|[oO][0-7]+))\\b' },
         { token:
            [ 'meta.preprocessor.c',
              'punctuation.definition.preprocessor.c',
              'meta.preprocessor.c' ],
           regex: '^(\\s*)(#)(\\s*\\w+)',
           comment: 'In addition to Haskell\'s "native" syntax, GHC permits the C preprocessor to be run on a source file.' },
         { include: '#pragma' },
         { token: 'punctuation.definition.string.begin.haskell',
           regex: '"',
           push:
            [ { token: 'punctuation.definition.string.end.haskell',
                regex: '"',
                next: 'pop' },
              { token: 'constant.character.escape.haskell',
                regex: '\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\"\'\\&])' },
              { token: 'constant.character.escape.octal.haskell',
                regex: '\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+' },
              { token: 'constant.character.escape.control.haskell',
                regex: '\\^[A-Z@\\[\\]\\\\\\^_]' },
              { defaultToken: 'string.quoted.double.haskell' } ] },
         { token:
            [ 'punctuation.definition.string.begin.haskell',
              'string.quoted.single.haskell',
              'constant.character.escape.haskell',
              'constant.character.escape.octal.haskell',
              'constant.character.escape.hexadecimal.haskell',
              'constant.character.escape.control.haskell',
              'punctuation.definition.string.end.haskell' ],
           regex: '(\')(?:([\\ -\\[\\]-~])|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\"\'\\&]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\...
         { token:
            [ 'meta.function.type-declaration.haskell',
              'entity.name.function.haskell',
              'meta.function.type-declaration.haskell',
              'keyword.other.double-colon.haskell' ],
           regex: '^(\\s*)([a-z_][a-zA-Z0-9_\']*|\\([|!%$+\\-.,=</>]+\\))(\\s*)(::)',
           push:
            [ { token: 'meta.function.type-declaration.haskell',
                regex: '$',
                next: 'pop' },
              { include: '#type_signature' },
              { defaultToken: 'meta.function.type-declaration.haskell' } ] },
         { token: 'support.constant.haskell',
           regex: '\\b(?:Just|Nothing|Left|Right|True|False|LT|EQ|GT|\\(\\)|\\[\\])\\b' },
         { token: 'constant.other.haskell', regex: '\\b[A-Z]\\w*\\b' },
         { include: '#comments' },
         { token: 'support.function.prelude.haskell',
           regex: '\\b(?:abs|acos|acosh|all|and|any|appendFile|applyM|asTypeOf|asin|asinh|atan|atan2|atanh|break|catch|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|elem|encodeFloat|enumFrom|enumFro...
         { include: '#infix_op' },
         { token: 'keyword.operator.haskell',
           regex: '[|!%$?~+:\\-.=</>\\\\]+',
           comment: 'In case this regex seems overly general, note that Haskell permits the definition of new operators which can be nearly any string of punctuation characters, such as $%^&*.' },
         { token: 'punctuation.separator.comma.haskell', regex: ',' } ],
      '#block_comment':
       [ { token: 'punctuation.definition.comment.haskell',
           regex: '\\{-(?!#)',
           push:
            [ { include: '#block_comment' },
              { token: 'punctuation.definition.comment.haskell',
                regex: '-\\}',
                next: 'pop' },
              { defaultToken: 'comment.block.haskell' } ] } ],
      '#comments':
       [ { token: 'punctuation.definition.comment.haskell',
           regex: '--.*',
           push_:
            [ { token: 'comment.line.double-dash.haskell',
                regex: '$',
                next: 'pop' },
              { defaultToken: 'comment.line.double-dash.haskell' } ] },
         { include: '#block_comment' } ],
      '#infix_op':
       [ { token: 'entity.name.function.infix.haskell',
           regex: '\\([|!%$+:\\-.=</>]+\\)|\\(,+\\)' } ],
      '#module_exports':
       [ { token: 'meta.declaration.exports.haskell',
           regex: '\\(',
           push:
            [ { token: 'meta.declaration.exports.haskell.end',
                regex: '\\)',
                next: 'pop' },
              { token: 'entity.name.function.haskell',
                regex: '\\b[a-z][a-zA-Z_\']*' },
              { token: 'storage.type.haskell', regex: '\\b[A-Z][A-Za-z_\']*' },
              { token: 'punctuation.separator.comma.haskell', regex: ',' },
              { include: '#infix_op' },
              { token: 'meta.other.unknown.haskell',
                regex: '\\(.*?\\)',
                comment: 'So named because I don\'t know what to call this.' },
              { defaultToken: 'meta.declaration.exports.haskell.end' } ] } ],
      '#module_name':
       [ { token: 'support.other.module.haskell',
           regex: '[A-Z][A-Za-z._\']*' } ],
      '#pragma':
       [ { token: 'meta.preprocessor.haskell',
           regex: '\\{-#',
           push:
            [ { token: 'meta.preprocessor.haskell',
                regex: '#-\\}',
                next: 'pop' },
              { token: 'keyword.other.preprocessor.haskell',
                regex: '\\b(?:LANGUAGE|UNPACK|INLINE)\\b' },
              { defaultToken: 'meta.preprocessor.haskell' } ] } ],
      '#type_signature':
       [ { token:
            [ 'meta.class-constraint.haskell',
              'entity.other.inherited-class.haskell',
              'meta.class-constraint.haskell',



( run in 0.705 second using v1.01-cache-2.11-cpan-ceb78f64989 )