Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F5966758
mode-flix.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
mode-flix.js
View Options
ace
.
define
(
"ace/mode/flix_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
FlixHighlightRules
=
function
()
{
var
keywords
=
(
"use|checked_cast|checked_ecast|unchecked_cast|masked_cast|as|discard|from|"
+
"into|inject|project|solve|query|where|select|force|import|region|red|deref"
);
var
controlKeywords
=
(
"choose|debug|do|for|forA|forM|foreach|yield|if|else|case|"
+
"match|typematch|try|catch|resume|spawn|par|branch|jumpto"
);
var
operators
=
"not|and|or|fix"
;
var
declarations
=
"eff|def|law|enum|case|type|alias|class|instance|mod|let"
;
var
modifiers
=
"with|without|opaque|lazy|lawful|pub|override|sealed|static"
;
var
primitives
=
"Unit|Bool|Char|Float32|Float64|Int8|Int16|Int32|Int64|BigInt|String"
;
var
keywordMapper
=
this
.
createKeywordMapper
({
"keyword"
:
keywords
,
"keyword.control"
:
controlKeywords
,
"keyword.operator"
:
operators
,
"storage.type"
:
declarations
,
"storage.modifier"
:
modifiers
,
"support.type"
:
primitives
},
"identifier"
);
this
.
$rules
=
{
"start"
:
[
{
token
:
"comment.line"
,
regex
:
"\\/\\/.*$"
},
{
token
:
"comment.block"
,
regex
:
"\\/\\*"
,
next
:
"comment"
},
{
token
:
"string"
,
regex
:
'"'
,
next
:
"string"
},
{
token
:
"string.regexp"
,
regex
:
'regex"'
,
next
:
"regex"
},
{
token
:
"constant.character"
,
regex
:
"'"
,
next
:
"char"
},
{
token
:
"constant.numeric"
,
// hex
regex
:
"0x[a-fA-F0-9](_*[a-fA-F0-9])*(i8|i16|i32|i64|ii)?\\b"
},
{
token
:
"constant.numeric"
,
// float
regex
:
"[0-9](_*[0-9])*\\.[0-9](_*[0-9])*(f32|f64)?\\b"
},
{
token
:
"constant.numeric"
,
// integer
regex
:
"[0-9](_*[0-9])*(i8|i16|i32|i64|ii)?\\b"
},
{
token
:
"constant.language.boolean"
,
regex
:
"(true|false)\\b"
},
{
token
:
"constant.language"
,
regex
:
"null\\b"
},
{
token
:
"keyword.operator"
,
regex
:
"\\->|~>|<\\-|=>"
},
{
token
:
"storage.modifier"
,
regex
:
"@(Deprecated|Experimental|Internal|ParallelWhenPure|Parallel|LazyWhenPure|Lazy|Skip|Test)\\b"
},
{
token
:
"keyword"
,
// hole
regex
:
"(\\?\\?\\?|\\?[a-zA-Z0-9]+)"
},
{
token
:
keywordMapper
,
regex
:
"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
},
{
token
:
"paren.lparen"
,
regex
:
"[[({]"
},
{
token
:
"paren.rparen"
,
regex
:
"[\\])}]"
},
{
token
:
"text"
,
regex
:
"\\s+"
}
],
"comment"
:
[
{
token
:
"comment.block"
,
regex
:
"\\*\\/"
,
next
:
"start"
},
{
defaultToken
:
"comment.block"
}
],
"string"
:
[
{
token
:
"constant.character.escape"
,
// unicode
regex
:
"\\\\(u[0-9a-fA-F]{4})"
},
{
token
:
"constant.character.escape"
,
regex
:
'\\\\.'
},
{
token
:
"string"
,
regex
:
'"'
,
next
:
"start"
},
{
token
:
"string"
,
regex
:
'[^"\\\\]+'
}
],
"regex"
:
[
{
token
:
"constant.character.escape"
,
// unicode
regex
:
"\\\\(u[0-9a-fA-F]{4})"
},
{
token
:
"constant.character.escape"
,
regex
:
'\\\\.'
},
{
token
:
"string.regexp"
,
regex
:
'"'
,
next
:
"start"
},
{
token
:
"string.regexp"
,
regex
:
'[^"\\\\]+'
}
],
"char"
:
[
{
token
:
"constant.character.escape"
,
// unicode
regex
:
"\\\\(u[0-9a-fA-F]{4})"
},
{
token
:
"constant.character.escape"
,
regex
:
'\\\\.'
},
{
token
:
"constant.character"
,
regex
:
"'"
,
next
:
"start"
},
{
token
:
"constant.character"
,
regex
:
"[^'\\\\]+"
}
]
};
};
oop
.
inherits
(
FlixHighlightRules
,
TextHighlightRules
);
exports
.
FlixHighlightRules
=
FlixHighlightRules
;
});
ace
.
define
(
"ace/mode/flix"
,[
"require"
,
"exports"
,
"module"
,
"ace/lib/oop"
,
"ace/mode/text"
,
"ace/mode/flix_highlight_rules"
],
function
(
require
,
exports
,
module
){
"use strict"
;
var
oop
=
require
(
"../lib/oop"
);
var
TextMode
=
require
(
"./text"
).
Mode
;
var
FlixHighlightRules
=
require
(
"./flix_highlight_rules"
).
FlixHighlightRules
;
var
Mode
=
function
()
{
this
.
HighlightRules
=
FlixHighlightRules
;
};
oop
.
inherits
(
Mode
,
TextMode
);
(
function
()
{
this
.
$id
=
"ace/mode/flix"
;
}).
call
(
Mode
.
prototype
);
exports
.
Mode
=
Mode
;
});
(
function
()
{
ace
.
require
([
"ace/mode/flix"
],
function
(
m
)
{
if
(
typeof
module
==
"object"
&&
typeof
exports
==
"object"
&&
module
)
{
module
.
exports
=
m
;
}
});
})();
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Oct 3, 11:53 (3 d, 17 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
51/2e/6e40b8620f72e4abab7bf6c4eb79
Default Alt Text
mode-flix.js (5 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment