2017-08-14 18:59:29 +03:00
|
|
|
filetype: julia
|
|
|
|
|
|
|
|
detect:
|
|
|
|
filename: "\\.jl$"
|
|
|
|
header: "^#!.*/(env +)?julia( |$)"
|
|
|
|
|
|
|
|
rules:
|
|
|
|
|
|
|
|
# built-in objects
|
|
|
|
- constant.bool: "\\b(true|false)\\b"
|
|
|
|
# built-in attributes
|
|
|
|
- constant: "__[A-Za-z0-9_]+__"
|
|
|
|
# definitions
|
|
|
|
- identifier: "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
|
|
|
|
# keywords
|
2018-05-25 19:04:12 +03:00
|
|
|
- statement: "\\b(begin|break|catch|continue|function|elseif|struct|else|end|finally|for|global|local|const|if|include|import|using|require|macro|println|return|try|type|while|module)\\b"
|
2017-08-14 18:59:29 +03:00
|
|
|
# decorators
|
|
|
|
- identifier.macro: "@[A-Za-z0-9_]+"
|
|
|
|
# operators
|
|
|
|
- symbol.operator: "[-+*/|=%<>&~^]|\\b(and|not|or|is|in)\\b"
|
|
|
|
# parentheses
|
|
|
|
- symbol.brackets: "([(){}]|\\[|\\])"
|
|
|
|
# numbers
|
2019-07-01 13:47:16 +03:00
|
|
|
- constant.number: "\\b([0-9]+(_[0-9]+)*|0x[0-9a-fA-F]+(_[0-9a-fA-F]+)*|0b[01]+(_[01]+)*|0o[0-7]+(_[0-7]+)*)\\b"
|
2017-08-14 18:59:29 +03:00
|
|
|
|
2019-07-01 13:47:16 +03:00
|
|
|
- constant.string: "\"(\\\\.|[^\"])*\"|'(\\\\.|[^']){1}'"
|
2017-08-14 22:18:48 +03:00
|
|
|
|
2017-08-14 18:59:29 +03:00
|
|
|
- constant.string:
|
|
|
|
start: "\"\"\""
|
|
|
|
end: "\"\"\""
|
|
|
|
rules: []
|
|
|
|
|
|
|
|
- constant.string:
|
|
|
|
start: "'''"
|
|
|
|
end: "'''"
|
|
|
|
rules: []
|
|
|
|
|
|
|
|
- comment:
|
|
|
|
start: "#"
|
|
|
|
end: "$"
|
|
|
|
rules: []
|