250826.1 · c81a8cbfaf0d6e4778015e1fb617def1dcdc5821
updated some language definitions
reading declarations
@@ -15,7 +15,7 @@ Keywords={ List={ "bool", "byte", "float32", "float64", "int8", "int16", "int32", "int64", "string", "uint8", "uint16", "uint32", "uint64", "float", "int",- "uint", "uintptr", "complex64", "complex128", "rune", "any", "comparable",+ "uint", "uintptr", "complex64", "complex128", "rune", "any", "comparable", "error", "true", "false", "iota", "nil", "cap", "close", "len", "make", "new", "panic", "print", "println", "append", "delete", "copy", "complex", "real", "imag", "recover"
@@ -14,7 +14,7 @@ Keywords={ "float", "for", "goto", "if", "implements", "import", "instanceof", "int", "interface", "long", "native", "new", "package", "private", "protected", "public", "return", "short", "static", "strictfp", "super", "switch", "synchronized", "this", "throw", "throws",- "transient", "try", "void", "volatile", "while", "@interface",+ "transient", "try", "void", "volatile", "while", "_", "@interface", -- contextual Java keywords "exports", "module", "non-sealed", "open", "opens", "permits", "provides", "record",
@@ -6,12 +6,15 @@ Categories = {"source"} Keywords={ { Id=1, List={- "package", "as", "typealias", "class", "this", "super", "val", "var",- "fun", "for", "null", "true", "false", "is", "in", "throw", "return", "break",- "continue", "object", "if", "try", "else", "while", "do", "when", "interface",- "yield", "typeof", "yield", "typeof", "import", "internal", "private", "protected",- "public", "override", "open", "final", "abstract", "final",- "enum", "open", "annotation"}+ "abstract", "actual", "annotation", "as", "break", "by", "catch", "class",+ "companion", "const", "constructor", "continue", "crossinline", "data",+ "delegate", "do", "dynamic", "else", "enum", "expect", "external", "false",+ "final", "finally", "for", "fun", "get", "if", "import", "in", "infix",+ "init", "inline", "inner", "interface", "internal", "is", "lateinit",+ "noinline", "null", "object", "open", "operator", "out", "override",+ "package", "private", "protected", "public", "reified", "return", "sealed",+ "set", "super", "suspend", "tailrec", "this", "throw", "true", "try",+ "typealias", "typeof", "val", "var", "vararg", "when", "where", "while"} }, { Id=2, List={
@@ -40,7 +40,13 @@ Keywords={ "where-object", "write-debug", "write-error", "write-host", "write-output", "write-progress", "write-verbose", "write-warning", "switch", "function", "if", "throw", "else",- "while", "break", "in", "return", "try", "catch", "for"},+ "while", "break", "in", "return", "try", "catch", "for", "assembly", "base",+ "begin", "class", "command", "configuration", "continue", "data",+ "define", "do", "dynamicparam", "elseif", "end", "enum", "exit", "filter",+ "finally", "foreach", "from", "hidden", "inlinescript", "interface",+ "module", "namespace", "parallel", "param", "private", "process", "public",+ "sequence", "static", "trap", "type", "until", "using", "var",+ "workflow"}, }, { Id=2, List={"ac", "asnp", "clc", "cli", "clp", "clv", "cpi", "cpp", "cvpa",
@@ -7,10 +7,10 @@ Digits=[[ (?:0x|0o|0b)[0-9a-fA-F\_uif]+|\d+[\.]?[\d\_uif]+(?:[eE][\-\+][\d\_uif] Keywords={ { Id=1,- List={"as", "box", "break", "const", "continue", "crate", "else",+ List={"as", "async", "await", "box", "break", "const", "continue", "crate", "else", "extern", "false", "fn", "for", "if", "impl", "in", "let", "loop", "match", "mod", "move", "mut", "pub", "ref", "return", "self",- "Self", "static", "super", "trait", "true", "type",+ "Self", "static", "super", "trait", "true", "try", "type", "unsafe", "use", "where", "while", "abstract", "alignof", "become", "do", "final", "macro", "offsetof", "override", "priv", "pure", "sizeof", "typeof", "unsized", "virtual", "yield", "auto", "catch"
@@ -69,14 +69,49 @@ Comments={ Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|\|]] +-- state vars for nested command substitution tracking+local cmdSubStack = {}+ function OnStateChange(oldState, newState, token, kwClass) - if oldState==HL_STRING and token==hereDoc then+ if oldState == HL_STRING and token == hereDoc then hereDoc = nil return HL_STRING_END end - if (string.sub(token,1,1) =="$" ) and oldState==HL_STRING and newState==HL_KEYWORD then+ --handling for nested command substitution within strings++ if oldState == HL_STRING then++ local cmdSubStart = string.find(token, "%$%(")+ if cmdSubStart then+ table.insert(cmdSubStack, {depth = #cmdSubStack + 1, inString = true})+ return HL_STRING+ end++ local cmdSubEnd = string.find(token, "%)")+ if cmdSubEnd and cmdSubStack ~= nil and #cmdSubStack > 0 then+ table.remove(cmdSubStack)+ return HL_STRING+ end++ if cmdSubStack ~= nil and #cmdSubStack > 0 then+ local quoteStart = string.find(token, '["\']')+ if quoteStart then+ return HL_STRING+ end+ end++ end++ if oldState == HL_STRING and newState ~= HL_STRING then+ if cmdSubStack ~= nil and #cmdSubStack > 0 and string.find(token, "%)") then+ table.remove(cmdSubStack)+ return HL_STRING+ end+ end++ if (string.sub(token,1,1) == "$" ) and oldState == HL_STRING and newState == HL_KEYWORD then return HL_INTERPOLATION end
@@ -10,13 +10,11 @@ Keywords={ "struct", "subscript", "typealias", "var", "fileprivate", "open", "final", "break", "case", "continue", "default", "do", "else", "fallthrough", "for", "if", "in", "return", "switch", "where", "while", "try","throw","catch",- "guard", "mutating", "throws"+ "guard", "mutating", "throws", "associatedtype", "defer", "inout", "rethrows", "repeat", "override", "didSet", "willSet", "lazy", "weak", "unowned" } }, { Id=2,- List= { "as", "dynamicType", "false", "is", "nil", "self", "Self", "super",- "true", "__COLUMN__", "__FILE__", "__FUNCTION__", "__LINE__",- "Bool", "UInt", "Int", "Int8", "Float", "Double", "Character", "String"+ List= { "Any", "as", "async", "await", "Bool", "Character", "Double", "false", "Float", "Int", "Int8", "is", "nil", "self", "Self", "String", "super", "true", "UInt" } }, { Id=3,
@@ -8,7 +8,7 @@ Digits = [[ (?:0x|0X|0b)[0-9a-fA-F']+|\d*[\.]?\d+(?:[eE][\-\+]\d+)?[lLuU]* ]] Keywords={ { Id=1, List={- "align", "allowzero", "and", "anyframe", "anytype", "asm", "async", "await", "break", "callconv", "catch",+ "align", "addrspace", "allowzero", "and", "anyframe", "anytype", "asm", "async", "await", "break", "callconv", "catch", "comptime", "const", "continue", "defer", "else", "enum", "errdefer", "error", "export", "extern", "fn", "for", "if", "inline", "noalias", "nosuspend", "noinline", "opaque", "or", "orelse", "packed", "pub", "resume", "return", "linksection", "struct", "suspend", "switch", "test", "threadlocal", "try", "union",