golden hour
/home/phakp/public_html/erp/includes/ace/src
⬆️ Go Up
Upload
File/Folder
Size
Actions
ace.js
717.99 KB
Del
OK
ext-beautify.js
11.79 KB
Del
OK
ext-code_lens.js
7.49 KB
Del
OK
ext-elastic_tabstops_lite.js
8.74 KB
Del
OK
ext-emmet.js
47.29 KB
Del
OK
ext-error_marker.js
336 B
Del
OK
ext-keybinding_menu.js
6.06 KB
Del
OK
ext-language_tools.js
74.47 KB
Del
OK
ext-linking.js
1.95 KB
Del
OK
ext-modelist.js
7.1 KB
Del
OK
ext-options.js
23.92 KB
Del
OK
ext-prompt.js
94.39 KB
Del
OK
ext-rtl.js
4.44 KB
Del
OK
ext-searchbox.js
16.74 KB
Del
OK
ext-settings_menu.js
24.74 KB
Del
OK
ext-spellcheck.js
2.46 KB
Del
OK
ext-split.js
6.39 KB
Del
OK
ext-static_highlight.js
6.87 KB
Del
OK
ext-statusbar.js
1.87 KB
Del
OK
ext-textarea.js
16.11 KB
Del
OK
ext-themelist.js
2.63 KB
Del
OK
ext-whitespace.js
6.44 KB
Del
OK
keybinding-emacs.js
39.72 KB
Del
OK
keybinding-sublime.js
11.12 KB
Del
OK
keybinding-vim.js
214.18 KB
Del
OK
keybinding-vscode.js
8.07 KB
Del
OK
mode-abap.js
9.17 KB
Del
OK
mode-abc.js
9.17 KB
Del
OK
mode-actionscript.js
24.39 KB
Del
OK
mode-ada.js
4.2 KB
Del
OK
mode-apache_conf.js
18.94 KB
Del
OK
mode-apex.js
15.28 KB
Del
OK
mode-applescript.js
9.67 KB
Del
OK
mode-aql.js
4.6 KB
Del
OK
mode-asciidoc.js
13.79 KB
Del
OK
mode-asl.js
15.9 KB
Del
OK
mode-assembly_x86.js
11.76 KB
Del
OK
mode-autohotkey.js
66.03 KB
Del
OK
mode-batchfile.js
8.37 KB
Del
OK
mode-bro.js
11.09 KB
Del
OK
mode-c9search.js
9.72 KB
Del
OK
mode-c_cpp.js
18.81 KB
Del
OK
mode-cirru.js
6.15 KB
Del
OK
mode-clojure.js
12.77 KB
Del
OK
mode-cobol.js
3.6 KB
Del
OK
mode-coffee.js
14.34 KB
Del
OK
mode-coldfusion.js
102.71 KB
Del
OK
mode-crystal.js
23.55 KB
Del
OK
mode-csharp.js
16.41 KB
Del
OK
mode-csound_document.js
120.57 KB
Del
OK
mode-csound_orchestra.js
73.25 KB
Del
OK
mode-csound_score.js
14.02 KB
Del
OK
mode-csp.js
2.22 KB
Del
OK
mode-css.js
31.06 KB
Del
OK
mode-curly.js
100.79 KB
Del
OK
mode-d.js
17.42 KB
Del
OK
mode-dart.js
24.72 KB
Del
OK
mode-diff.js
4.64 KB
Del
OK
mode-django.js
101.6 KB
Del
OK
mode-dockerfile.js
16.11 KB
Del
OK
mode-dot.js
13.82 KB
Del
OK
mode-drools.js
18.68 KB
Del
OK
mode-edifact.js
5.31 KB
Del
OK
mode-eiffel.js
5.15 KB
Del
OK
mode-ejs.js
118.45 KB
Del
OK
mode-elixir.js
23.07 KB
Del
OK
mode-elm.js
9.47 KB
Del
OK
mode-erlang.js
45.63 KB
Del
OK
mode-forth.js
11.3 KB
Del
OK
mode-fortran.js
15.04 KB
Del
OK
mode-fsharp.js
10.39 KB
Del
OK
mode-fsl.js
8.53 KB
Del
OK
mode-ftl.js
50.14 KB
Del
OK
mode-gcode.js
3.09 KB
Del
OK
mode-gherkin.js
4.87 KB
Del
OK
mode-gitignore.js
1.77 KB
Del
OK
mode-glsl.js
21.86 KB
Del
OK
mode-gobstones.js
43.09 KB
Del
OK
mode-golang.js
13.82 KB
Del
OK
mode-graphqlschema.js
6.71 KB
Del
OK
mode-groovy.js
38.02 KB
Del
OK
mode-haml.js
63.97 KB
Del
OK
mode-handlebars.js
102.35 KB
Del
OK
mode-haskell.js
17.05 KB
Del
OK
mode-haskell_cabal.js
4.47 KB
Del
OK
mode-haxe.js
12.27 KB
Del
OK
mode-hjson.js
11.09 KB
Del
OK
mode-html.js
99.24 KB
Del
OK
mode-html_elixir.js
124.58 KB
Del
OK
mode-html_ruby.js
119.19 KB
Del
OK
mode-ini.js
4.88 KB
Del
OK
mode-io.js
9.05 KB
Del
OK
mode-jack.js
11.02 KB
Del
OK
mode-jade.js
79.34 KB
Del
OK
mode-java.js
39.7 KB
Del
OK
mode-javascript.js
31.03 KB
Del
OK
mode-json.js
10.24 KB
Del
OK
mode-json5.js
11.28 KB
Del
OK
mode-jsoniq.js
320.49 KB
Del
OK
mode-jsp.js
58.42 KB
Del
OK
mode-jssm.js
10.55 KB
Del
OK
mode-jsx.js
13.36 KB
Del
OK
mode-julia.js
11.93 KB
Del
OK
mode-kotlin.js
24.32 KB
Del
OK
mode-latex.js
9.49 KB
Del
OK
mode-less.js
35.21 KB
Del
OK
mode-liquid.js
107.71 KB
Del
OK
mode-lisp.js
3.47 KB
Del
OK
mode-livescript.js
8.34 KB
Del
OK
mode-logiql.js
10.65 KB
Del
OK
mode-logtalk.js
15.65 KB
Del
OK
mode-lsl.js
31.14 KB
Del
OK
mode-lua.js
14.98 KB
Del
OK
mode-luapage.js
115.82 KB
Del
OK
mode-lucene.js
4.78 KB
Del
OK
mode-makefile.js
13.12 KB
Del
OK
mode-markdown.js
121.58 KB
Del
OK
mode-mask.js
70.27 KB
Del
OK
mode-matlab.js
22.9 KB
Del
OK
mode-maze.js
9.17 KB
Del
OK
mode-mel.js
28.47 KB
Del
OK
mode-mixal.js
5.15 KB
Del
OK
mode-mushcode.js
12.08 KB
Del
OK
mode-mysql.js
8.79 KB
Del
OK
mode-nginx.js
20.03 KB
Del
OK
mode-nim.js
12.13 KB
Del
OK
mode-nix.js
23.54 KB
Del
OK
mode-nsis.js
14.76 KB
Del
OK
mode-nunjucks.js
105.16 KB
Del
OK
mode-objectivec.js
64.25 KB
Del
OK
mode-ocaml.js
21.26 KB
Del
OK
mode-pascal.js
7.92 KB
Del
OK
mode-perl.js
13.04 KB
Del
OK
mode-perl6.js
24.53 KB
Del
OK
mode-pgsql.js
84.98 KB
Del
OK
mode-php.js
580.88 KB
Del
OK
mode-php_laravel_blade.js
588.06 KB
Del
OK
mode-pig.js
10.91 KB
Del
OK
mode-plain_text.js
1.06 KB
Del
OK
mode-powershell.js
38.23 KB
Del
OK
mode-praat.js
17.59 KB
Del
OK
mode-prolog.js
14.07 KB
Del
OK
mode-properties.js
2.33 KB
Del
OK
mode-protobuf.js
21.98 KB
Del
OK
mode-puppet.js
12.8 KB
Del
OK
mode-python.js
15.13 KB
Del
OK
mode-r.js
9.91 KB
Del
OK
mode-razor.js
111.4 KB
Del
OK
mode-rdoc.js
8.06 KB
Del
OK
mode-red.js
19.83 KB
Del
OK
mode-redshift.js
13.99 KB
Del
OK
mode-rhtml.js
108.53 KB
Del
OK
mode-rst.js
5.83 KB
Del
OK
mode-ruby.js
18.75 KB
Del
OK
mode-rust.js
11.13 KB
Del
OK
mode-sass.js
23.81 KB
Del
OK
mode-scad.js
12.89 KB
Del
OK
mode-scala.js
38.13 KB
Del
OK
mode-scheme.js
7.14 KB
Del
OK
mode-scss.js
36.93 KB
Del
OK
mode-sh.js
14.49 KB
Del
OK
mode-sjs.js
36.98 KB
Del
OK
mode-slim.js
174.98 KB
Del
OK
mode-smarty.js
104.2 KB
Del
OK
mode-snippets.js
7.04 KB
Del
OK
mode-soy_template.js
112.5 KB
Del
OK
mode-space.js
4.99 KB
Del
OK
mode-sparql.js
12.35 KB
Del
OK
mode-sql.js
3.34 KB
Del
OK
mode-sqlserver.js
23.07 KB
Del
OK
mode-stylus.js
20.92 KB
Del
OK
mode-svg.js
57.59 KB
Del
OK
mode-swift.js
13.22 KB
Del
OK
mode-tcl.js
12.23 KB
Del
OK
mode-terraform.js
12.93 KB
Del
OK
mode-tex.js
5.13 KB
Del
OK
mode-text.js
329 B
Del
OK
mode-textile.js
4.18 KB
Del
OK
mode-toml.js
4.17 KB
Del
OK
mode-tsx.js
34.09 KB
Del
OK
mode-turtle.js
9.31 KB
Del
OK
mode-twig.js
104.9 KB
Del
OK
mode-typescript.js
33.67 KB
Del
OK
mode-vala.js
27.08 KB
Del
OK
mode-vbscript.js
7.57 KB
Del
OK
mode-velocity.js
108.36 KB
Del
OK
mode-verilog.js
4.45 KB
Del
OK
mode-vhdl.js
3.78 KB
Del
OK
mode-visualforce.js
103.47 KB
Del
OK
mode-wollok.js
34.9 KB
Del
OK
mode-xml.js
23.42 KB
Del
OK
mode-xquery.js
317.76 KB
Del
OK
mode-yaml.js
10.35 KB
Del
OK
mode-zeek.js
16.65 KB
Del
OK
snippets
-
Del
OK
theme-ambiance.js
27.53 KB
Del
OK
theme-chaos.js
3.45 KB
Del
OK
theme-chrome.js
3.28 KB
Del
OK
theme-clouds.js
2.6 KB
Del
OK
theme-clouds_midnight.js
2.95 KB
Del
OK
theme-cobalt.js
2.9 KB
Del
OK
theme-crimson_editor.js
3.37 KB
Del
OK
theme-dawn.js
2.78 KB
Del
OK
theme-dracula.js
3.16 KB
Del
OK
theme-dreamweaver.js
3.73 KB
Del
OK
theme-eclipse.js
2.65 KB
Del
OK
theme-github.js
2.72 KB
Del
OK
theme-gob.js
2.92 KB
Del
OK
theme-gruvbox.js
2.17 KB
Del
OK
theme-idle_fingers.js
2.77 KB
Del
OK
theme-iplastic.js
6.94 KB
Del
OK
theme-katzenmilch.js
3.68 KB
Del
OK
theme-kr_theme.js
2.83 KB
Del
OK
theme-kuroir.js
2.51 KB
Del
OK
theme-merbivore.js
2.75 KB
Del
OK
theme-merbivore_soft.js
2.97 KB
Del
OK
theme-mono_industrial.js
3.32 KB
Del
OK
theme-monokai.js
2.91 KB
Del
OK
theme-pastel_on_dark.js
3.17 KB
Del
OK
theme-solarized_dark.js
2.82 KB
Del
OK
theme-solarized_light.js
2.87 KB
Del
OK
theme-sqlserver.js
3.48 KB
Del
OK
theme-terminal.js
3.45 KB
Del
OK
theme-textmate.js
3.2 KB
Del
OK
theme-tomorrow.js
3.09 KB
Del
OK
theme-tomorrow_night.js
3.35 KB
Del
OK
theme-tomorrow_night_blue.js
3.56 KB
Del
OK
theme-tomorrow_night_bright.js
4.05 KB
Del
OK
theme-tomorrow_night_eighties.js
3.75 KB
Del
OK
theme-twilight.js
3.04 KB
Del
OK
theme-vibrant_ink.js
2.72 KB
Del
OK
theme-xcode.js
2.43 KB
Del
OK
worker-coffee.js
362.1 KB
Del
OK
worker-css.js
290.27 KB
Del
OK
worker-html.js
329.85 KB
Del
OK
worker-javascript.js
336.68 KB
Del
OK
worker-json.js
70.67 KB
Del
OK
worker-lua.js
102.94 KB
Del
OK
worker-php.js
147.24 KB
Del
OK
worker-xml.js
109.68 KB
Del
OK
worker-xquery.js
3.36 MB
Del
OK
Edit: mode-haskell.js
define("ace/mode/haskell_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { "use strict"; var oop = require("../lib/oop"); var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; var HaskellHighlightRules = function() { this.$rules = { start: [ { token: [ 'punctuation.definition.entity.haskell', 'keyword.operator.function.infix.haskell', 'punctuation.definition.entity.haskell' ], regex: '(`)([a-zA-Z_\']*?)(`)', comment: 'In case this regex seems unusual for an infix operator, note that Haskell allows any ordinary function application (elem 4 [1..10]) to be rewritten as an infix expression (4 `elem` [1..10]).' }, { token: 'constant.language.unit.haskell', regex: '\\(\\)' }, { token: 'constant.language.empty-list.haskell', regex: '\\[\\]' }, { token: 'keyword.other.haskell', regex: '\\b(module|signature)\\b', push: [ { token: 'keyword.other.haskell', regex: '\\bwhere\\b', next: 'pop' }, { include: '#module_name' }, { include: '#module_exports' }, { token: 'invalid', regex: '[a-z]+' }, { defaultToken: 'meta.declaration.module.haskell' } ] }, { token: 'keyword.other.haskell', regex: '\\bclass\\b', push: [ { token: 'keyword.other.haskell', regex: '\\bwhere\\b', next: 'pop' }, { token: 'support.class.prelude.haskell', regex: '\\b(?:Monad|Functor|Eq|Ord|Read|Show|Num|(?:Frac|Ra)tional|Enum|Bounded|Real(?:Frac|Float)?|Integral|Floating)\\b' }, { token: 'entity.other.inherited-class.haskell', regex: '[A-Z][A-Za-z_\']*' }, { token: 'variable.other.generic-type.haskell', regex: '\\b[a-z][a-zA-Z0-9_\']*\\b' }, { defaultToken: 'meta.declaration.class.haskell' } ] }, { token: 'keyword.other.haskell', regex: '\\binstance\\b', push: [ { token: 'keyword.other.haskell', regex: '\\bwhere\\b|$', next: 'pop' }, { include: '#type_signature' }, { defaultToken: 'meta.declaration.instance.haskell' } ] }, { token: 'keyword.other.haskell', regex: 'import', push: [ { token: 'meta.import.haskell', regex: '$|;|^', next: 'pop' }, { token: 'keyword.other.haskell', regex: 'qualified|as|hiding' }, { include: '#module_name' }, { include: '#module_exports' }, { defaultToken: 'meta.import.haskell' } ] }, { token: [ 'keyword.other.haskell', 'meta.deriving.haskell' ], regex: '(deriving)(\\s*\\()', push: [ { 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|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b' }, { 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', 'variable.other.generic-type.haskell', 'meta.class-constraint.haskell', 'keyword.other.big-arrow.haskell' ], regex: '(\\(\\s*)([A-Z][A-Za-z]*)(\\s+)([a-z][A-Za-z_\']*)(\\)\\s*)(=>)' }, { include: '#pragma' }, { token: 'keyword.other.arrow.haskell', regex: '->' }, { token: 'keyword.other.big-arrow.haskell', regex: '=>' }, { token: 'support.type.prelude.haskell', regex: '\\b(?:Int(?:eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(?:Error)?)\\b' }, { token: 'variable.other.generic-type.haskell', regex: '\\b[a-z][a-zA-Z0-9_\']*\\b' }, { token: 'storage.type.haskell', regex: '\\b[A-Z][a-zA-Z0-9_\']*\\b' }, { token: 'support.constant.unit.haskell', regex: '\\(\\)' }, { include: '#comments' } ] }; this.normalizeRules(); }; HaskellHighlightRules.metaData = { fileTypes: [ 'hs' ], keyEquivalent: '^~H', name: 'Haskell', scopeName: 'source.haskell' }; oop.inherits(HaskellHighlightRules, TextHighlightRules); exports.HaskellHighlightRules = HaskellHighlightRules; }); define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) { "use strict"; var oop = require("../../lib/oop"); var Range = require("../../range").Range; var BaseFoldMode = require("./fold_mode").FoldMode; var FoldMode = exports.FoldMode = function(commentRegex) { if (commentRegex) { this.foldingStartMarker = new RegExp( this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start) ); this.foldingStopMarker = new RegExp( this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end) ); } }; oop.inherits(FoldMode, BaseFoldMode); (function() { this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/; this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/; this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/; this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/; this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/; this._getFoldWidgetBase = this.getFoldWidget; this.getFoldWidget = function(session, foldStyle, row) { var line = session.getLine(row); if (this.singleLineBlockCommentRe.test(line)) { if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line)) return ""; } var fw = this._getFoldWidgetBase(session, foldStyle, row); if (!fw && this.startRegionRe.test(line)) return "start"; // lineCommentRegionStart return fw; }; this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) { var line = session.getLine(row); if (this.startRegionRe.test(line)) return this.getCommentRegionBlock(session, line, row); var match = line.match(this.foldingStartMarker); if (match) { var i = match.index; if (match[1]) return this.openingBracketBlock(session, match[1], row, i); var range = session.getCommentFoldRange(row, i + match[0].length, 1); if (range && !range.isMultiLine()) { if (forceMultiline) { range = this.getSectionRange(session, row); } else if (foldStyle != "all") range = null; } return range; } if (foldStyle === "markbegin") return; var match = line.match(this.foldingStopMarker); if (match) { var i = match.index + match[0].length; if (match[1]) return this.closingBracketBlock(session, match[1], row, i); return session.getCommentFoldRange(row, i, -1); } }; this.getSectionRange = function(session, row) { var line = session.getLine(row); var startIndent = line.search(/\S/); var startRow = row; var startColumn = line.length; row = row + 1; var endRow = row; var maxRow = session.getLength(); while (++row < maxRow) { line = session.getLine(row); var indent = line.search(/\S/); if (indent === -1) continue; if (startIndent > indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); if (subRange) { if (subRange.start.row <= startRow) { break; } else if (subRange.isMultiLine()) { row = subRange.end.row; } else if (startIndent == indent) { break; } } endRow = row; } return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = function(session, line, row) { var startColumn = line.search(/\s*$/); var maxRow = session.getLength(); var startRow = row; var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/; var depth = 1; while (++row < maxRow) { line = session.getLine(row); var m = re.exec(line); if (!m) continue; if (m[1]) depth--; else depth++; if (!depth) break; } var endRow = row; if (endRow > startRow) { return new Range(startRow, startColumn, endRow, line.length); } }; }).call(FoldMode.prototype); }); define("ace/mode/haskell",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/haskell_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) { "use strict"; var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var HaskellHighlightRules = require("./haskell_highlight_rules").HaskellHighlightRules; var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = HaskellHighlightRules; this.foldingRules = new FoldMode(); this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "--"; this.blockComment = null; this.$id = "ace/mode/haskell"; }).call(Mode.prototype); exports.Mode = Mode; }); (function() { window.require(["ace/mode/haskell"], function(m) { if (typeof module == "object" && typeof exports == "object" && module) { module.exports = m; } }); })();
Save