{"name":"Nim Source Code Filter","scopeName":"source.nim_filter","patterns":[{"name":"meta.start.nim_filter","begin":"\\A(#!)","end":"\\z(!?\\n)","patterns":[{"name":"comment.line.nim_filter","begin":"^\\s*#","end":"\\n","patterns":[{"name":"constant.numeric.float.decimal.nim_filter","match":"\\b((\\d[_\\d]*\\.[_\\d]+([eE][\\+\\-]?\\d[_\\d]*)?)|([eE][\\+\\-]?\\d[_\\d]*))('[fF](32|64))?"},{"name":"constant.numeric.integer.hexadecimal.nim_filter","match":"\\b(0[xX][0-9A-Fa-f][_0-9A-Fa-f]*)('[iIuU](8|16|32|64))?"},{"name":"constant.numeric.integer.octal.nim_filter","match":"\\b(0o[0-7][_0-7]*)('[iIuUfF](8|16|32|64))?"},{"name":"constant.numeric.integer.binary.nim_filter","match":"\\b(0(b|B)[01][_01]*)('[iIuUfF](8|16|32|64))?"},{"name":"constant.numeric.integer.decimal.nim_filter","match":"\\b(\\d[_\\d]*)('[iIuUfF](8|16|32|64))?"},{"name":"constant.language.nim_filter","match":"\\b(true|false|inf|nil)\\b"},{"name":"keyword.control.nim_filter","match":"\\b(block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\\b"},{"name":"keyword.operator.boolean.nim_filter","match":"(\\b(and|in|is|isnot|not|notin|or|xor)\\b)"},{"name":"keyword.operator.nim_filter","match":"(\\b()\\b|(=|\\+|-|\\*|/|\u003c|\u003e|@|\\$|~|\u0026|%|!|\\?|\\^|\\.|:|\\\\)+)"},{"name":"keyword.other.nim_filter","match":"(\\b(addr|as|asm|atomic|bind|cast|concept|const|discard|distinct|div|enum|export|from|import|include|let|mod|object|of|ptr|ref|shl|shr|static|tuple|type|var)\\b)"},{"name":"keyword.invalid.nim_filter","match":"(\\b(converter|generic|interface|lambda|mixin|out|shared|with|without)\\b)"},{"name":"storage.type.concrete.nim_filter","match":"\\b(((uint|int|float)(8|16|32|64)?)|bool|string|cstring|char|tobject|typedesc)\\b"},{"name":"storage.type.generic.nim_filter","match":"\\b(range|array|seq|natural|set|ref|ptr)\\b"},{"name":"storage.type.function.nim_filter","match":"\\b(proc|iterator|method|template|macro)\\b"},{"name":"keyword.function.nim_filter","match":"\\b(echo|newException)\\b"},{"name":"storage.type.generic.nim_filter","match":"\\b(openarray|varargs|void)\\b"},{"name":"string.quoted.triple.nim_filter","begin":"(\\w[_\\w]*)?\\\"\\\"\\\"","end":"\\\"\\\"\\\"[^\"]"},{"name":"string.quoted.double.raw.nim_filter","begin":"r\\\"","end":"\\\"","patterns":[{"match":"\\\"\\\""}]},{"name":"string.quoted.double.nim_filter","begin":"(\\w[_\\w]*)?\\\"","end":"\\\"","patterns":[{"match":"(\\\\([abenrclftv]|[\"']|[0-9])|x[0-9A-Fa-f]{2})"}]},{"name":"string.quoted.single.nim_filter","match":"\\'(\\\\\\d{1,3}|\\\\?[^\\n]?)\\'"}]}]}]}
