filetype: julia detect: filename: "\\.jl$" header: "^#!.*/(env +)?julia( |$)" rules: # built-in objects - constant.bool: "\\b(true|false)\\b" - constant: "\\b(nothing|missing)\\b" # built-in attributes - constant: "__[A-Za-z0-9_]+__" # definitions - identifier: "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]" # keywords - statement: "\\b(baremodule|begin|break|catch|const|continue|do|else|elseif|end|export|finally|for|function|global|if|import|let|local|macro|module|quote|return|struct|try|using|while)\\b" - statement: "\\b(abstract\\s+type|primitive\\s+type|mutable\\s+struct)\\b" # decorators - identifier.macro: "@[A-Za-z0-9_]+" # operators - symbol.operator: "[-+*/|=%<>&~^]|\\b(in|isa|where)\\b" # parentheses - symbol.brackets: "([(){}]|\\[|\\])" # numbers - constant.number: "\\b([0-9]+(_[0-9]+)*|0x[0-9a-fA-F]+(_[0-9a-fA-F]+)*|0b[01]+(_[01]+)*|0o[0-7]+(_[0-7]+)*|Inf(16|32|64)?|NaN(16|32|64)?)\\b" - constant.string: "\"(\\\\.|[^\"])*\"|'(\\\\.|[^']){1}'" - constant.string: start: "\"\"\"" end: "\"\"\"" rules: [] - constant.string: start: "\"[^\"]|\"$" end: "\"" rules: [] - comment: start: "#[^=]|#$" end: "$" rules: [] - comment: start: "#=" end: "=#" rules: []