{"name":"Nu","scopeName":"source.nu","patterns":[{"name":"constant.language.nu","match":"\\b(t|nil|self|super|YES|NO|margs)\\b"},{"name":"constant.numeric.nu","match":"\\b((0(x|X)[0-9a-fA-F]*)|-?(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{"name":"constant.character.nu","match":"(')(.|\\\\[nrfbaes]|\\\\[0-7]{3}|\\\\x[0-9A-Fa-f]{2}|\\\\u[0-9A-Fa-f]{4})(')","captures":{"1":{"name":"punctuation.definition.constant.nu"},"4":{"name":"punctuation.definition.constant.nu"}}},{"name":"variable.other.readwrite.instance.nu","match":"(@)[a-zA-Z_]\\w*","captures":{"1":{"name":"punctuation.definition.variable.nu"}}},{"name":"variable.other.readwrite.global.nu","match":"(\\$)[a-zA-Z_]\\w*","captures":{"1":{"name":"punctuation.definition.variable.nu"}}},{"name":"support.class.nu","match":"\\b[A-Z]\\w*\\b"},{"name":"comment.nudoc.nu","match":"(;.*|#.*)(@(abstract|copyright|discussion|file|header|info).*)","captures":{"1":{"name":"punctuation.definition.comment.nudoc.nu"},"2":{"name":"support.comment.nudoc.nu"}}},{"name":"comment.line.semicolon.nu","match":"(;).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.nu"}}},{"name":"comment.line.hash.nu","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.nu"}}},{"name":"string.quoted.double.unescaped.nu","begin":"-\"","end":"\"","patterns":[{"include":"#interpolated_nu"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nu"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nu"}}},{"name":"string.quoted.double.escaped.nu","begin":"\\+?\"","end":"\"","patterns":[{"include":"#escaped_char"},{"include":"#interpolated_nu"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nu"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nu"}}},{"name":"string.unquoted.heredoc.escaped.nu","begin":"\u003c\u003c[+](.*)","end":"\\1","patterns":[{"include":"#escaped_char"},{"include":"#interpolated_nu"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nu"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nu"}}},{"name":"string.unquoted.heredoc.unescaped.nu","begin":"\u003c\u003c[-](.*)","end":"\\1","patterns":[{"include":"#interpolated_nu"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nu"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nu"}}},{"name":"string.regexp.nu","begin":"(/)(?=[^ ])","end":"/[isxlm]*","patterns":[{"name":"constant.character.escape.nu","match":"\\\\/"}],"beginCaptures":{"1":{"name":"punctuation.definition.regex.begin.nu"}},"endCaptures":{"0":{"name":"punctuation.definition.regex.end.nu"}}},{"name":"meta.class.nu","match":"\\b(class)\\s+((\\w|\\-|\\!|\\?)*)(\\s+(is)\\s+((\\w|\\-|\\!|\\?)*))?","captures":{"1":{"name":"keyword.control.class.nu"},"2":{"name":"entity.name.function.nu"},"5":{"name":"keyword.control.is.nu"},"6":{"name":"entity.name.function.nu"}}},{"name":"meta.protocol.nu","match":"\\b(protocol)\\s+((\\w)*)","captures":{"1":{"name":"keyword.control.protocol.nu"},"2":{"name":"entity.name.function.nu"}}},{"name":"meta.import.nu","match":"\\((import)\\s+(\\w*)","captures":{"1":{"name":"keyword.control.import.nu"},"2":{"name":"entity.name.type.class.nu"}}},{"name":"meta.global.nu","match":"\\((global)\\s+([\\w\\-]*)","captures":{"1":{"name":"keyword.control.global.nu"},"2":{"name":"variable.other.readwrite.global.nu"}}},{"name":"meta.method.nu.zero-args","match":"\\(([+-]|[ic]method)\\s+\\((\\w+)\\)\\s+(\\w+)\\s+(is)","captures":{"1":{"name":"keyword.control.method.nu"},"2":{"name":"storage.type.class.nu"},"3":{"name":"entity.name.function.nu"},"4":{"name":"keyword.control.is.nu"}}},{"name":"meta.method.nu.one-arg","match":"\\(([+-]|[ic]method)\\s+\\((\\w+)\\)\\s+(\\w+\\:)\\s*\\((\\w+)\\)\\s+(\\w+)\\s+(is)","captures":{"1":{"name":"keyword.control.method.nu"},"2":{"name":"storage.type.class.nu"},"3":{"name":"entity.name.function.nu"},"4":{"name":"storage.type.class.nu"},"5":{"name":"variable.parameter.function.nu"},"6":{"name":"keyword.control.is.nu"}}},{"name":"meta.method.nu.two-args","match":"\\(([+-]|[ic]method)\\s+\\((\\w+)\\)\\s+(\\w+\\:)\\s*\\((\\w+)\\)\\s+(\\w+)\\s+(\\w+\\:)\\s*\\((\\w+)\\)\\s+(\\w+)\\s+(is)","captures":{"1":{"name":"keyword.control.method.nu"},"2":{"name":"storage.type.class.nu"},"3":{"name":"entity.name.function.nu"},"4":{"name":"storage.type.class.nu"},"5":{"name":"variable.parameter.function.nu"},"6":{"name":"entity.name.function.nu"},"7":{"name":"storage.type.class.nu"},"8":{"name":"variable.parameter.function.nu"},"9":{"name":"keyword.control.is.nu"}}},{"name":"meta.method.nu.three-args","match":"\\(([+-]|[ic]method)\\s+\\((\\w+)\\)\\s+(\\w+\\:)\\s*\\((\\w+)\\)\\s+(\\w+)\\s+(\\w+\\:)\\s*\\((\\w+)\\)\\s+(\\w+)\\s+(\\w+\\:)\\s*\\((\\w+)\\)\\s+(\\w+)\\s+(is)","captures":{"1":{"name":"keyword.control.method.nu"},"10":{"name":"storage.type.class.nu"},"11":{"name":"variable.parameter.function.nu"},"12":{"name":"keyword.control.is.nu"},"2":{"name":"storage.type.class.nu"},"3":{"name":"entity.name.function.nu"},"4":{"name":"storage.type.class.nu"},"5":{"name":"variable.parameter.function.nu"},"6":{"name":"entity.name.function.nu"},"7":{"name":"storage.type.class.nu"},"8":{"name":"variable.parameter.function.nu"},"9":{"name":"entity.name.function.nu"}}},{"name":"meta.ivars.nu","match":"\\b((ivar)\\s+((\\w|\\-|\\!|\\?)*)(\\s+(is)\\s+((\\w|\\-|\\!|\\?)*))?|ivars|ivar-accessors)","captures":{"1":{"name":"keyword.control.class.nu"},"2":{"name":"entity.name.function.nu"},"5":{"name":"keyword.control.class.nu"},"6":{"name":"entity.name.function.nu"}}},{"name":"meta.function.nu","match":"\\b(function|macro|macro-0|macro-1)\\s+((\\w|\\-|\\!|\\?)*)","captures":{"1":{"name":"keyword.control.function-type.nu"},"2":{"name":"entity.name.function.nu"}}},{"name":"meta.nukefile.task.nu","match":"(task)\\s+(\\\"\\w+\")\\s?(:?)\\s?(\\\"[\\w\\s]+\\\")?\\s+(is)","captures":{"1":{"name":"keyword.control.task.nu"},"2":{"name":"entity.name.task.nu"},"3":{"name":"keyword.control.colon.nu"},"4":{"name":"storage.description.task.nu"},"5":{"name":"keyword.control.is.nu"}}},{"name":"meta.nukefile.task.with-dependencies.nu","match":"(task)\\s+(\\\"\\w+\\\")\\s?(:)?\\s?(\\\"[\\w\\s]+\\\")?\\s?(=\u003e?)\\s?(\\\"[\\\"\\w\\s]+\\\")?\\s+(is)","captures":{"1":{"name":"keyword.control.task.nu"},"2":{"name":"entity.name.task.nu"},"3":{"name":"keyword.control.colon.nu"},"4":{"name":"storage.description.task.nu"},"5":{"name":"keyword.control.arrow.nu"},"6":{"name":"support.dependency.task.nu"},"7":{"name":"keyword.control.is.nu"}}},{"name":"meta.nukefile.default.task.nu","match":"(task)\\s+(\\\"default\\\")\\s+(=\u003e)\\s+(\\\"\\w+\\\")","captures":{"1":{"name":"keyword.control.task.nu"},"2":{"name":"entity.name.task.nu"},"3":{"name":"keyword.control.arrow.nu"},"4":{"name":"support.name.task.nu"},"5":{"name":"keyword.control.is.nu"}}},{"name":"keyword.control.nu","match":"\\b(let|set|cond|case|do|loop|until|while|for|break|continue|if|else|elseif|then|unless|try|throw|catch|array|dict|list|return)\\b"},{"name":"keyword.operator.nu","match":"\\b(eq|neq|and|or|synchronized|not)\\b"},{"name":"keyword.operator.symbolic.nu","match":"[/*+-/\u0026|\u003e\u003c=!`@]"},{"name":"support.function.nu","match":"\\b(append|atom|cons|car|cdr|context|eval|head|quote|parse|progn|send|tail|load|system|puts|help|version|beep|first|rest|macrox|print)\\b"},{"name":"support.function.testing.nu","match":"\\b(assert_equal|assert_not_equal|assert_throws|assert_in_delta|assert_true|assert_false|assert_less_than|assert_greater_than)\\b"},{"name":"keyword.nukefile.nu","match":"\\b(task|application-tasks|bundle-tasks|compilation-tasks|dylib-tasks|framework-tasks|library-tasks)\\b"}],"repository":{"escaped_char":{"name":"constant.character.escape.nu","match":"\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|.)"},"interpolated_nu":{"patterns":[{"name":"source.nu.embedded.source","match":"#\\{(\\})","captures":{"0":{"name":"punctuation.section.embedded.nu"},"1":{"name":"source.nu.embedded.source.empty"}}},{"name":"source.nu.embedded.source","begin":"#\\{","end":"\\}","patterns":[{"include":"$self"}],"captures":{"0":{"name":"punctuation.section.embedded.nu"}}}]}}}