github-linguist 9.1.0 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +3 -3
  3. data/grammars/etc.json +1 -1
  4. data/grammars/inline.edgeql.json +1 -1
  5. data/grammars/liquid.injection.json +1 -1
  6. data/grammars/source.4dm.json +1 -1
  7. data/grammars/source.QB64.json +1 -1
  8. data/grammars/source.abl.json +1 -1
  9. data/grammars/source.aiken.json +1 -0
  10. data/grammars/source.apex.json +1 -1
  11. data/grammars/source.ballerina.json +1 -1
  12. data/grammars/source.brs.json +1 -1
  13. data/grammars/source.c++.json +1 -1
  14. data/grammars/source.c.calendar.json +1 -0
  15. data/grammars/source.c.json +1 -1
  16. data/grammars/source.cl.json +1 -1
  17. data/grammars/source.clue.json +1 -0
  18. data/grammars/source.cmake.json +1 -1
  19. data/grammars/source.cmakecache.json +1 -1
  20. data/grammars/source.cobol.json +1 -1
  21. data/grammars/source.curlrc.json +1 -1
  22. data/grammars/source.daslang.json +1 -0
  23. data/grammars/source.dds.dspf.json +1 -1
  24. data/grammars/source.erlang.json +1 -1
  25. data/grammars/source.gdscript.json +1 -1
  26. data/grammars/source.git-revlist.json +1 -1
  27. data/grammars/source.gleam.json +1 -1
  28. data/grammars/source.hx.json +1 -1
  29. data/grammars/source.ilecobol.json +1 -0
  30. data/grammars/source.jai.json +1 -1
  31. data/grammars/source.json.comments.json +1 -1
  32. data/grammars/source.julia.console.json +1 -1
  33. data/grammars/source.julia.json +1 -1
  34. data/grammars/source.just.json +1 -1
  35. data/grammars/source.koka.json +1 -0
  36. data/grammars/source.leo.json +1 -0
  37. data/grammars/source.livescript.json +1 -1
  38. data/grammars/source.m2.json +1 -1
  39. data/grammars/source.m3u.json +1 -0
  40. data/grammars/source.moonbit.json +1 -1
  41. data/grammars/source.nasl.json +1 -1
  42. data/grammars/source.nim.json +1 -1
  43. data/grammars/source.nushell.json +1 -1
  44. data/grammars/source.objc.json +1 -1
  45. data/grammars/source.odin.json +1 -1
  46. data/grammars/source.openqasm.json +1 -0
  47. data/grammars/source.rascal.json +1 -1
  48. data/grammars/source.rescript.json +1 -1
  49. data/grammars/source.roc.json +1 -1
  50. data/grammars/source.rust.json +1 -1
  51. data/grammars/source.sail.json +1 -0
  52. data/grammars/source.slang.json +1 -1
  53. data/grammars/source.slint.json +1 -1
  54. data/grammars/source.smithy.json +1 -1
  55. data/grammars/source.soql.json +1 -1
  56. data/grammars/source.sway.json +1 -1
  57. data/grammars/source.tact.json +1 -1
  58. data/grammars/source.talon.json +1 -1
  59. data/grammars/source.templ.json +1 -1
  60. data/grammars/source.toc.json +1 -1
  61. data/grammars/source.torrc.json +1 -0
  62. data/grammars/source.typst.json +1 -1
  63. data/grammars/source.uplc.json +1 -0
  64. data/grammars/source.vba.json +1 -1
  65. data/grammars/source.vento.json +1 -0
  66. data/grammars/source.vue.json +1 -1
  67. data/grammars/source.wdl.json +1 -1
  68. data/grammars/source.wit.json +1 -1
  69. data/grammars/source.zmodel.json +1 -0
  70. data/grammars/text.adblock.json +1 -1
  71. data/grammars/text.html.liquid.json +1 -1
  72. data/grammars/text.html.vento.json +1 -0
  73. data/grammars/text.valve-cfg.json +1 -1
  74. data/grammars/version +1 -1
  75. data/lib/linguist/VERSION +1 -1
  76. data/lib/linguist/generated.rb +23 -1
  77. data/lib/linguist/heuristics.yml +8 -1
  78. data/lib/linguist/languages.json +1 -1
  79. data/lib/linguist/languages.yml +143 -10
  80. data/lib/linguist/samples.json +1 -1
  81. metadata +21 -11
  82. data/grammars/source.c.platform.json +0 -1
@@ -1 +1 @@
1
- {"name":"moonbit","scopeName":"source.moonbit","patterns":[{"include":"#strings"},{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#functions"},{"include":"#support"},{"include":"#attribute"},{"include":"#types"},{"include":"#modules"},{"include":"#variables"}],"repository":{"attribute":{"patterns":[{"match":"(#[a-z][A-Za-z0-9_. ]*)(.*)","captures":{"1":{"name":"keyword.control.directive"},"2":{"patterns":[{"include":"#strings"},{"name":"entity.name.tag","match":"[a-zA-Z0-9_. ]+"},{"name":"keyword.operator.attribute.moonbit","match":"="}]}}}]},"comments":{"patterns":[{"name":"comment.line","match":"//[^/].*"},{"name":"comment.block.documentation.moonbit","begin":"///","while":"///","patterns":[{"name":"meta.embedded.line.moonbit","begin":"\\s*```","end":"\\s*```","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"markup.fenced_code.block.markdown"}},"endCaptures":{"0":{"name":"markup.fenced_code.block.markdown"}}},{"name":"comment.block.documentation.moonbit","match":".*"}]}]},"constants":{"patterns":[{"name":"constant.numeric.moonbit","match":"\\b\\d(\\d|_)*(?!\\.)(U)?(L)?\\b"},{"name":"constant.numeric.moonbit","match":"(?\u003c=\\.)\\d((?=\\.)|\\b)"},{"name":"constant.numeric.moonbit","match":"\\b\\d+(\\.)\\d+\\b"},{"name":"constant.numeric.moonbit","match":"\\b\\d[\\d_]*(\\.)[\\d_]+[Ee][+-]?\\d[\\d_]+\\b"},{"name":"constant.numeric.moonbit","match":"\\b0[XxOoBb][\\dAaBbCcDdEeFf_]+(U)?(L)?(?!\\.)\\b"},{"name":"constant.numeric.moonbit","match":"\\b0[Xx][\\dAaBbCcDdEeFf_]+(\\.)[\\dAaBbCcDdEeFf_]+[Pp][+-]?[\\dAaBbCcDdEeFf_]+\\b"},{"name":"constant.language.moonbit","match":"\\b(true|false|\\(\\))\\b"}]},"escape":{"patterns":[{"name":"constant.character.escape.moonbit","match":"\\\\[0\\\\tnrb\"']"},{"name":"constant.character.escape.moonbit","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.moonbit","match":"\\\\o[0-3][0-7]{2}"},{"name":"constant.character.escape.unicode.moonbit","match":"\\\\u[0-9a-fA-F]{4}"},{"name":"constant.character.escape.unicode.moonbit","match":"\\\\u{[0-9a-fA-F]*}"}]},"functions":{"patterns":[{"match":"\\b(fn)\\b\\s*(?:([A-Z][A-Za-z0-9_]*)::)?([a-z0-9_][A-Za-z0-9_]*)?\\b","captures":{"1":{"name":"keyword.moonbit"},"2":{"name":"entity.name.type.moonbit"},"3":{"name":"entity.name.function.moonbit"}}},{"name":"meta.function.call.moonbit","begin":"(?!\\bfn\\s+)(?:\\.|::)?([a-z0-9_][A-Za-z0-9_]*(\\!|\\?|\\!\\!)?)\\s*(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#functions"},{"include":"#support"},{"include":"#types"},{"include":"#keywords"},{"include":"#modules"},{"include":"#strings"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.moonbit"},"2":{"name":"punctuation.brackets.round.moonbit"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.moonbit"}}}]},"interpolation":{"patterns":[{"name":"meta.embedded.line.moonbit","contentName":"source.moonbit","begin":"\\\\{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.moonbit"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.moonbit"}}}]},"keywords":{"patterns":[{"name":"keyword.control.moonbit","match":"\\b(guard|if|while|break|continue|return|try|catch|except|raise|match|else|as|in|is|loop|for|async)\\b"},{"name":"keyword.moonbit","match":"\\b(type!|(type|typealias|let|const|enum|struct|import|trait|traitalias|derive|test|impl|with)\\b)"},{"name":"variable.language.moonbit","match":"\\b(self)\\b"},{"name":"storage.modifier.moonbit","match":"\\b(mut|pub|priv|readonly|extern)\\b"},{"name":"storage.type.function.arrow.moonbit","match":"-\u003e"},{"name":"storage.type.function.arrow.moonbit","match":"=\u003e"},{"name":"keyword.operator.assignment.moonbit","match":"="},{"name":"keyword.operator.other.moonbit","match":"\\|\u003e"},{"name":"keyword.operator.comparison.moonbit","match":"(===|==|!=|\u003e=|\u003c=|(?\u003c!-)(?\u003c!\\|)\u003e(?!\u003e)|\u003c(?!\u003c))"},{"name":"keyword.operator.logical.moonbit","match":"(\\bnot\\b|\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.bitwise.moonbit","match":"(\\|(?!\\|)(?!\u003e)|\u0026(?!\u0026)|\\^|\u003c\u003c|\u003e\u003e)"},{"name":"keyword.operator.math.moonbit","match":"(\\+|-(?!\u003e)|\\*|%|/)"}]},"modules":{"patterns":[{"name":"entity.name.namespace.moonbit","match":"@[A-Za-z][A-Za-z0-9_/]*"}]},"strings":{"patterns":[{"name":"string.line","match":"(#\\|).*","captures":{"1":{"name":"keyword.operator.other.moonbit"}}},{"name":"string.line","match":"(\\$\\|)(.*)","captures":{"1":{"name":"keyword.operator.other.moonbit"},"2":{"patterns":[{"include":"#escape"},{"include":"#interpolation"}]}}},{"name":"string.quoted.single.moonbit","begin":"'","end":"'","patterns":[{"include":"#escape"}]},{"name":"string.quoted.double.moonbit","begin":"\"","end":"\"","patterns":[{"include":"#escape"},{"include":"#interpolation"}]}]},"support":{"patterns":[{"name":"support.class.moonbit","match":"\\b(Eq|Compare|Hash|Show|Default|ToJson|FromJson)\\b"}]},"types":{"patterns":[{"name":"entity.name.type.moonbit","match":"\\b(?\u003c!@)[A-Z][A-Za-z0-9_]*((\\?)+|\\b)"}]},"variables":{"patterns":[{"name":"variable.other.moonbit","match":"\\b(?\u003c!\\.|::)[a-z_][a-zA-Z0-9_]*\\b"}]}}}
1
+ {"name":"moonbit","scopeName":"source.moonbit","patterns":[{"include":"#strings"},{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#functions"},{"include":"#support"},{"include":"#attribute"},{"include":"#types"},{"include":"#modules"},{"include":"#variables"}],"repository":{"attribute":{"patterns":[{"match":"(#[a-z][A-Za-z0-9_. ]*)(.*)","captures":{"1":{"name":"keyword.control.directive"},"2":{"patterns":[{"include":"#strings"},{"name":"entity.name.tag","match":"[a-zA-Z0-9_. ]+"},{"name":"keyword.operator.attribute.moonbit","match":"="}]}}}]},"comments":{"patterns":[{"name":"comment.line","match":"//[^/].*"},{"name":"comment.block.documentation.moonbit","begin":"///","while":"///","patterns":[{"name":"meta.embedded.line.moonbit","begin":"\\s*```","end":"\\s*```","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"markup.fenced_code.block.markdown"}},"endCaptures":{"0":{"name":"markup.fenced_code.block.markdown"}}},{"name":"comment.block.documentation.moonbit","match":".*"}]}]},"constants":{"patterns":[{"name":"constant.numeric.moonbit","match":"\\b\\d(\\d|_)*(?!\\.)((U)?(L)?|N?)\\b"},{"name":"constant.numeric.moonbit","match":"(?\u003c=\\.)\\d((?=\\.)|\\b)"},{"name":"constant.numeric.moonbit","match":"\\b\\d+(?=\\.\\.)"},{"name":"constant.numeric.moonbit","match":"\\b\\d[\\d_]*\\.[\\d_]*([Ee][+-]?\\d[\\d_]*\\b)?"},{"name":"constant.numeric.moonbit","match":"\\b0[Oo][0-7][0-7]*((U)?(L)?|N?)\\b"},{"name":"constant.numeric.moonbit","match":"\\b0[Xx][\\dAaBbCcDdEeFf][\\dAaBbCcDdEeFf_]*((U|L|UL|N)\\b|\\.[\\da-fA-F_]*([Pp][+-]?[\\da-fA-F_]+\\b)?)?"},{"name":"constant.language.moonbit","match":"\\b(true|false)\\b"}]},"escape":{"patterns":[{"name":"constant.character.escape.moonbit","match":"\\\\[0\\\\tnrb\"']"},{"name":"constant.character.escape.moonbit","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.moonbit","match":"\\\\o[0-3][0-7]{2}"},{"name":"constant.character.escape.unicode.moonbit","match":"\\\\u[0-9a-fA-F]{4}"},{"name":"constant.character.escape.unicode.moonbit","match":"\\\\u{[0-9a-fA-F]*}"}]},"functions":{"patterns":[{"match":"\\b(fn)\\b\\s*(?:([A-Z][A-Za-z0-9_]*)::)?([a-z0-9_][A-Za-z0-9_]*)?\\b","captures":{"1":{"name":"keyword.moonbit"},"2":{"name":"entity.name.type.moonbit"},"3":{"name":"entity.name.function.moonbit"}}},{"name":"meta.function.call.moonbit","begin":"(?!\\bfn\\s+)(?:\\.|::)?([a-z0-9_][A-Za-z0-9_]*(\\!|\\?|\\!\\!)?)\\s*(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#functions"},{"include":"#support"},{"include":"#types"},{"include":"#keywords"},{"include":"#modules"},{"include":"#strings"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.moonbit"},"2":{"name":"punctuation.brackets.round.moonbit"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.moonbit"}}}]},"interpolation":{"patterns":[{"name":"meta.embedded.line.moonbit","contentName":"source.moonbit","begin":"\\\\{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.moonbit"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.moonbit"}}}]},"keywords":{"patterns":[{"name":"keyword.control.moonbit","match":"\\b(guard|if|while|break|continue|return|try|catch|except|raise|match|else|as|in|is|loop|for|async)\\b"},{"name":"keyword.moonbit","match":"\\b(type!|(type|typealias|let|const|enum|struct|import|trait|traitalias|derive|test|impl|with|fnalias|recur)\\b)"},{"name":"variable.language.moonbit","match":"\\b(self)\\b"},{"name":"storage.modifier.moonbit","match":"\\b(mut|pub|priv|readonly|extern)\\b"},{"name":"storage.type.function.arrow.moonbit","match":"-\u003e"},{"name":"storage.type.function.arrow.moonbit","match":"=\u003e"},{"name":"keyword.operator.assignment.moonbit","match":"="},{"name":"keyword.operator.other.moonbit","match":"\\|\u003e"},{"name":"keyword.operator.comparison.moonbit","match":"(===|==|!=|\u003e=|\u003c=|(?\u003c!-)(?\u003c!\\|)\u003e(?!\u003e)|\u003c(?!\u003c))"},{"name":"keyword.operator.logical.moonbit","match":"(\\bnot\\b|\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.bitwise.moonbit","match":"(\\|(?!\\|)(?!\u003e)|\u0026(?!\u0026)|\\^|\u003c\u003c|\u003e\u003e)"},{"name":"keyword.operator.math.moonbit","match":"(\\+|-(?!\u003e)|\\*|%|/)"}]},"modules":{"patterns":[{"name":"entity.name.namespace.moonbit","match":"@[A-Za-z][A-Za-z0-9_/]*"}]},"strings":{"patterns":[{"name":"string.line","match":"(#\\|).*","captures":{"1":{"name":"keyword.operator.other.moonbit"}}},{"name":"string.line","match":"(\\$\\|)(.*)","captures":{"1":{"name":"keyword.operator.other.moonbit"},"2":{"patterns":[{"include":"#escape"},{"include":"#interpolation"}]}}},{"name":"string.quoted.single.moonbit","begin":"'","end":"'","patterns":[{"include":"#escape"}]},{"name":"string.quoted.double.moonbit","begin":"\"","end":"\"","patterns":[{"include":"#escape"},{"include":"#interpolation"}]}]},"support":{"patterns":[{"name":"support.class.moonbit","match":"\\b(Eq|Compare|Hash|Show|Default|ToJson|FromJson)\\b"}]},"types":{"patterns":[{"name":"entity.name.type.moonbit","match":"\\b(?\u003c!@)[A-Z][A-Za-z0-9_]*((\\?)+|\\b)"}]},"variables":{"patterns":[{"name":"variable.other.moonbit","match":"\\b(?\u003c!\\.|::)[a-z_][a-zA-Z0-9_]*\\b"}]}}}
@@ -1 +1 @@
1
- {"name":"NASL","scopeName":"source.nasl","patterns":[{"include":"#line_comment"},{"name":"comment.block.nasl","begin":"\\s*/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.nasl"}}},{"name":"comment.block.documentation.nasl","begin":"^=","end":"^=cut","captures":{"0":{"name":"punctuation.definition.comment.nasl"}}},{"name":"keyword.control.nasl","match":"\\b(if|else|while|for|return|foreach|break|continue)\\b"},{"name":"string.quoted.double.nasl","begin":"\"","end":"\""},{"name":"string.quoted.single.nasl","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.nasl","match":"\\\\."}]},{"name":"meta.function.nasl","begin":"(^\\s*)(public|private)?\\s+(function)(?:\\s+|(\\s*\u0026\\s*))(?:|([a-zA-Z0-9_~]+))\\s*(\\()","end":"\\)","captures":{"1":{"name":"storage.type.modifier.nasl"},"2":{"name":"storage.type.function.nasl"},"3":{"name":"storage.type.method.nasl"},"4":{"name":"support.function.magic.nasl"},"5":{"name":"entity.name.function.nasl"},"6":{"name":"punctuation.definition.parameters.begin.nasl"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.nasl"}}},{"name":"meta.class.nasl","begin":"^\\s*(object)\\s+([a-zA-Z0-9_]+)","end":"\\{","captures":{"1":{"name":"storage.type.modifier.nasl"},"2":{"name":"entity.name.class.nasl"}}},{"name":"storage.type.nasl","match":"\\b(local_var|global_var|var)\\b"},{"name":"constant.language.nasl","match":"\\b(NULL|true|false|TRUE|FALSE|BYTE_ORDER_LITTLE_ENDIAN|PRINTER_ENUM_SHARED|PRINTER_ENUM_NETWORK|PRINTER_ENUM_NAME|PRINTER_ENUM_LOCAL|_FCT_ANON_ARGS|ACT_GATHER_INFO|AUDIT_WEB_APP_NOT_AFFECTED|AUDIT_SOCK_FAIL|ACT_DESTRUCTIVE_ATTACK|ACT_ATTACK|ENCAPS_TLSv1)\\b"},{"name":"keyword.functions.standard","match":"\\b(display|exit|function|substr|isnull|raw_dword|crap|strlen|get_dword|mkdword|cstring|dump|mkpad|string|include|set_byte_order|isnull|strlen|get_string|get_port_state|open_sock_tcp|mkbyte|mkword|raw_string|query_scratchpad)\\b"},{"name":"keyword.functions.smbinternal","match":"\\b(dce_rpc_pipe_request|dce_rpc_parse_response|dce_rpc_pipe_request|bind_pipe)\\b"},{"name":"keyword.functions.kb","match":"\\b(get_kb_item|kb_smb_name|kb_smb_transport|kb_smb_login|kb_smb_password|kb_smb_domain|get_kb_item_or_exit)\\b"},{"name":"keyword.functions.smb","match":"\\b(NetUseAdd|session_init|NetUseDel|session_get_hostname)\\b"},{"name":"keyword.functions.reporting","match":"\\b(security_hole|security_note|security_report)\\b"},{"name":"keyword.functions.scripts","match":"\\b(script_name|script_version|script_timeout|script_description|script_copyright|script_summary|script_category|script_family|xscript_end_attributes|xscript_cvs_date|script_dependencie|script_dependencies|script_require_keys|script_require_ports|script_require_udp_ports|script_exclude_keys|xscript_set_attribute|script_add_preference|script_get_preference|script_get_preference_file_content|script_get_preference_file_location|script_id|script_cve_id|script_bugtraq_id|script_xref|get_preference|safe_checks|replace_kb_item|set_kb_item|get_kb_item|get_kb_fresh_item|get_kb_list|security_warning|security_note|security_hole|scanner_add_port|scanner_status|scanner_get_port|open_sock_tcp|open_sock_udp|open_priv_sock_tcp|open_priv_sock_udp|recv|recv_line|send|close|join_multicast_group|leave_multicast_group|get_source_port|cgibin|is_cgi_installed|http_open_socket|http_head|http_get|http_post|http_delete|http_put|http_close_socket|get_host_name|get_host_ip|same_host|get_host_open_port|get_port_state|get_tcp_port_state|get_udp_port_state|islocalhost|islocalnet|get_port_transport|this_host|this_host_name|string|raw_string|strcat|display|ord|hex|hexstr|strstr|ereg|ereg_replace|egrep|eregmatch|match|substr|insstr|tolower|toupper|crap|strlen|split|chomp|int|stridx|str_replace|make_list|make_array|keys|max_index|sort|unixtime|gettimeofday|localtime|mktime|open_sock_kdc|start_denial|end_denial|dump_ctxt|typeof|exit|rand|usleep|sleep|isnull|defined_func|forge_ip_packet|get_ip_element|set_ip_elements|insert_ip_options|dump_ip_packet|forge_tcp_packet|get_tcp_element|set_tcp_elements|dump_tcp_packet|tcp_ping|forge_udp_packet|get_udp_element|set_udp_elements|dump_udp_packet|forge_icmp_packet|get_icmp_element|forge_igmp_packet|send_packet|pcap_next|send_capture|MD2|MD4|MD5|SHA|SHA1|RIPEMD160|HMAC_MD2|HMAC_MD5|HMAC_SHA|HMAC_SHA1|HMAC_DSS|HMAC_RIPEMD160|dh_generate_key|bn_random|bn_cmp|dh_compute_key|rsa_public_decrypt|bf_cbc_encrypt|bf_cbc_decrypt|dsa_do_verify|pem_to_rsa|pem_to_dsa|rsa_sign|dsa_do_sign|pread|find_in_path|fread|fwrite|unlink|get_tmp_dir|file_stat|file_open|file_close|file_read|file_write|file_seek|prompt|get_local_mac_addrs|func_has_arg|socket_get_error|big_endian|socket_ready|socket_negotiate_ssl|socket_pending|fill_list|zlib_compress|zlib_decompress|fork|bsd_byte_ordering|inject_packet|get_local_mac_addr|get_gw_mac_addr|prompt_password|disable_all_plugins|enable_plugin_family|disable_plugin_family|enable_plugin_id|disable_plugin_id|rm_kb_item|get_host_raw_ip|this_host_raw|aes_cbc_encrypt|aes_cbc_decrypt|tripledes_cbc_encrypt|tripledes_cbc_decrypt|file_is_signed|bind_sock_tcp|bind_sock_udp|sock_accept|make_path|start_trace|stop_trace|rsa_public_encrypt|rsa_private_encrypt|rsa_private_decrypt|bn_dec2raw|bn_raw2dec|bn_hex2raw|bn_raw2hex|tcp_scan|socketpair|syn_scan|platform|xmlparse|preg|pgrep|pregmatch|udp_scan|preg_replace|get_global_kb_list|set_global_kb_item|get_global_kb_item|open_sock2|mutex_lock|mutex_unlock|uint|aes_ctr_encrypt|aes_ctr_decrypt|set_mem_limits|report_xml_tag|script_set_attribute|script_end_attributes|datalink|link_layer|sendto|recvfrom|bpf_open|bpf_close|bpf_next|bn_add|bn_sub|bn_mul|bn_sqr|bn_div|bn_mod|bn_nnmod|bn_mod_add|bn_mod_sub|bn_mod_mul|bn_mod_sqr|bn_exp|bn_mod_exp|bn_gcd|readdir|ssl_accept|resolv|open_sock_proxy|get_peer_name|nessus_get_dir|rename|get_sock_name|shutdown|debug_exit|aes_cfb_encrypt|aes_cfb_decrypt|routethrough|socket_set_timeout|file_mtime|mkdir|rmdir|ssl_accept2|gzip_compress|deflate_compress|thread_create|wait|getpid|query_report|can_query_report|xslt_apply_stylesheet|platform_ptr_size|kill|nasl_level|socket_get_secure_renegotiation_support|SHA224|SHA256|SHA512|HMAC_SHA224|HMAC_SHA256|HMAC_SHA512|server_authenticate|server_is_user_admin|server_add_user|server_delete_user|server_user_chpasswd|server_list_users|server_feed_type|server_generate_token|server_validate_token|server_delete_token|server_get_plugin_list|server_get_plugin_preferences_list|server_get_plugin_description|server_get_preferences|server_do_scan|server_scan_list|server_list_reports|server_report_get_host_list|server_report_get_port_list|server_report_get_port_details|server_list_policies|server_delete_policy|server_rename_policy|server_add_policy|server_get_plugin_list_family|server_report_get_tags|server_scan_ctrl|server_report_delete|server_apply_filter_to_report|server_restart|server_import_nessus_file|server_get_plugins_md5|server_get_load|server_list_policies_summaries|server_get_plugin_list_matching_families|server_user_exists|server_import_policy_nessus_file|server_copy_policy|socket_redo_ssl_handshake|socket_reset_ssl|server_add_ticket|server_edit_ticket|server_delete_ticket|server_get_tickets|server_get_status|server_master_unlock|server_get_plugins_descriptions|server_get_policy|server_do_scan_as_user|server_scan_get_status|server_loading_progress|server_query_report|server_report_get_trail_details|acap_close|acap_command|acap_get_tag|acap_increment_tag|acap_open|acap_set_tag|acap_starttls|acquired_ticket |activex_check_fileversion|activex_end|activex_get_filename|activex_get_fileversion|activex_get_killbit|activex_get_name|activex_init|activex_is_installed|add_authority_information_access|add_authority_key_identifier|add_basic_constraints|add_certificate_policies|add_crl_distribution_points|add_extended_key_usage|add_extension_data|add_general_name|add_hex_string|add_hex_string_nl|add_install|add_key_usage|add_overflow|add_port_in_list|add_rdn_seq|add_rdn_seq_nl|_address_to_raw|add_string|add_string_nl|add_subject_alternative_name|add_subject_key_identifier|AFPLogin|aix_check_patch|aix_report_add|aix_report_get|already_known_flaw|answers_differ|apache_module_is_installed|ARCFOUR |arcfour_setkey |arp_ping|ascii |ascii2ebcdic|ascii2utf16LE|base64|base64_code|base64decode|base64_decode|beginning_of_response|ber_decode |ber_decode_oid |ber_encode |ber_get_addr |ber_get_counter32 |ber_get_data |ber_get_int |ber_get_octet_string |ber_get_oid |ber_get_response_pdu |ber_get_sequence |ber_get_timeticks |ber_length |ber_put_get_next_pdu |ber_put_get_pdu |ber_put_int |ber_put_null |ber_put_octet_string |ber_put_oid |ber_put_sequence |ber_put_set_pdu |bf_F|bind_pipe |blob_to_pem|blowfish_decipher |blowfish_decrypt |blowfish_encipher |blowfish_encrypt |blowfish_initialize |broken_asp_interpretor|broken_php_interpretor|broken_www_interpretor|bsal_getbyte|bsal_getdword|bsal_getword|bsal_length|bsal_new|bsal_read|buffer_parameter |build_url|build_url_data|can_host_asp|can_host_php|cdr_get_byte_order|cdr_marshal_long|cdr_marshal_num|cdr_marshal_octet|cdr_marshal_short|cdr_marshal_string|cdr_marshal_wstring|cdr_set_byte_order|cdr_unmarshal_long|cdr_unmarshal_num|cdr_unmarshal_octet|cdr_unmarshal_short|cdr_unmarshal_string|cdr_unmarshal_wstring|cert_get_ext|cert_report|cgi_dirs|check_account|check_asa_release|check_gssapi_token |check_ios_matrix|check_jar_hotfix|check_junos|check_kerberos_response |check_model|check_oracle_patch|check_pattern|check_release|_check_telnet|check_version |check_win_dir_trav|check_win_dir_trav_ka|cipher_cmp|cipher_name|cipher_report|cipher_strength|class_name |class_parameter |clean_string|clear_cookiejar|client_hello|client_send_cert |CloseFile |CloseServiceHandle |CloseSession|cmp_addr_v|cmp_build|cmp_html|cmp_release|cmpv|cmp_version|compute_diff|ControlService |convert_all_time|convert_dword |convert_generalized_time|convert_time_to_sec |convert_utc_time|crc32|CreateFile |CreateService |create_uddi_xml |crypt|cstring |cvsdate2unixtime|cvss_vector_to_base_score|cvss_vector_to_temporal_score|date_cmp|dce_rpc |dce_rpc_alter_context |dce_rpc_auth3 |dce_rpc_bind |dce_rpc_connect |dce_rpc_ntlmssp_header |dce_rpc_parse_bind_ack |dce_rpc_parse_response |dce_rpc_pipe_request |dce_rpc_request |dce_rpc_sendrecv_request |deb_check|deb_report_add|deb_report_get|deb_str_cmp|debug_print|deb_ver_cmp|dec2hex|declare_broken_web_server|decode_file_directory_info|decode_kb_blob|decode_smb2|decode_uuid |decrypt|default_account_report|DeleteService |deprecated_version|der_decode |der_decode_asrep |der_decode_kdcrep |der_decode_oid |der_decode_tgsrep |der_encode |der_encode_apreq |der_encode_asreq |der_encode_boolean|der_encode_crypt |der_encode_enumerated|der_encode_filter|der_encode_int |der_encode_int32 |der_encode_kdcreq |der_encode_kdc_req_body |der_encode_list |der_encode_name |der_encode_negtokeninit |der_encode_octet_string |der_encode_oid |der_encode_padata |der_encode_paenc|der_encode_request |der_encode_sequence |der_encode_string |der_encode_tgsreq |der_encode_time |derive_keys|der_length |der_parse_bool |der_parse_data |der_parse_int |der_parse_list |der_parse_list_oid |der_parse_octet_string |der_parse_oid |der_parse_sequence |der_parse_spnego_init |der_parse_spnego_resp |DES |des_cbc_checksum |des_cbc_decrypt2|des_cbc_encrypt |des_cbc_encrypt2|des_cbc_md5_checksum |des_cbc_md5_decrypt |des_cbc_md5_encrypt |des_cbc_string_to_key |des_encrypt |dh_gen_key|dh_valid_key|difftime|disable_cookiejar|disable_cookiejar_autosave|disable_socket_ka|display|dns_comp_get|dns_split|dns_str_get|dns_str_to_query_txt|do_check_win_dir_trav|dos_status |DSI_GetDataLen|DSI_GetErrorCode|DSI_LastError|DSI_Packet|DSI_SendRecv|dump|dump_certificate|dump_cookiejar|dump_line_and_data|dump_table|dynamic_web_content|ebcdic2ascii|enable_cookiejar|enable_cookiejar_autosave|enable_keepalive|encode_char |encode_int |encode_kb_blob|encode_uuid |EnumServicesStatus |erase_cookie|erase_http_cookie|err_print|estimate_load|esx_check|esx_report_get|exec_cmd|exec_cmds|extract_asa_version|extract_pattern_from_resp|extract_sql_backend_from_kb|extract_structures |extract_version|filter_rh_inconstency|FindFile|FindFirstFile |FindFirstFile2|find_install|find_issuer_idx|FindNextFile |FindNextFile2|find_pattern|find_reason|fingerprint_cert|fingerprint_string|fixparity|fix_rel_location|fixup_rpm_list|format_dn|FPCloseVol|FPEnumerateExt2|FPEnumerateExt2Parse|FPGetSrvrParms|FPGetSrvrParmsParseReply|FPLogin|FPLogout|FPOpenVol|FPOpenVolParseReply|fqdn_resolv|freebsd_packages|ftp_authenticate|ftp_close|ftp_pasv|ftp_recv_data|ftp_recv_line|ftp_recv_listing|ftp_send_cmd|ftp_starttls|generate_uuid|generic_str_cmp|get_3digits_svc|get_any_http_cookie|get_backport_banner|get_bignum1|GetBundleVersionCmd|_GetBundleVersionCmd|getbyte|get_byte |GetCarbonVersionCmd|get_cgi_arg_list|get_cgi_arg_val_list|get_cgi_list|get_cgi_methods|get_checksum_type |get_data_size|get_dirs_from_kb|getdword|get_dword |GetFileSize |GetFileVersion |GetFileVersionEx |get_form_action_list|get_form_enctype_list|get_form_method_list|get_ftp_banner|get_ftp_port|get_header_command_code|get_header_dos_error_code|get_header_flags|get_header_flags2|get_header_nt_error_code|get_header_signature|get_header_tid|get_header_uid|get_http_banner|get_http_cookie|get_http_cookie_from_key|get_http_cookie_keys|get_http_cookies_names|get_http_page|get_http_port|get_imap_banner |get_install_from_kb|get_install_report|get_kb_banner|get_kb_blob|get_kb_item_or_exit|get_kb_list_or_exit|get_mysql_version|get_oracle_os|get_oracle_version|get_parity |get_php_version|get_pop3_banner |get_port_for_service|GetProductVersion|get_query_txt|get_qword|getqword_shift|get_read_timeout|get_registered_option |get_report|get_rpc_port|get_rpc_port2|get_rpc_port3|GetSecurityInfo |get_server_cert|get_server_public_key|get_service|GetService |get_service_banner_line|GetServiceDisplayName |get_sid |get_smb_data|get_smb_header|get_smb_parameters|get_smtp_banner|get_squid_banner|get_ssh_banner|get_ssh_error|get_ssh_server_version|get_ssh_supported_authentication|get_ssl_ports|GetStatus|getstring|get_string |get_string2 |get_telnet_banner|get_tested_ports|get_unknown_banner|get_unknown_banner2|get_unknown_svc|get_ver_type|get_vuln_report|get_win32_find_data_fileattributes |get_win32_find_data_filename |getword|get_word |giop_marshal_message|giop_marshal_request|giop_unmarshal_message|giop_unmarshal_reply|gssapi_ssh_get_mic |headers_split|heuristic_sig|_hex |hex2dec|hex2raw|_hex2raw|hex2raw2|hex_buf|hexdump |hexnumber|__hex_value|hive_int2str|_HMAC_SHA256|hotfix_add_report|hotfix_check_3rd_party|hotfix_check_dhcpserver_installed|hotfix_check_domain_controler|hotfix_check_excel_version|hotfix_check_exchange_installed|hotfix_check_fversion|hotfix_check_fversion_end|hotfix_check_fversion_init|hotfix_check_ie_version|hotfix_check_iis_installed|hotfix_check_nt_server|hotfix_check_office_version|hotfix_check_outlook_version|hotfix_check_powerpoint_version|hotfix_check_publisher_version|hotfix_check_server_core|hotfix_check_sp|hotfix_check_wins_installed|hotfix_check_word_version|hotfix_check_works_installed|hotfix_data_access_version|hotfix_get_commonfilesdir|hotfix_get_mssqldir|hotfix_get_officecommonfilesdir|hotfix_get_officeprogramfilesdir|hotfix_get_programfilesdir|hotfix_get_programfilesdirx86|hotfix_get_report|hotfix_get_systemroot|hotfix_ie_gt|hotfix_is_vulnerable|hotfix_missing|hotfix_path2share|hotfix_security_hole|hotfix_security_note|hotfix_security_warning|hpux_check_ctx |hpux_check_patch |hpux_installed |hpux_patch_installed|htonl|htons|http_40x|http_add_auth_to_req|http_check_authentication|http_check_remote_code|http_check_remote_code |http_clear_error|http_close_socket_ka|_http_close_socket_ka_only|http_cookies_style|HTTP_DES |HTTP_des_encrypt |http_disable_auth_scheme|http_disable_keep_alive|http_enable_auth_scheme|http_enable_keep_alive|http_error_msg|http_force_keep_alive|http_form_login|http_get_cache|http_get_read_timeout|http_head_part|http_incr_timeout_on_err|http_is_broken|http_is_dead|http_keepalive_check_connection|http_keepalive_enabled|http_keepalive_recv_body|http_keepalive_send_recv|http_last_sent_request|http_login_incr_count|http_login_release_lock|http_login_take_lock|http_mk_buffer_from_req|http_mk_delete_req|http_mk_get_req|http_mk_head_req|http_mk_post_req|http_mk_proxy_request|http_mk_put_req|http_mk_req|http_mk_trace_req|HTTP_NTLM_Hash |HTTP_NTLM_Response |http_open_sock_err|http_open_socket_ka|HTTP_permute |http_reauthenticate_if_needed|_http_recv|http_recv|http_recv3|http_recv_body|http_recv_headers2|http_recv_headers3|http_recv_length|http_redirect_with_get|http_reopen_socket|http_send_get_post|http_send_recv|http_send_recv3|http_send_recv_buf|_http_send_recv_once|http_send_recv_req|http_server_header|http_set_async_sock|HTTP_set_des_key |http_set_error|http_set_max_req_sz|http_set_read_timeout|http_store_dialog|http_strerror|HTTP_str_to_key |http_transient_error|http_uri_is_subpath|icmp|ICMP|icmp_checksum|icmp_get|icmp_set|iiop_unmarshal_profile|imap_close|imap_get_tag|imap_increment_tag|imap_is_response_ok|imap_read_tagged_response|imap_send_cmd|imap_set_tag|imap_starttls|index_by_name|inet_sum|info_send_cmd|init|init_cookiejar|init_crypto_data|init_esx_check|init_snmp |inject_poison|insert_icmp|int2|integer |inv8 |inverse |ior_destringify|ior_unmarshal|ip|ip6|ip6_get|ip6_set|ipaddr|ip_checksum|ip_csum|ip_dot2raw|ip_finish_insert_option|ip_get|ip_insert_option|ip_option|ip_raw2dot|ip_set|is_accessible_share|is_cgi_installed3|is_cgi_installed_ka|is_embedded_server|is_host_ip|is_known_extension|isolate_pattern|is_password_prompt|isprint |is_private_addr|is_registered_option|is_same_host|issameoid|is_self_signed|is_signed_by|is_sshd_bugged|isUnicode |is_valid_snmp_product|is_weak_key |join|_junos_ver_compare|kb_smb_domain|kb_smb_login|kb_smb_name|kb_smb_password|kb_smb_transport|kb_ssh_certificate|kb_ssh_client_ver|kb_ssh_host|kb_ssh_login|kb_ssh_passphrase|kb_ssh_password|kb_ssh_privatekey|kb_ssh_publickey|kb_ssh_realm|kb_ssh_transport|kerberos_checksum |kerberos_decrypt |kerberos_encrypt |kerberos_securityblob |kerberos_ssh |kerberostime|kex_packet|known_service|ldap_bind_request|ldap_extended_request|ldap_get_last_error|ldap_init|ldap_modify_request|ldap_parse_bind_response|ldap_parse_enumerated|ldap_parse_extended_response|ldap_parse_modify_response|ldap_parse_response|ldap_parse_search_entry|ldap_parse_search_object_name|ldap_recv|ldap_recv_next|ldap_request|ldap_request_sendrecv|ldap_search_request|ldap_set_error|ldap_starttls|len_bn|len_long|LEword|line2string |list|list_uniq|LM_Hash |LM_Response |LMv2_Response |load_CA|load_cookiejar|load_tgs_session |LsaClose |LsaEnumerateAccountsWithUserRight |LsaLookupNames |LsaLookupSid |LsaOpenPolicy |LsaQueryDomainInformationPolicy |LsaQueryInformationPolicy |LsaQuerySecurityObject |lshift |mac_compute|maj_cmp|maj_vers_cmp|_make_hashset|make_service_list|merge|mkbedword|mkbyte|mk_cookie_header|mkdate|mkdns|mkdword|mkicmp|mkip|mkip6|mkipaddr|mkLEword|mklist|mk_list|mk_list_silent|mk_list_silent3|mkpacket|mkpad|mk_query|mk_query_txt|mktcp|mkudp|mkword|month_num_by_name|_msdos_time|ms_since_midnight|mul_overflow|mult_str|my_encode|mysql_check_version|mysql_close|mysql_get_caps|mysql_get_lang|mysql_get_last_error|mysql_get_null_string|mysql_get_protocol|mysql_get_salt|mysql_get_scramble|mysql_get_scramble323|mysql_get_socket|mysql_get_status|mysql_get_thread_id|mysql_get_variant|mysql_get_version|mysql_hash_password|mysql_init|mysql_is_error_packet|mysql_is_ok_packet|mysql_is_proto41_supported|mysql_login|mysql_open|mysql_parse_error_packet|mysql_recv_packet|mysql_send_packet|mysql_ver_cmp|netbios_encode|netbios_header |netbios_name|netbios_packet |netbios_sendrecv |netbios_session_request |NetEnum |NetGetInfo |NetGroupGetUsers |NetLocalGroupGetMembers |netop_banner_items|netop_check_and_add_banner|netop_each_found|netop_kb_derive|netop_log_detected|netop_product_ident|netop_spacepad|netop_zeropad|NetServerEnum |NetServerGetInfo |NetSessionEnum |NetShareEnum |NetUseAdd |NetUseDel |NetUserGetGroups |NetUserGetInfo |NetUserGetLocalGroups |NetUserGetModals |NetWkstaGetInfo |NetWkstaUserEnum |nfs_cwd|nfs_mount|nfs_readdir|nfs_umount|nntp_article|nntp_auth|nntp_cmd|nntp_connect|nntp_make_id|nntp_post|nntp_recv|nntp_send|nntp_starttls|nondigit_vers_cmp|normalize_url_path|normalize_value|NTLM_Hash |NTLM_Response |ntlmssp_auth_securityblob |ntlmssp_data |ntlmssp_negotiate_securityblob |ntlmssp_parse_challenge |ntlmssp_parse_response |NTLMv2_Hash |NTLMv2_Response |ntohl|ntohs|ntol|ntos|nt_status |null_length |_obj_cmp|obj_cmp|_obj_cmp_array|obj_random|_obj_random_array|_obj_random_data|_obj_random_string|on_exit|open|OpenSCManager |OpenService |OpenSession|open_sock_ssl|openssl_check_version|openssl_ver_cmp|os_name_split|packet_payload|packet_split|packettype|padsz|parse_access_description|parse_addrlist|parse_algorithm_identifier|parse_attribute_type_and_value|parse_authority_information_access|parse_authority_key_identifier|parse_basic_constraints|parse_cert_chain|parse_certificate_comment|parse_certificate_policies|parse_crl_distribution_points|parse_dacl |parse_der_cert|parse_distribution_point|parse_extended_key_usage|parse_extension|parse_extensions|parse_flags|parse_general_name|parse_general_names|parse_http_headers|parse_key_usage|parse_lsalookupsid |parse_pdacl |parse_pkg_name|parse_policy_information|parse_policy_qualifier_information|parse_private_key|parse_publickey_info|parse_rdn_sequence|parse_rpm_name|parse_security_descriptor |parse_setcookie_header|parse_subject_alternative_name|parse_subject_key_identifier|parse_tbs_certificate|parse_time|password_to_key|patch_installed|patch_release_number|payload|pem_to_blob|permute |php_ver_match|ping_host4|pkg_cmp|pkg_op|pkg_op_match|pkg_report_get|pkg_test|pop3_close|pop3_is_response_ok|pop3_read_response|pop3_send_cmd|pop3_starttls|pow2|pstring|putbignum|putbignum1|putstring|qpkg_check|qpkg_cmp|qpkg_report_add|qpkg_report_get|qpkg_ver_cmp|QueryServiceObjectSecurity |QueryServiceStatus |_rand64|rand_str|raw_byte |raw_dword |raw_int16|raw_int32|raw_int8|raw_ntlmssp_auth_securityblob |raw_ntlmssp_negotiate |raw_ntlmssp_parse_challenge |raw_qword|_raw_to_address|raw_word |rc4_hmac_checksum |rc4_hmac_decrypt |rc4_hmac_encrypt |rc4_hmac_string_to_key |read|read_dword |ReadFile |read_version_in_kb|recv_ssh_packet|recv_ssl|recv_until|redir_urlencode|RegCloseKey |RegConnectRegistry |RegEnumKey |RegEnumValue |RegGetKeySecurity |register_service|register_stream|registry_key_writeable_by_non_admin|_RegOpenKey |RegOpenKey |RegQueryInfoKey |RegQueryValue |reload_cookie_jars|remote_sig_match|removeMSBits|replace_cgi_1arg_token|replace_cgi_args_token|replace_http_cookies|replace_kb_blob|replace_unprintable_char|report_service|report_tftp_backdoor|reset_snmp_version|reverse|reverse8 |rlogin|rm_kb_blob|rm_kb_item|ROUND |rpc_accept_stat|rpc_getport |rpclong|rpc_packet |rpcpad|rpc_reply_stat|rpc_sendrecv |rpm_check|rpm_cmp|rpm_exists|rpm_report_add|rpm_report_get|run_injection_hdr|run_injection_param_names|S |SamCloseHandle |SamConnect2 |SamEnumerateDomainsInSamServer |SamGetAliasMemberShip |SamGetGroupsForUser |SamGetMembersInAlias |SamGetMembersInGroup |SamLookupDomainInSamServer |SamLookupIdsInDomain |SamLookupNamesInDomain |SamOpen |SamOpenAlias |SamOpenDomain |SamOpenGroup |SamOpenUser |SamQueryInformationDomain |SamQueryInformationUser |sanitize_utf16|save_tgs_session |save_version_in_kb|scanned_ports_list|scan_snmp_string|script_cvs_date|script_cwe_id|script_end_attributes|script_osvdb_id|script_set_attribute|script_set_cvss_base_vector|script_set_cvss3_base_vector|script_set_cvss_temporal_vector|security_report_v4|send_rexec|send_rsh|send_ssh_packet|service_is_dead|service_is_unknown|session_add_flags |session_add_flags2 |session_del_flags2 |session_get_addrlist |session_get_buffersize |session_get_cid |session_get_errorcode |session_get_flags |session_get_flags2 |session_get_hostname |session_get_mackey |session_get_messageid|session_get_mid |session_get_pid |session_get_secmode|session_get_sequencenumber |session_get_server_max_size |session_get_sid|session_get_socket |session_get_tid |session_get_timeout |session_get_uid |session_increase_sequencenumber |session_init |session_is_authenticated |session_is_guest |session_is_smb2|session_is_unicode |session_set_addrlist |session_set_authenticated |session_set_buffersize |session_set_errorcode |session_set_guest |session_set_host_info |session_set_hostname |session_set_mackey |session_set_mid |session_set_pid |session_set_secmode|session_set_server_max_size |session_set_sid|session_set_smb2|session_set_socket |session_set_tid |session_set_timeout |session_set_uid |session_set_unicode |session_smb2_support|set_byte_order|set_des_key |set_globals|set_http_cookie|set_http_cookie_from_hash|set_kb_banner|set_kb_blob|set_mysql_version|set_snmp_version|set_ssh_error|set_telnet_banner|set_unknown_banner|sha256|shrink_list|sid2string |sid_ldiv|sid_ltoa|silent_service|sinfp|sinfp_extract_options|sinfp_get_distance|sinfp_get_ip|sinfp_get_mss|sinfp_get_options|sinfp_get_tcp|sinfp_get_tcp_flags|sinfp_get_tcp_win|sinfp_heuristic_match|sinfp_match|sinfp_mkbinary|sip_open|sip_recv|sip_send|slack_elt_cmp|slack_ver_cmp|slackware_check|slackware_report_add|slackware_report_get|smb2_close|smb2_create|smb2_header|smb2_ioctl|smb2_login |smb2_logoff|smb2_negotiate|smb2_query_directory|smb2_query_info|smb2_read|smb2_recv |smb2_sendrecv|smb2_session_setup|smb2_tree_connect|smb2_tree_disconnect|smb2_write|smb_check_success |smb_close |smb_create_and_x |smb_data |smb_decode_header|smb_file_read|smb_header |smb_login |smb_logoff_andx |smb_negotiate_protocol |smb_nt_trans |smb_parameters |smb_read_and_x |smb_recv |smb_sendrecv|smb_session_setup_andx |smb_session_setup_andx_kerberos_core |smb_session_setup_andx_lanman_core |smb_session_setup_andx_ntlm_core |smb_session_setup_andx_ntlmssp_core |smb_trans2 |smb_trans_and_x |smb_trans_lanman |smb_trans_pipe |smb_tree_connect_and_x |smb_tree_disconnect |smb_write_and_x |smtp_close|smtp_from_header|smtp_open|smtp_recv_banner|smtp_recv_line|smtp_send_port|smtp_send_socket|smtp_starttls|smtp_to_header|snmp_assemble_authentication_data|snmp_assemble_request_data|snmp_exchange|snmp_extract_reply |snmp_put_engine_data|snmp_reply |snmp_request|snmp_request_next |snmp_request_set |snmpv3_authenticate_incoming|snmpv3_authenticate_outgoing|snmpv3_decrypt_incoming|snmpv3_encrypt_outgoing|snmpv3_fail|snmpv3_initial_request|snmpv3_parse_authoritative|snmpv3_parse_header|snmpv3_put_msg_global_data|snmpv3_request|solaris_check_patch|solaris_details_add|solaris_get_report|solaris_report_set|sol_vers_cmp|sort_cert_chain|space|split_long_line|split_tcp|split_udp|split_url|ssh1_recv|ssh1_send|ssh_auth_gssapi|ssh_auth_keyboard|ssh_auth_password|ssh_auth_publickey|ssh_auth_supported|ssh_close_channel|ssh_close_connection|ssh_cmd|ssh_cmd1|ssh_cmd_error|ssh_dss_verify|ssh_exchange_identification|ssh_hex2raw|ssh_kex1|ssh_kex2|ssh_login|ssh_open_channel|ssh_open_connection|ssh_parse_keys|ssh_recv|ssh_req_svc|ssh_rsa_verify|ssh_userauth1|ssh_userauth2|ssl2_handshake|ssl3_handshake|ssl_calc_finished|ssl_calc_master|ssl_derive_keyblk|ssl_find|ssl_mk_handshake_msg|ssl_mk_record|ssl_parse|StartService |store_1_cookie|store_cookiejar|str2long|stream_error|string2sid |strip|strridx|str_to_key |substr_at_offset|supported_encryption_type |tcp|TCP|tcp_checksum|tcp_finish_insert_option|tcp_flags|tcp_get|tcp_insert_option|tcp_set|telnet2_init |telnet_do_neg_about_size|telnet_dont |telnet_do_starttls|telnet_do_term_type|telnet_handle_suboption |telnet_loop |telnet_negotiate|telnet_open_cnx|telnet_read |telnet_send_cmd |telnet_send_suboption |telnet_starttls|telnet_will |telnet_wont |telnet_write |test|test1cgi|test1url|test_cgi_rec|test_cgi_xss|test_sinfp|test_udp_port|tftp_get|tftp_ms_backdoor|tftp_put|tls_calc_master|tls_derive_keyblk|tls_mk_handshake_msg|tls_mk_record|tls_prf|torture_cgi_audit_response|torture_cgi_build_report|torture_cgi_delay|torture_cgi_init|torture_cgi_name|torture_cgi_remember|torture_cgis|torture_cgis_yesno|torture_cgi_untestable_param|tripledes_decrypt|tripledes_encrypt|tripledes_initialize|ubuntu_check|ubuntu_report_add|ubuntu_report_get|ubuntu_ver_cmp|udp|UDP|udp_checksum|udp_get|udp_ping_pong|udp_recv_line|udp_recv_line_reset|udp_set|unicode |unicode2ascii |unixtime_to_nttime64 |update_window_size|upnp_find_service|upnp_make_soap_data|upnp_make_soap_req|upnp_svc_url|urldecode|urlencode|url_hex2raw|usm_AES_priv_decrypt|usm_AES_priv_protocol|usm_DES_priv_decrypt|usm_DES_priv_protocol|usm_HMAC_MD5_auth_protocol|usm_HMAC_SHA_auth_protocol|utf16_to_ascii|ver_compare|verify_service|ver_num|vers_cmp|voffset_to_offset |_wins_clean_name|wins_name_records_request|wins_owner_records_request|_wins_send_recv|wins_start_association|wins_stop_association|wont_test_cgi|write_dword |WriteFile |xdr_auth_unix|xdr_getdword|xdr_getstring|xdr_long|xdr_string|xml_get_child|xml_get_children|xml_get_children_names|xml_get_names_values|_xml_table_to_string|xmpp_open|xmpp_starttls|xor |XOR|xor8| |_zero_pad|_zip_extract|zip_extract|zip_parse|xscript_osvdb_id|xscript_set_cvss_base_vector|soap_send_request|audit)\\b"}],"repository":{"escaped_char":{"name":"constant.character.escape.nasl","match":"\\\\."},"line_comment":{"patterns":[{"name":"meta.comment.full-line.nasl","match":"^((#|//).*$\\n?)","captures":{"1":{"name":"comment.line.number-sign.nasl"},"2":{"name":"punctuation.definition.comment.nasl"}}},{"name":"comment.line.number-sign.perl","match":"(#|//).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.nasl"}}}]}}}
1
+ {"name":"NASL","scopeName":"source.nasl","patterns":[{"include":"#pure_string"},{"include":"#impure_string"},{"include":"#comment"},{"include":"#augmented_assign_operators"},{"include":"#arithmetic_operators"},{"include":"#increment_decrement_operators"},{"include":"#assignment_operator"},{"include":"#logical_operators"},{"include":"#comparison_operators"},{"include":"#hexadecimal_literal"},{"include":"#octal_literal"},{"include":"#decimal_literal"},{"include":"#language_constants"},{"include":"#keywords"},{"include":"#builtin_variable_names"},{"include":"#builtin_constant_names"},{"include":"#loc_keyword"},{"include":"#glob_keyword"},{"include":"#var_keyword"},{"include":"#new_keyword"},{"include":"#delete_keyword"},{"include":"#include_keyword"},{"include":"#this_keyword"},{"include":"#super_keyword"},{"include":"#block"},{"include":"#function_call"},{"include":"#namespace_prefix"},{"include":"#keyword_arguments"},{"include":"#namespace_storage_type"},{"include":"#object_storage_type"},{"include":"#function_definition"},{"include":"#comment_block"}],"repository":{"arithmetic_operators":{"name":"keyword.operator.arithmetic.nasl","match":"\\+|\\-|\\*|\\*\\*|/|%|\u003c\u003c|\u003e\u003e|\u003e\u003e\u003e|\u0026|\\||\\^|~"},"assignment_operator":{"name":"keyword.operator.assignment.nasl","match":"\\="},"augmented_assign_operators":{"name":"keyword.operator.assignment.augmented.nasl","match":"\\+\\=|-\\=|\\*\\=|/\\=|//\\=|%\\=|\u0026\\=|\\|\\=|\\^\\=|\u003e\u003e\\=|\u003e\u003e\u003e\\=|\u003c\u003c\\=|\\*\\*\\="},"block":{"name":"meta.block.nasl","begin":"\\{","end":"\\}","patterns":[{"include":"#block_innards"}]},"block_innards":{"patterns":[{"include":"#function_call"},{"include":"#block"},{"include":"$base"}]},"builtin_constant_names":{"name":"support.constant.builtin.nasl","match":"\\b(pcap_timeout|IPPROTO_TCP|IPPROTO_ICMP|IPPROTO_IGMP|IPPROTO_UDP|ENCAPS_SSLv23|ENCAPS_SSLv2|ENCAPS_SSLv3|ENCAPS_TLSv1|ENCAPS_TLSv1_1|ENCAPS_TLSv1_2|ENCAPS_TLSv1_3|ENCAPS_VERIFY_PEER|ENCAPS_VERIFY_HOST|ENCAPS_UNSAFE_DHKEYLEN|ENCAPS_DISABLE_SSLv2|ENCAPS_DISABLE_SSLv3|ENCAPS_DISABLE_TLSv1|ENCAPS_DISABLE_TLSv1_1|ENCAPS_DISABLE_TLSv1_2|ENCAPS_DISABLE_TLSv1_3|NID_SHA1|NID_SHA256|NID_SHA512|NESSUS_3|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG|IP_DF|IP_MF|IP_OFFMASK|ACT_GATHER_INFO|ACT_ATTACK|ACT_MIXED_ATTACK|ACT_DESTRUCTIVE_ATTACK|ACT_DENIAL|ACT_SCANNER|ACT_SETTINGS|ACT_KILL_HOST|ACT_FLOOD|ACT_COMPLIANCE_CHECK|ACT_PATCH_SETUP|ACT_PATCH_APPLY|ACT_PATCH_POST_APPLY|ACT_THIRD_PARTY_INFO|ACT_END|ACT_END_REPORT|ACT_END2|NOERR|ETIMEDOUT|ECONNRESET|EUNREACH|EUNKNOWN|ESSL|EINPROGRESS|ECONNREFUSED|ENOBUFS|EACCES|EADDRNOTAVAIL|EINVAL|ENOTSTARTED|EROLLEDBACK|EROLLBACKFAILED|ECOMMITFAILED|SO_PID|SO_SEND_CHUNK_SIZE|SO_RX|SO_TX|Z_RLE|Z_HUFFMAN_ONLY|Z_FILTERED|SEEK_CUR|SEEK_END|DLT_FDDI|DLT_ENC|DLT_EN10MB|DLT_IEEE802|DLT_SLIP|DLT_LINUX_SLL|DLT_LOOP|DLT_NULL|DLT_PPP_SERIAL|DLT_PPP_ETHER|DLT_PPP_BSDOS|DLT_SLIP_BSDOS|DLT_PPP|DLT_RAW|DLT_UNKNOWN|N_STATE_DIR|N_LOG_DIR|N_CONF_DIR|N_CA_PUB_DIR|N_CA_PRIV_DIR|N_WWW_DIR|N_PLUGIN_DIR|N_REPORT_ENGINE_DIR|N_AUDITS_DIR|N_TOOLS_DIR|N_WIZARDS_DIR|N_SBIN_DIR|N_BIN_DIR|N_REMOTE_DIR|N_TEMPLATES_DIR|N_LIB_DIR|N_LIBEXEC_DIR|SHUT_RD|SHUT_WR|SHUT_RDWR|XMLRPC_CTRL_SCAN_STOP|XMLRPC_CTRL_SCAN_PAUSE|XMLRPC_CTRL_SCAN_RESUME|XMLRPC_CTRL_SCAN_KILL|AF_INET|AF_INET6|NC_ENCODE_XML|NC_ENCODE_JSON|NC_ENCODE_RAW|DB_ACL_ATTACH|DB_ACL_DETACH|DB_ACL_ANALYZE|DB_ACL_CREATE_VTABLE|DB_ACL_DROP_VTABLE|DB_ACL_FUNCTION|DB_ACL_SAVEPOINT|JCS_UNKNOWN|JCS_GRAYSCALE|JCS_RGB|JCS_YCbCr|JCS_CMYK|JCS_YCCK|XML_PARSE_NOENT|XML_PARSE_DTDLOAD|XML_PARSE_DTDATTR|XML_PARSE_DTDVALID|XML_PARSE_NOERROR|XML_PARSE_NOWARNING|XML_PARSE_PEDANTIC|XML_PARSE_NOBLANKS|XML_PARSE_SAX1|XML_PARSE_XINCLUDE|XML_PARSE_NONET|XML_PARSE_NODICT|XML_PARSE_NSCLEAN|XML_PARSE_NOCDATA|XML_PARSE_NOXINCNODE|XML_PARSE_COMPACT|XML_PARSE_OLD10|XML_PARSE_NOBASEFIX|XML_PARSE_HUGE|XML_PARSE_OLDSAX|XML_PARSE_IGNORE_ENC|XML_PARSE_BIG_LINES|XMLSEC_KEY_FORMAT_BINARY|XMLSEC_KEY_FORMAT_PEM|XMLSEC_KEY_FORMAT_DER|XMLSEC_KEY_FORMAT_PKCS8_PEM|XMLSEC_KEY_FORMAT_PKCS8_DER|XMLSEC_KEY_FORMAT_PKCS12|XMLSEC_KEY_FORMAT_CERT_PEM|XMLSEC_KEY_FORMAT_CERT_DER|SHARED_OBJECTS|FORK_SHARED_GLOBALS|FORK_SHARED_OBJECTS|FORK_TERM_ON_RELOAD|ENV_APP|ENV_SCRIPT|ENV_RUNTIME|ENV_OS|ENV_HOST|ENV_SYSTEM|ENV_PLUGIN|ENV_SCAN|PRODUCT_NESSUSD|PRODUCT_WIN_AGENT|PRODUCT_UNIX_AGENT|PRODUCT_NESSUSD_NSX|SERIALIZE_NONE|SERIALIZE_JSON|SERIALIZE_XML|SERIALIZE_URL|SERIALIZE_URL_QUERY|SERIALIZE_URL_PATH|SERIALIZE_ZIP|SERIALIZE_FORMAT|SERIALIZE_OBJECT|SERIALIZE_STRICT|SERIALIZE_FLOATS_TO_STRING|SKTEX_KDC|SKTEX_PROXY|SKTEX_TCP|SKTEX_UDP|SKTEX_NOBLOCK|SKTEX_SSH|SKTEX_SMB|NOGEX_DFLT|DB_ENC_NONE|DB_ENC_MASTER_KEY|DB_ENC_DEFAULT_KEY|DB_ENC_RAW_KEY|DB_ENC_PASSWORD|DB_COMP_NONE|DB_COMP_ZLIB|DB_COMP_SNAPPY|OP_MODE_OFB128|OP_MODE_XTS128|TIME_OFDAY|TIME_UNIX|TIME_UTC|TIME_LOCAL|Z_NO_FLUSH|Z_FINISH|Z_PARTIAL_FLUSH|RSA_PKCS1_PADDING|RSA_PKCS1_OAEP_PADDING|RSA_NO_PADDING|NASL_TYPE_UNSET|NASL_TYPE_INT|NASL_TYPE_UINT|NASL_TYPE_NUMBER|NASL_TYPE_STRING|NASL_TYPE_DATA|NASL_TYPE_STRDATA|NASL_TYPE_BOOL|NASL_TYPE_ARRAY|NASL_TYPE_LIST|NASL_TYPE_FUNCTION|NASL_TYPE_OBJECT|SCAN_ERROR_UNRESOLVEABLE_TARGET|SCAN_ERROR_UNPARSEABLE_TARGET|SCAN_ERROR_RESTRICTED_TARGET|SCAN_ERROR_DISALLOWED_TARGET|SCAN_ERROR_ESSENTIALS_SCAN_TARGET_LIMIT|SCAN_ERROR_LICENSE_SCAN_TARGET_LIMIT|SCAN_ERROR_ESSENTIALS_OVERALL_TARGET_LIMIT|SCAN_ERROR_EVAL_OVERALL_TARGET_LIMIT|SCAN_ERROR_LICENSE_OVERALL_TARGET_LIMIT|SCAN_ERROR_INTERFACE_PACKET_FORGERY_UNAVAILABLE|SCAN_ERROR_VM_PACKET_FORGERY_UNAVAILABLE|SCAN_ERROR_INTERFACE_PACKET_FORGERY_UNRELIABLE|SCAN_ERROR_PACKET_CAPTURE_TRUNCATION|SCAN_ERROR_TARGET_UNREACHABLE|SCAN_ERROR_TARGET_CONGESTION|SCAN_ERROR_AGENT_SCAN_NOT_STARTED|SCAN_ERROR_AGENT_SCANS_NOT_STARTED|SCAN_ERROR_AGENT_SCAN_NOT_COMPLETED|SCAN_ERROR_AGENT_SCANS_NOT_COMPLETED|SCAN_ERROR_AGENT_SCANS_ABORTED|SCAN_ERROR_SCANNER_IMPORT_FAILURE|SCAN_ERROR_AGENT_IMPORT_FAILURE|SCAN_ERROR_NODE_IMPORT_FAILURE|SCAN_ERROR_ATTACHMENT_NOT_FOUND|SCAN_ERROR_ATTACHMENT_TOO_LARGE|SCAN_ERROR_AUDIT_DEPRECATED|SCAN_ERROR_EMAIL_FAILURE|SCAN_ERROR_PLUGIN_GENERIC|SCAN_ERROR_PORTSCANNER_PORT_LIMIT|SCAN_ERROR_REPORT_PORT_LIMIT|SCAN_ERROR_SCRATCHPAD_SIZE_LIMIT|IPFMT_IP6_NO_SCOPE|OP_APPEND|OP_DELETE|OP_INSERT|NID_X25519|NID_X448|NID_ED25519|NID_ED448|SUCCESS|E_EXEC_FAILED|E_TRUNCATED|E_TIMEOUT|E_OOM|E_IO|E_INVAL|ON_OVERFLOW_ABORT|ON_OVERFLOW_FAIL|ON_OVERFLOW_TRUNCATE|FUNCTION_NAME|SCRIPT_NAME|ACT_INIT|ENCAPS_IP|MSG_OOB|IPPROTO_IP|TH_FIN|description|COMMAND_LINE|NASL_LEVEL|LINE_NUMBER)\\b"},"builtin_variable_names":{"name":"support.variable.builtin.nasl","match":"\\b(__FCT_ANON_ARGS|_FCT_ANON_ARGS)\\b"},"comment":{"name":"comment.line.single.nasl","match":"(#|//).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.nasl"}}},"comment_block":{"name":"comment.block.nasl","begin":"\\s*/\\*","end":"\\*/","captures":{"1":{"name":"punctuation.definition.comment.nasl"}}},"comparison_operators":{"name":"keyword.operator.comparison.nasl","match":"\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\\!\\=|\u003e\u003c|\u003e\\!\u003c|\\!~|\\=~"},"decimal_literal":{"name":"constant.numeric.integer.decimal.nasl","match":"\\b([1-9]+[0-9]*|0)"},"delete_keyword":{"name":"keyword.delete.nasl","match":"\\b(delete)\\b(?!:)"},"entity_name_function":{"patterns":[{"include":"#illegal_names"},{"include":"#identifier"}]},"escaped_char":{"match":"(\\\\x[0-9A-Fa-f]{2})|(\\\\[0-7]{3})|(\\\\\\n)|(\\\\\\\\)|(\\\\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)","captures":{"1":{"name":"constant.character.escape.hex.nasl"},"10":{"name":"constant.character.escape.linefeed.nasl"},"11":{"name":"constant.character.escape.return.nasl"},"12":{"name":"constant.character.escape.tab.nasl"},"13":{"name":"constant.character.escape.vertical-tab.nasl"},"2":{"name":"constant.character.escape.octal.nasl"},"3":{"name":"constant.character.escape.newline.nasl"},"4":{"name":"constant.character.escape.backlash.nasl"},"5":{"name":"constant.character.escape.double-quote.nasl"},"6":{"name":"constant.character.escape.single-quote.nasl"},"7":{"name":"constant.character.escape.bell.nasl"},"8":{"name":"constant.character.escape.backspace.nasl"},"9":{"name":"constant.character.escape.formfeed.nasl"}}},"function_call":{"name":"meta.function-call.nasl","match":"(?x) (?: (?= \\s ) (?:(?\u003c=else|return) | (?\u003c!\\w)) (\\s+))?(\\b(?!(while|for|foreach|repeat|if|else|return|switch)\\s*\\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\\b )++ ) \\s*(\\()","captures":{"1":{"name":"punctuation.whitespace.function-call.leading.nasl"},"2":{"name":"support.function.any-method.nasl"},"3":{"name":"punctuation.definition.parameters.nasl"}}},"function_definition":{"name":"meta.function.nasl","begin":"^\\s*((?:private\\s+|public\\s+|protected\\s+)?function)\\s+(?=~?[A-Za-z_][A-Za-z0-9_]*\\s*\\()","end":"(\\))\\s*","patterns":[{"contentName":"entity.name.function.nasl","begin":"(?=~?[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_~])","patterns":[{"include":"#entity_name_function"}]},{"contentName":"meta.function.parameters.nasl","begin":"(\\()","end":"(?=\\)\\s*)","patterns":[{"match":"\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(,)|(?=[\\n\\)]))","captures":{"1":{"name":"variable.parameter.function.nasl"},"2":{"name":"punctuation.separator.parameters.nasl"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.nasl"}}}],"beginCaptures":{"1":{"name":"storage.type.function.nasl"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.nasl"}}},"glob_keyword":{"name":"storage.modifier.global.nasl","match":"\\b(global_var)\\b"},"hexadecimal_literal":{"name":"constant.numeric.integer.hexadecimal.nasl","match":"\\b(?i:(0x[[:xdigit:]]*))"},"identifier":{"match":"~?[A-Za-z_][A-Za-z0-9_]*"},"illegal_names":{"name":"invalid.illegal.name.nasl","match":"\\b(and|or|break|continue|else|for|foreach|global_var|local_var|if|return|while|until|in|of)\\b"},"impure_string":{"name":"string.quoted.double.nasl","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nasl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nasl"}}},"include_keyword":{"name":"keyword.include.nasl","match":"\\b(include)\\b"},"increment_decrement_operators":{"name":"keyword.operator.increment-decrement.nasl","match":"(\\-\\-|\\+\\+)"},"keyword_arguments":{"begin":"(?\u003c!:)\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(\\:)(?!=|\\:)","end":"\\s*(?:(,)|(?=$\\n?|[\\)]))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"variable.parameter.function.nasl"},"2":{"name":"keyword.operator.assignment.nasl"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.nasl"}}},"keywords":{"name":"keyword.control.flow.nasl","match":"\\b(if|else|for|while|do|repeat|until|foreach|break|continue|return|switch|case|in|of)\\b"},"language_constants":{"name":"constant.language.nasl","match":"\\b(NULL|TRUE|FALSE|true|false)\\b"},"loc_keyword":{"name":"storage.modifier.local.nasl","match":"\\b(local_var)\\b"},"logical_operators":{"name":"keyword.operator.logical.nasl","match":"\\b(and|or|\\|\\||\u0026\u0026)\\b|\\!"},"namespace_prefix":{"match":"\\b([A-Za-z_][A-Za-z0-9_]*)(\\:\\:)\\b(?=[A-Za-z_][A-Za-z0-9_]*)","captures":{"1":{"name":"entity.name.namespace.nasl"},"2":{"name":"punctuation.accessor.namespace.nasl"}}},"namespace_storage_type":{"match":"\\b(namespace)\\b\\s+([a-zA-Z0-9_]+)","captures":{"1":{"name":"storage.type.namespace.nasl"},"2":{"name":"entity.name.namespace.nasl"}}},"new_keyword":{"name":"keyword.new.nasl","match":"\\b(new)\\b(?!:)"},"object_storage_type":{"name":"meta.class.nasl","begin":"^\\s*(object)\\s+([a-zA-Z0-9_]+)","end":"\\{","captures":{"1":{"name":"storage.type.modifier.nasl"},"2":{"name":"entity.name.class.nasl"}}},"octal_literal":{"name":"constant.numeric.integer.octal.nasl","match":"\\b(0[0-7]+)"},"pure_string":{"name":"string.quoted.single.js","begin":"'","end":"'","patterns":[{"include":"#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nasl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nasl"}}},"super_keyword":{"name":"keyword.super.nasl","match":"\\b(super)\\b"},"this_keyword":{"name":"keyword.this.nasl","match":"\\b(this)\\b"},"var_keyword":{"name":"storage.type.variable.nasl","match":"\\b(var)\\b(?!:)"}}}
@@ -1 +1 @@
1
- {"name":"Nim","scopeName":"source.nim","patterns":[{"include":"#pragmas"},{"include":"#brackets"},{"include":"#punctuations"},{"include":"#block-doc-comments"},{"include":"#comments"},{"include":"#for-stmts"},{"include":"#asm-stmts"},{"include":"#routines"},{"include":"#fmt-strs"},{"include":"#operators"},{"include":"#literals"},{"include":"#keywords"},{"include":"#do-stmts"},{"include":"#calls"},{"include":"#types"},{"include":"#builtins"},{"include":"#generic-symbols"}],"repository":{"asm-stmt-1":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"([Rr])?(\"\"\")","end":"\"\"\"(?!\")","patterns":[{"include":"#interpolation"}],"captures":{"1":{"name":"storage.type.string.nim"},"2":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}},{"contentName":"string.quoted.double.nim","begin":"([Rr])(\")","end":"(\")|(\\n)","patterns":[{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"storage.type.string.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"},"2":{"name":"invalid.illegal.nim"}}},{"name":"string.quoted.double.nim","begin":"\"","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"asm-stmts":{"patterns":[{"begin":"asm\\b","end":"(?=[^\"Rr{\\s])|(?\u003c=\")","patterns":[{"include":"#pragmas"},{"include":"#asm-stmt-1"}],"beginCaptures":{"0":{"name":"keyword.control.flow.nim"}}}]},"block-comments":{"patterns":[{"name":"comment.block.number-sign.nim","begin":"#\\[","end":"]#","patterns":[{"include":"#block-comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}}]},"block-doc-comments":{"patterns":[{"name":"comment.block.documentation.nim","begin":"##\\[","end":"]##","patterns":[{"include":"#block-doc-comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}}]},"brackets":{"patterns":[{"include":"#square-brackets"},{"name":"meta.braces.nim","begin":"\\{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.nim"}}},{"name":"meta.parens.nim","begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.nim"}}}]},"builtins":{"patterns":[{"name":"variable.language.nim","match":"\\bresult\\b"},{"name":"storage.type.primitive.nim","match":"\\b(?x:any|array|auto|bool|byte |c(?:double|float|u?(?:long(?:long)?|char|int|short)|longdouble|schar |size(?:_t)?|string(?:[Aa]rray)?) |char|float(?:32|64)?|iterable|lent|open[Aa]rray|owned|pointer|ptr|range|ref|se[qt] |sink|static|string|typed?|type[Dd]esc|u?int(?:8|16|32|64)?|untyped|varargs|void)\\b"},{"name":"support.constant.builtin.nim","match":"\\b(?x:appType|Compile(?:Date|Time)|cpuEndian |host(?:CPU|OS) |isMainModule|NaN|(?:Neg)?Inf|Nim(?:Major|Minor|Patch|Version)|nimvm|off|on |Quit(?:Failure|Success))\\b"}]},"calls":{"patterns":[{"begin":"(?x: (?= (?: (?!(?:out|ptr|ref|tuple)\\b) [A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_|`[^;,\\n`]+` ) (?:\\[.*])? (?: \\( |\" |[ ]+ (?: [_\\d\"'`\\[\\(] |(?!\\.|(?:\\*?[ ]*)[:=]|=[^=])[-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]+[^\\-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔\\s] |(?!(as|asm|and|bind|break|concept|const|continue|converter |defer|discard|distinct|div|elif|else|end|except|export|finally|from|import |include|interface|is(?:not)?|let|macro|method|mixin|mod|(?:not)?in|of |raise|sh[lr]|template|using|while|yield|x?or)\\b)[A-Za-z\\x80-\\xff] |\\{(?!\\.) ) ) ) )","end":"(?=[^\\[\\(`\\w\\x{80}-\\x{ff}])|(?\u003c=[\"\\)])","patterns":[{"name":"entity.name.function.nim","begin":"(?=[`_A-Za-z\\x80-\\xff])","end":"(?=[^`_A-Za-z\\x80-\\xff])","patterns":[{"include":"#builtins"},{"name":"support.type.nim","match":"[A-Z][\\dA-Za-z]+\\b"},{"match":"[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_|`[^;,\\n`]+`"}]},{"name":"meta.function-call.nim meta.generic.nim","begin":"\\[:?","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.generic.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.generic.end.nim"}}},{"name":"meta.function-call.arguments.nim","begin":"\\(","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.arguments.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.nim"}}},{"include":"#triplestr_lit"},{"name":"string.quoted.double.nim","begin":"\"","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\"\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.unclosed-string.nim"}}}]}]},"characters":{"patterns":[{"match":"'(?:[^\\\\']|(\\\\(?:[ABCEFLNRTVabceflnrtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2})))'","captures":{"0":{"name":"constant.character.nim"},"1":{"name":"constant.character.escape.nim"}}},{"name":"invalid.illegal.nim","match":"'[^']+'"}]},"comments":{"patterns":[{"include":"#block-comments"},{"include":"#line-comments"}]},"do-stmts":{"patterns":[{"begin":"\\bdo\\b","end":"(-\u003e)|(?=[^\\-\\( ])","patterns":[{"include":"#param-list"}],"beginCaptures":{"0":{"name":"storage.type.function.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.annotation.return.nim"}}}]},"doc-comments":{"patterns":[{"include":"#block-doc-comments"},{"include":"#line-doc-comments"}]},"fmt-strs":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"(?:(fmt)|(\u0026))(\"\"\")","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.nim","match":"{{|}}"},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(?=\"\"\"[^\"])","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"}}}],"beginCaptures":{"1":{"name":"meta.function-call.nim variable.function.nim"},"2":{"name":"keyword.operator.nim"},"3":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}},{"contentName":"string.quoted.triple.nim","begin":"(fmt)(\")","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"{{|}}|\"\""},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(\\n)|(?=\")","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"},"3":{"name":"invalid.illegal.nim"}}}],"beginCaptures":{"1":{"name":"meta.function-call.nim variable.function.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}},{"contentName":"string.quoted.double.nim","begin":"(\u0026)(\")","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"{{|}}"},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(\\n)|(?=\")","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"},"3":{"name":"invalid.illegal.nim"}}},{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"}],"beginCaptures":{"1":{"name":"keyword.operator.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"for-stmt-1":{"patterns":[{"name":"punctuation.separator.nim","match":","},{"match":"[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_|`[^;,\\n`]+`"},{"include":"#pragmas"},{"include":"#comments"}]},"for-stmts":{"patterns":[{"begin":"for\\b","end":"(in\\b)|(?=[^#,{_`A-Za-z\\x80-\\xff\\s])","patterns":[{"begin":"\\(","end":"(in\\b)|(\\))|(?=[^#,{_`A-Za-z\\x80-\\xff\\s])","patterns":[{"include":"#for-stmt-1"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.nim"}},"endCaptures":{"1":{"name":"keyword.control.loop.for.in.nim"},"2":{"name":"punctuation.section.parens.end.nim"}}},{"include":"#for-stmt-1"}],"beginCaptures":{"0":{"name":"keyword.control.loop.for.nim"}},"endCaptures":{"1":{"name":"keyword.control.loop.for.in.nim"}}}]},"generic-param-list":{"patterns":[{"name":"meta.generic.nim","begin":"(?\u003c=[`*\\w\\x{80}-\\x{ff}]) *(\\[)","end":"(])|(?=[^#_`:=,;A-Za-z\\x80-\\xff\\s])","patterns":[{"include":"#generic-param-list-0"}],"beginCaptures":{"1":{"name":"punctuation.section.generic.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.section.generic.end.nim"}}}]},"generic-param-list-0":{"patterns":[{"name":"punctuation.separator.nim","match":"[,;]"},{"begin":"(:)|(=)","end":"([,;])|(?=\\])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.separator.annotation.nim"},"2":{"name":"keyword.operator.assignment.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.nim"}}},{"include":"#comments"}]},"generic-symbols":{"patterns":[{"name":"support.constant.nim","match":"[A-Z](_?[A-Z\\d_])+\\b"},{"name":"support.type.nim","match":"[A-Z][\\dA-Za-z]+\\b"},{"match":"[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_|`[^;,\\n`]+`"}]},"interpolation":{"patterns":[{"match":"(`) *(?:[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_) *(`)","captures":{"0":{"name":"source.nim.embedded"},"1":{"name":"punctuation.section.embedded.begin.nim"},"2":{"name":"punctuation.section.embedded.end.nim"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.word.nim","match":"\\b(?:addr|cast)\\b"},{"name":"comment.block.nim","begin":"\\bdiscard +\"\"\"","end":"\"\"\"(?!\")","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}},{"name":"keyword.other.nim","match":"\\b(?:distinct|discard)\\b"},{"name":"keyword.control.flow.nim","match":"\\b(?:asm|end|break|continue|raise|return|yield)\\b"},{"name":"storage.type.nim","match":"\\b(?:concept|enum|interface)\\b"},{"match":"\\b(object)\\b(?: *(of)\\b)?","captures":{"1":{"name":"storage.type.nim"},"2":{"name":"keyword.other.nim"}}},{"name":"keyword.control.loop.while.nim","match":"\\bwhile\\b"},{"name":"keyword.control.conditional.switch.nim","match":"\\bcase\\b"},{"name":"keyword.control.conditional.case.nim","match":"^ *(of)\\b"},{"name":"keyword.control.conditional.if.nim","match":"\\bif\\b"},{"name":"keyword.control.conditional.when.nim","match":"\\bwhen\\b"},{"name":"keyword.control.conditional.elseif.nim","match":"\\belif\\b"},{"match":"\\b(else)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.conditional.else.nim"},"1":{"name":"keyword.control.conditional.else.nim"},"2":{"name":"punctuation.section.block.conditional.else.nim"}}},{"match":"\\b(try)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.exception.try.nim"},"1":{"name":"keyword.control.exception.try.nim"},"2":{"name":"punctuation.section.block.exception.nim"}}},{"match":"\\b(finally)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.exception.finally.nim"},"1":{"name":"keyword.control.exception.finally.nim"},"2":{"name":"punctuation.section.block.exception.finally.nim"}}},{"match":"\\b(defer)\\b(?: *(:))?","captures":{"1":{"name":"keyword.control.flow.defer.nim"},"2":{"name":"punctuation.section.block.begin.nim"}}},{"match":"\\b(block)\\b(?:(?: *(?:[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_|`[^;,\\n`]+`))? *(:))?","captures":{"1":{"name":"keyword.declaration.block.nim"},"2":{"name":"punctuation.section.block.begin.nim"}}},{"name":"keyword.control.nim","match":"\\b(?:as|(?:ex|im)port|include|bind|mixin|from|except)\\b"},{"name":"storage.modifier.nim","match":"\\b(?:const|let|var|using)\\b"}]},"language-constants":{"patterns":[{"name":"constant.language.nim","match":"\\b(?:true|false|nil)\\b"}]},"line-comments":{"patterns":[{"name":"comment.line.number-sign.nim","begin":"(#)(?: *(TODO|todo)\\b)?","end":"$\\n?","beginCaptures":{"1":{"name":"punctuation.definition.comment.nim"},"2":{"name":"invalid.deprecated.nim"}}}]},"line-doc-comments":{"patterns":[{"name":"comment.line.documentation.nim","begin":"##","end":"$\\n?","beginCaptures":{"0":{"name":"punctuation.definition.comment.nim"}}}]},"literals":{"patterns":[{"include":"#str_lits"},{"include":"#numbers"},{"include":"#characters"},{"include":"#language-constants"}]},"numbers":{"patterns":[{"match":"(?x: \\b(\\d(?:_?\\d)*) (?: (?: ((\\.)\\d(?:_?\\d)*) ([Ee][-+]?\\d(?:_?\\d)*)? |([Ee][-+]?\\d(?:_?\\d)*) ) ('(?:[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_)|(?:[Ff](?:32|64)|[Dd]))? |('(?:[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_)|(?:[Ff](?:32|64)|[Dd])) ) )","captures":{"0":{"name":"meta.number.float.decimal.nim"},"1":{"name":"constant.numeric.value.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"punctuation.separator.decimal.nim"},"4":{"name":"constant.numeric.value.exponent.nim"},"5":{"name":"constant.numeric.value.exponent.nim"},"6":{"name":"constant.numeric.suffix.nim"},"7":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Xx]) ([[:xdigit:]](?:_?[[:xdigit:]])*) ('(?:[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_)|[Ff](?:32|64)) )","captures":{"0":{"name":"meta.number.float.hexadecimal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0o) ([0-7](?:_?[0-7])*) ('(?:[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_)|(?:[Ff](?:32|64)|[Dd])) )","captures":{"0":{"name":"meta.number.float.octal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Bb]) ([01](?:_?[01])*) ('(?:[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_)|(?:[Ff](?:32|64)|[Dd])) )","captures":{"0":{"name":"meta.number.float.binary.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Xx]) ([[:xdigit:]](?:_?[[:xdigit:]])*) ('(?:[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.hexadecimal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0o) ([0-7](?:_?[0-7])*) ('(?:[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.octal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Bb]) ([01](?:_?[01])*) ('(?:[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.binary.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(\\d(?:_?\\d)*) ('(?:[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.decimal.nim"},"1":{"name":"constant.numeric.value.nim"},"2":{"name":"constant.numeric.suffix.nim"}}}]},"operators":{"patterns":[{"name":"keyword.operator.logical.nim","match":"\\b(?:and|not|x?or)\\b"},{"name":"keyword.control.conditional.case.nim","match":"^of\\b"},{"name":"keyword.operator.word.nim","match":"\\b(?:of|(?:not)?in|is(?:not)?)\\b"},{"name":"keyword.operator.bitwise.nim","match":"\\bsh[lr]\\b"},{"name":"keyword.operator.arithmetic.nim","match":"\\b(?:div|mod)\\b"},{"name":"keyword.operator.comparison.nim","match":"==|\u003c=?|\u003e=?|!="},{"name":"keyword.operator.assignment.nim","match":"(?:[-+*/@$\u0026%|^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔][-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]*)?=(?![-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])"},{"name":"keyword.operator.nim","match":"[-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]+"}]},"param-list":{"patterns":[{"name":"meta.function.parameters","begin":"\\(","end":"\\)","patterns":[{"name":"punctuation.separator.nim","match":"[,;]"},{"begin":"(:)|(=)","end":"(?=[,;\\)])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.separator.annotation.nim"},"2":{"name":"keyword.operator.assignment.nim"}}},{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.parameters.end.nim"}}}]},"patterns":{"patterns":[{"name":"meta.pattern.nim","begin":"\\{(?!\\.)","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.pattern.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.pattern.end.nim"}}}]},"pragmas":{"patterns":[{"name":"meta.annotation.nim","begin":"\\{\\.(?!\\.})","end":"\\.?}","patterns":[{"include":"#calls"},{"name":"entity.other.attribute-name.pragma.nim","match":"[A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_|`[^;,\\n`]+`"},{"include":"#square-brackets"},{"begin":"(?=\\S)","end":"(,)|(?=\\.?})","patterns":[{"begin":":","end":"(?=,|\\.?})","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.separator.key-value.nim"}}}],"endCaptures":{"1":{"name":"punctuation.separator.sequence.nim"}}}],"beginCaptures":{"0":{"name":"punctuation.section.annotation.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.annotation.end.nim"}}}]},"punctuations":{"patterns":[{"name":"punctuation.terminator.statement.nim","match":";"},{"name":"punctuation.separator.nim","match":","},{"name":"punctuation.section.block.begin.nim","match":":"},{"name":"punctuation.accessor.dot.nim","match":"\\.(?![-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])"},{"match":"(\\*) *(:|(?=,|#|\\{\\.))","captures":{"1":{"name":"storage.modifier.nim"},"2":{"name":"punctuation.separator.annotation.nim"}}},{"name":"invalid.illegal.nim","match":"\\)|]|}"}]},"routines":{"patterns":[{"name":"meta.function.nim","begin":"(?x: (proc|template|iterator|func|method|macro|converter)\\b (?:[ ]*([A-Za-z\\x80-\\xff](?:_?[\\dA-Za-z\\x80-\\xff])*|_|`[^;,\\n`]+`)(?:[ ]*(\\*))?)? )","end":"(:)|(?=[^#\\(\\[:\\s]|##)","patterns":[{"include":"#comments"},{"include":"#patterns"},{"include":"#generic-param-list"},{"include":"#param-list"}],"beginCaptures":{"1":{"name":"storage.type.function.nim"},"2":{"name":"entity.name.function.nim"},"3":{"name":"storage.modifier.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.annotation.nim"}}}]},"rstr_lit":{"patterns":[{"contentName":"string.quoted.double.nim","begin":"([Rr])(\")","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\"\""}],"beginCaptures":{"1":{"name":"storage.type.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"string.quoted.double.nim invalid.illegal.unclosed-string.nim"}}}]},"square-brackets":{"patterns":[{"name":"meta.brackets.nim","begin":"\\[","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.nim"}}}]},"str_lit":{"patterns":[{"name":"string.quoted.double.nim","begin":"\"","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"str_lits":{"patterns":[{"include":"#triplestr_lit"},{"include":"#rstr_lit"},{"include":"#str_lit"}]},"triplestr_lit":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"([Rr])?(\"\"\")","end":"\"\"\"(?!\")","beginCaptures":{"1":{"name":"storage.type.nim"},"2":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}}]},"types":{"patterns":[{"contentName":"meta.generic.nim","begin":"(?=(?:[A-Za-z](?:_?[\\dA-Za-z])*)\\[)(?x:(out|ptr|ref|array |cstring[Aa]rray|iterable|lent|open[Aa]rray|owned|ptr|range|ref|se[qt] |sink|static|type(?:[Dd]esc)?|varargs)|([A-Z][\\dA-Za-z]+))(\\[)","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.primitive.nim"},"2":{"name":"support.type.nim"},"3":{"name":"meta.generic.nim punctuation.section.generic.begin.nim"}},"endCaptures":{"0":{"name":"meta.generic.nim punctuation.section.generic.nim"}}},{"name":"storage.type.primitive.nim","match":"\\b(?:out|tuple|ref|ptr)\\b"}]}}}
1
+ {"name":"Nim","scopeName":"source.nim","patterns":[{"include":"#pragmas"},{"include":"#brackets"},{"include":"#punctuations"},{"include":"#block-doc-comments"},{"include":"#comments"},{"include":"#for-stmts"},{"include":"#asm-stmts"},{"include":"#routines"},{"include":"#fmt-strs"},{"include":"#operators"},{"include":"#literals"},{"include":"#keywords"},{"include":"#do-stmts"},{"include":"#calls"},{"include":"#types"},{"include":"#builtins"},{"include":"#generic-symbols"}],"repository":{"asm-stmt-1":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"([Rr])?(\"\"\")","end":"\"\"\"(?!\")","patterns":[{"include":"#interpolation"}],"captures":{"1":{"name":"storage.type.string.nim"},"2":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}},{"contentName":"string.quoted.double.nim","begin":"([Rr])(\")","end":"(\")|(\\n)","patterns":[{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"storage.type.string.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"},"2":{"name":"invalid.illegal.nim"}}},{"name":"string.quoted.double.nim","begin":"\"","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"asm-stmts":{"patterns":[{"begin":"asm\\b","end":"(?=[^\"Rr{\\s])|(?\u003c=\")","patterns":[{"include":"#pragmas"},{"include":"#asm-stmt-1"}],"beginCaptures":{"0":{"name":"keyword.control.flow.nim"}}}]},"block-comments":{"patterns":[{"name":"comment.block.number-sign.nim","begin":"#\\[","end":"]#","patterns":[{"include":"#block-comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}}]},"block-doc-comments":{"patterns":[{"name":"comment.block.documentation.nim","begin":"##\\[","end":"]##","patterns":[{"include":"#block-doc-comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}}]},"brackets":{"patterns":[{"include":"#square-brackets"},{"name":"meta.braces.nim","begin":"\\{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.nim"}}},{"name":"meta.parens.nim","begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.nim"}}}]},"builtins":{"patterns":[{"name":"variable.language.nim","match":"\\bresult\\b"},{"name":"storage.type.primitive.nim","match":"\\b(?x:any|array|auto|bool|byte |c(?:double|float|u?(?:long(?:long)?|char|int|short)|longdouble|schar |size(?:_t)?|string(?:[Aa]rray)?) |char|float(?:32|64)?|iterable|lent|open[Aa]rray|owned|pointer|ptr|range|ref|se[qt] |sink|static|string|typed?|type[Dd]esc|u?int(?:8|16|32|64)?|untyped|varargs|void)\\b"},{"name":"support.constant.builtin.nim","match":"\\b(?x:appType|Compile(?:Date|Time)|cpuEndian |host(?:CPU|OS) |isMainModule|NaN|(?:Neg)?Inf|Nim(?:Major|Minor|Patch|Version)|nimvm|off|on |Quit(?:Failure|Success))\\b"}]},"calls":{"patterns":[{"begin":"(?x: (?= (?: (?!(?:out|ptr|ref|tuple)\\b) [A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_|`[^;,\\n`]+` ) (?:\\[.*])? (?: \\( |\" |[ ]+ (?: [_\\d\"'`\\[\\(] |(?!\\.|(?:\\*?[ ]*)[:=]|=[^=])[-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]+[^\\-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔\\s] |(?!(as|asm|and|bind|break|concept|const|continue|converter |defer|discard|distinct|div|elif|else|end|except|export|finally|from|import |include|interface|is(?:not)?|let|macro|method|mixin|mod|(?:not)?in|of |raise|sh[lr]|template|using|while|yield|x?or)\\b)[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]] |\\{(?!\\.) ) ) ) )","end":"(?=[^\\[\\(`\\w\\x{80}-\\x{ff}])|(?\u003c=[\"\\)])","patterns":[{"name":"entity.name.function.nim","begin":"(?=[`_A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])","end":"(?=[^`_A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])","patterns":[{"include":"#builtins"},{"name":"support.type.nim","match":"[A-Z][\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]]+\\b"},{"match":"[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_|`[^;,\\n`]+`"}]},{"name":"meta.function-call.nim meta.generic.nim","begin":"\\[:?","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.generic.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.generic.end.nim"}}},{"name":"meta.function-call.arguments.nim","begin":"\\(","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.arguments.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.nim"}}},{"include":"#triplestr_lit"},{"name":"string.quoted.double.nim","begin":"\"","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\"\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.unclosed-string.nim"}}}]}]},"characters":{"patterns":[{"match":"'(?:[^\\\\']|(\\\\(?:[ABCEFLNRTVabceflnrtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2})))'","captures":{"0":{"name":"constant.character.nim"},"1":{"name":"constant.character.escape.nim"}}},{"name":"invalid.illegal.nim","match":"'[^']+'"}]},"comments":{"patterns":[{"include":"#block-comments"},{"include":"#line-comments"}]},"do-stmts":{"patterns":[{"begin":"\\bdo\\b","end":"(-\u003e)|(?=[^\\-\\( ])","patterns":[{"include":"#param-list"}],"beginCaptures":{"0":{"name":"storage.type.function.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.annotation.return.nim"}}}]},"doc-comments":{"patterns":[{"include":"#block-doc-comments"},{"include":"#line-doc-comments"}]},"fmt-strs":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"(?:(fmt)|(\u0026))(\"\"\")","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.nim","match":"{{|}}"},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(?=\"\"\"[^\"])","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"}}}],"beginCaptures":{"1":{"name":"meta.function-call.nim variable.function.nim"},"2":{"name":"keyword.operator.nim"},"3":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}},{"contentName":"string.quoted.triple.nim","begin":"(fmt)(\")","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"{{|}}|\"\""},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(\\n)|(?=\")","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"},"3":{"name":"invalid.illegal.nim"}}}],"beginCaptures":{"1":{"name":"meta.function-call.nim variable.function.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}},{"contentName":"string.quoted.double.nim","begin":"(\u0026)(\")","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"{{|}}"},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(\\n)|(?=\")","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"},"3":{"name":"invalid.illegal.nim"}}},{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"}],"beginCaptures":{"1":{"name":"keyword.operator.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"for-stmt-1":{"patterns":[{"name":"punctuation.separator.nim","match":","},{"match":"[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_|`[^;,\\n`]+`"},{"include":"#pragmas"},{"include":"#comments"}]},"for-stmts":{"patterns":[{"begin":"for\\b","end":"(in\\b)|(?=[^#,{_`A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]\\s])","patterns":[{"begin":"\\(","end":"(in\\b)|(\\))|(?=[^#,{_`A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]\\s])","patterns":[{"include":"#for-stmt-1"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.nim"}},"endCaptures":{"1":{"name":"keyword.control.loop.for.in.nim"},"2":{"name":"punctuation.section.parens.end.nim"}}},{"include":"#for-stmt-1"}],"beginCaptures":{"0":{"name":"keyword.control.loop.for.nim"}},"endCaptures":{"1":{"name":"keyword.control.loop.for.in.nim"}}}]},"generic-param-list":{"patterns":[{"name":"meta.generic.nim","begin":"(?\u003c=[`*\\w\\x{80}-\\x{ff}]) *(\\[)","end":"(])|(?=[^#_`:=,;A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]\\s])","patterns":[{"include":"#generic-param-list-0"}],"beginCaptures":{"1":{"name":"punctuation.section.generic.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.section.generic.end.nim"}}}]},"generic-param-list-0":{"patterns":[{"name":"punctuation.separator.nim","match":"[,;]"},{"begin":"(:)|(=)","end":"([,;])|(?=\\])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.separator.annotation.nim"},"2":{"name":"keyword.operator.assignment.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.nim"}}},{"include":"#comments"}]},"generic-symbols":{"patterns":[{"name":"support.constant.nim","match":"[A-Z](_?[A-Z\\d\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])+\\b"},{"name":"support.type.nim","match":"[A-Z][\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]]+\\b"},{"match":"[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_|`[^;,\\n`]+`"}]},"interpolation":{"patterns":[{"match":"(`) *(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_) *(`)","captures":{"0":{"name":"source.nim.embedded"},"1":{"name":"punctuation.section.embedded.begin.nim"},"2":{"name":"punctuation.section.embedded.end.nim"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.word.nim","match":"\\b(?:addr|cast)\\b"},{"name":"comment.block.nim","begin":"\\bdiscard +\"\"\"","end":"\"\"\"(?!\")","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}},{"name":"keyword.other.nim","match":"\\b(?:distinct|discard)\\b"},{"name":"keyword.control.flow.nim","match":"\\b(?:asm|end|break|continue|raise|return|yield)\\b"},{"name":"storage.type.nim","match":"\\b(?:concept|enum|interface)\\b"},{"match":"\\b(object)\\b(?: *(of)\\b)?","captures":{"1":{"name":"storage.type.nim"},"2":{"name":"keyword.other.nim"}}},{"name":"keyword.control.loop.while.nim","match":"\\bwhile\\b"},{"name":"keyword.control.conditional.switch.nim","match":"\\bcase\\b"},{"name":"keyword.control.conditional.case.nim","match":"^ *(of)\\b"},{"name":"keyword.control.conditional.if.nim","match":"\\bif\\b"},{"name":"keyword.control.conditional.when.nim","match":"\\bwhen\\b"},{"name":"keyword.control.conditional.elseif.nim","match":"\\belif\\b"},{"match":"\\b(else)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.conditional.else.nim"},"1":{"name":"keyword.control.conditional.else.nim"},"2":{"name":"punctuation.section.block.conditional.else.nim"}}},{"match":"\\b(try)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.exception.try.nim"},"1":{"name":"keyword.control.exception.try.nim"},"2":{"name":"punctuation.section.block.exception.nim"}}},{"match":"\\b(finally)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.exception.finally.nim"},"1":{"name":"keyword.control.exception.finally.nim"},"2":{"name":"punctuation.section.block.exception.finally.nim"}}},{"match":"\\b(defer)\\b(?: *(:))?","captures":{"1":{"name":"keyword.control.flow.defer.nim"},"2":{"name":"punctuation.section.block.begin.nim"}}},{"match":"\\b(block)\\b(?:(?: *(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_|`[^;,\\n`]+`))? *(:))?","captures":{"1":{"name":"keyword.declaration.block.nim"},"2":{"name":"punctuation.section.block.begin.nim"}}},{"name":"keyword.control.nim","match":"\\b(?:as|(?:ex|im)port|include|bind|mixin|from|except)\\b"},{"name":"storage.modifier.nim","match":"\\b(?:const|let|var|using)\\b"}]},"language-constants":{"patterns":[{"name":"constant.language.nim","match":"\\b(?:true|false|nil)\\b"}]},"line-comments":{"patterns":[{"name":"comment.line.number-sign.nim","begin":"(#)(?: *(TODO|todo)\\b)?","end":"$\\n?","beginCaptures":{"1":{"name":"punctuation.definition.comment.nim"},"2":{"name":"invalid.deprecated.nim"}}}]},"line-doc-comments":{"patterns":[{"name":"comment.line.documentation.nim","begin":"##","end":"$\\n?","beginCaptures":{"0":{"name":"punctuation.definition.comment.nim"}}}]},"literals":{"patterns":[{"include":"#str_lits"},{"include":"#numbers"},{"include":"#characters"},{"include":"#language-constants"}]},"numbers":{"patterns":[{"match":"(?x: \\b(\\d(?:_?\\d)*) (?: (?: ((\\.)\\d(?:_?\\d)*) ([Ee][-+]?\\d(?:_?\\d)*)? |([Ee][-+]?\\d(?:_?\\d)*) ) ('(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_)|(?:[Ff](?:32|64)|[Dd]))? |('(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_)|(?:[Ff](?:32|64)|[Dd])) ) )","captures":{"0":{"name":"meta.number.float.decimal.nim"},"1":{"name":"constant.numeric.value.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"punctuation.separator.decimal.nim"},"4":{"name":"constant.numeric.value.exponent.nim"},"5":{"name":"constant.numeric.value.exponent.nim"},"6":{"name":"constant.numeric.suffix.nim"},"7":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Xx]) ([[:xdigit:]](?:_?[[:xdigit:]])*) ('(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_)|[Ff](?:32|64)) )","captures":{"0":{"name":"meta.number.float.hexadecimal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0o) ([0-7](?:_?[0-7])*) ('(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_)|(?:[Ff](?:32|64)|[Dd])) )","captures":{"0":{"name":"meta.number.float.octal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Bb]) ([01](?:_?[01])*) ('(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_)|(?:[Ff](?:32|64)|[Dd])) )","captures":{"0":{"name":"meta.number.float.binary.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Xx]) ([[:xdigit:]](?:_?[[:xdigit:]])*) ('(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.hexadecimal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0o) ([0-7](?:_?[0-7])*) ('(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.octal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Bb]) ([01](?:_?[01])*) ('(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.binary.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(\\d(?:_?\\d)*) ('(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.decimal.nim"},"1":{"name":"constant.numeric.value.nim"},"2":{"name":"constant.numeric.suffix.nim"}}}]},"operators":{"patterns":[{"name":"keyword.operator.logical.nim","match":"\\b(?:and|not|x?or)\\b"},{"name":"keyword.control.conditional.case.nim","match":"^of\\b"},{"name":"keyword.operator.word.nim","match":"\\b(?:of|(?:not)?in|is(?:not)?)\\b"},{"name":"keyword.operator.bitwise.nim","match":"\\bsh[lr]\\b"},{"name":"keyword.operator.arithmetic.nim","match":"\\b(?:div|mod)\\b"},{"name":"keyword.operator.comparison.nim","match":"==|\u003c=?|\u003e=?|!="},{"name":"keyword.operator.assignment.nim","match":"(?:[-+*/@$\u0026%|^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔][-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]*)?=(?![-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])"},{"name":"keyword.operator.nim","match":"[-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]+"}]},"param-list":{"patterns":[{"name":"meta.function.parameters","begin":"\\(","end":"\\)","patterns":[{"name":"punctuation.separator.nim","match":"[,;]"},{"begin":"(:)|(=)","end":"(?=[,;\\)])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.separator.annotation.nim"},"2":{"name":"keyword.operator.assignment.nim"}}},{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.parameters.end.nim"}}}]},"patterns":{"patterns":[{"name":"meta.pattern.nim","begin":"\\{(?!\\.)","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.pattern.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.pattern.end.nim"}}}]},"pragmas":{"patterns":[{"name":"meta.annotation.nim","begin":"\\{\\.(?!\\.})","end":"\\.?}","patterns":[{"include":"#calls"},{"name":"entity.other.attribute-name.pragma.nim","match":"[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_|`[^;,\\n`]+`"},{"include":"#square-brackets"},{"begin":"(?=\\S)","end":"(,)|(?=\\.?})","patterns":[{"begin":":","end":"(?=,|\\.?})","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.separator.key-value.nim"}}}],"endCaptures":{"1":{"name":"punctuation.separator.sequence.nim"}}}],"beginCaptures":{"0":{"name":"punctuation.section.annotation.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.annotation.end.nim"}}}]},"punctuations":{"patterns":[{"name":"punctuation.terminator.statement.nim","match":";"},{"name":"punctuation.separator.nim","match":","},{"name":"punctuation.section.block.begin.nim","match":":"},{"name":"punctuation.accessor.dot.nim","match":"\\.(?![-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])"},{"match":"(\\*) *(:|(?=,|#|\\{\\.))","captures":{"1":{"name":"storage.modifier.nim"},"2":{"name":"punctuation.separator.annotation.nim"}}},{"name":"invalid.illegal.nim","match":"\\)|]|}"}]},"routines":{"patterns":[{"name":"meta.function.nim","begin":"(?x: (proc|template|iterator|func|method|macro|converter)\\b (?:[ ]*([A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]])*|_|`[^;,\\n`]+`)(?:[ ]*(\\*))?)? )","end":"(:)|(?=[^#\\(\\[:\\s]|##)","patterns":[{"include":"#comments"},{"include":"#patterns"},{"include":"#generic-param-list"},{"include":"#param-list"}],"beginCaptures":{"1":{"name":"storage.type.function.nim"},"2":{"name":"entity.name.function.nim"},"3":{"name":"storage.modifier.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.annotation.nim"}}}]},"rstr_lit":{"patterns":[{"contentName":"string.quoted.double.nim","begin":"([Rr])(\")","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\"\""}],"beginCaptures":{"1":{"name":"storage.type.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"string.quoted.double.nim invalid.illegal.unclosed-string.nim"}}}]},"square-brackets":{"patterns":[{"name":"meta.brackets.nim","begin":"\\[","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.nim"}}}]},"str_lit":{"patterns":[{"name":"string.quoted.double.nim","begin":"\"","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"str_lits":{"patterns":[{"include":"#triplestr_lit"},{"include":"#rstr_lit"},{"include":"#str_lit"}]},"triplestr_lit":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"([Rr])?(\"\"\")","end":"\"\"\"(?!\")","beginCaptures":{"1":{"name":"storage.type.nim"},"2":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}}]},"types":{"patterns":[{"contentName":"meta.generic.nim","begin":"(?=(?:[A-Za-z\\x80-\\x{10FFFF}\u0026\u0026[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]](?:_?[\\dA-Za-z])*)\\[)(?x:(out|ptr|ref|array |cstring[Aa]rray|iterable|lent|open[Aa]rray|owned|ptr|range|ref|se[qt] |sink|static|type(?:[Dd]esc)?|varargs)|([A-Z][\\dA-Za-z]+))(\\[)","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.primitive.nim"},"2":{"name":"support.type.nim"},"3":{"name":"meta.generic.nim punctuation.section.generic.begin.nim"}},"endCaptures":{"0":{"name":"meta.generic.nim punctuation.section.generic.nim"}}},{"name":"storage.type.primitive.nim","match":"\\b(?:out|tuple|ref|ptr)\\b"}]}}}
@@ -1 +1 @@
1
- {"name":"nushell","scopeName":"source.nushell","patterns":[{"include":"#define-variable"},{"include":"#define-alias"},{"include":"#function"},{"include":"#extern"},{"include":"#module"},{"include":"#use-module"},{"include":"#expression"},{"include":"#comment"}],"repository":{"binary":{"name":"constant.binary.nushell","begin":"\\b(0x)(\\[)","end":"\\]","patterns":[{"name":"constant.numeric.nushell","match":"[0-9a-fA-F]{2}"}],"beginCaptures":{"1":{"name":"constant.numeric.nushell"},"2":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}}},"braced-expression":{"name":"meta.expression.braced.nushell","begin":"\\{","end":"\\}","patterns":[{"name":"meta.closure.parameters.nushell","begin":"(?\u003c=\\{)\\s*\\|","end":"\\|","patterns":[{"include":"#function-parameter"}]},{"match":"(\\w+)\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\\$\"((?:[^\"\\\\]|\\\\.)*)\")\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"variable.other.nushell","patterns":[{"include":"#paren-expression"}]},"3":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\"(?:[^\"\\\\]|\\\\.)*\")\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\\$'([^']*)')\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"variable.other.nushell","patterns":[{"include":"#paren-expression"}]},"3":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"('[^']*')\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"include":"#spread"},{"include":"source.nushell"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.nushell"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.nushell"}}},"command":{"name":"meta.command.nushell","begin":"(?\u003c!\\w)(?:(\\^)|(?![0-9]|\\$))([\\w.!]+(?:(?: (?!-)[\\w\\-.!]+(?:(?= |\\))|$)|[\\w\\-.!]+))*|(?\u003c=\\^)\\$?(?:\"[^\"]+\"|'[^']+'))","end":"(?=\\||\\)|\\}|;)|$","patterns":[{"include":"#parameters"},{"include":"#spread"},{"include":"#value"}],"beginCaptures":{"1":{"name":"keyword.operator.nushell"},"2":{"patterns":[{"include":"#control-keywords"},{"match":"(?:ansi|char) \\w+","captures":{"0":{"name":"keyword.other.builtin.nushell"}}},{"match":"(a(?:l(?:ias|l)|n(?:si(?: (?:gradient|link|strip))?|y)|ppend|st)|b(?:g|its(?: (?:and|not|or|ro(?:l|r)|sh(?:l|r)|xor))?|reak|ytes(?: (?:a(?:dd|t)|build|collect|ends-with|index-of|length|re(?:move|place|verse)|starts-with))?)|c(?:al|d|h(?:ar|unks)|lear|o(?:l(?:lect|umns)|m(?:mandline(?: (?:edit|get-cursor|set-cursor))?|p(?:act|lete))|n(?:fig(?: (?:env|nu|reset))?|st|tinue))|p)|d(?:ate(?: (?:format|humanize|list-timezone|now|to-(?:record|t(?:able|imezone))))?|e(?:bug(?: (?:info|profile))?|code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|f(?:ault)?|scribe|tect columns)|o|rop(?: (?:column|nth))?|t(?: (?:add|diff|format|now|part|to|utcnow))?|u)|e(?:ach(?: while)?|cho|moji|n(?:code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|umerate)|rror make|very|x(?:ec|it|p(?:l(?:ain|ore)|ort(?: (?:alias|const|def|extern|module|use)|-env)?)|tern))|f(?:i(?:l(?:e|l|ter)|nd|rst)|latten|mt|or(?:mat(?: (?:d(?:ate|uration)|filesize|pattern))?)?|rom(?: (?:csv|eml|i(?:cs|ni)|json|msgpack(?:z)?|nuon|ods|p(?:arquet|list)|ssv|t(?:oml|sv)|url|vcf|x(?:lsx|ml)|y(?:aml|ml)))?)|g(?:e(?:nerate|t)|lob|r(?:id|oup(?:-by)?)|stat)|h(?:ash(?: (?:md5|sha256))?|e(?:aders|lp(?: (?:aliases|commands|e(?:scapes|xterns)|modules|operators))?)|i(?:de(?:-env)?|sto(?:gram|ry(?: session)?))|ttp(?: (?:delete|get|head|options|p(?:atch|ost|ut)))?)|i(?:f|gnore|n(?:c|put(?: list(?:en)?)?|s(?:ert|pect)|t(?:erleave|o(?: (?:b(?:i(?:nary|ts)|ool)|cell-path|d(?:atetime|uration)|f(?:ilesize|loat)|glob|int|record|s(?:qlite|tring)|value))?))|s-(?:admin|empty|not-empty|terminal)|tems)|j(?:oin|son path|walk)|k(?:eybindings(?: (?:default|list(?:en)?))?|ill)|l(?:ast|e(?:ngth|t(?:-env)?)|ines|o(?:ad-env|op)|s)|m(?:at(?:ch|h(?: (?:a(?:bs|rc(?:cos(?:h)?|sin(?:h)?|tan(?:h)?)|vg)|c(?:eil|os(?:h)?)|exp|floor|l(?:n|og)|m(?:ax|edian|in|ode)|product|round|s(?:in(?:h)?|qrt|tddev|um)|tan(?:h)?|variance))?)|d|e(?:rge|tadata(?: (?:access|set))?)|k(?:dir|temp)|o(?:dule|ve)|ut|v)|nu-(?:check|highlight)|o(?:pen|verlay(?: (?:hide|list|new|use))?)|p(?:a(?:nic|r(?:-each|se)|th(?: (?:basename|dirname|ex(?:ists|pand)|join|parse|relative-to|split|type))?)|lugin(?: (?:add|list|rm|stop|use))?|net|o(?:lars(?: (?:a(?:gg(?:-groups)?|ll-(?:false|true)|ppend|rg-(?:m(?:ax|in)|sort|true|unique|where)|s(?:-date(?:time)?)?)|c(?:a(?:che|st)|o(?:l(?:lect|umns)?|n(?:cat(?:-str)?|tains)|unt(?:-null)?)|umulative)|d(?:atepart|ecimal|rop(?:-(?:duplicates|nulls))?|ummies)|exp(?:lode|r-not)|f(?:etch|i(?:l(?:l-n(?:an|ull)|ter(?:-with)?)|rst)|latten)|g(?:et(?:-(?:day|hour|m(?:inute|onth)|nanosecond|ordinal|second|week(?:day)?|year))?|roup-by)|i(?:mplode|nt(?:eger|o-(?:df|lazy|nu))|s-(?:duplicated|in|n(?:ot-null|ull)|unique))|join|l(?:ast|it|owercase)|m(?:ax|e(?:an|dian)|in)|n(?:-unique|ot)|o(?:pen|therwise)|p(?:ivot|rofile)|qu(?:antile|ery)|r(?:e(?:name|place(?:-all)?|verse)|olling)|s(?:a(?:mple|ve)|chema|e(?:lect|t(?:-with-idx)?)|h(?:ape|ift)|lice|ort-by|t(?:d|ore-(?:get|ls|rm)|r(?:-(?:join|lengths|slice)|ftime))|um(?:mary)?)|take|u(?:n(?:ique|pivot)|ppercase)|va(?:lue-counts|r)|w(?:hen|ith-column)))?|rt)|r(?:epend|int)|s)|query(?: (?:db|git|json|web(?:page-info)?|xml))?|r(?:an(?:dom(?: (?:b(?:inary|ool)|chars|dice|float|int|uuid))?|ge)|e(?:duce|g(?:ex|istry query)|ject|name|turn|verse)|m|o(?:ll(?: (?:down|left|right|up))?|tate)|un-external)|s(?:ave|c(?:hema|ope(?: (?:aliases|commands|e(?:ngine-stats|xterns)|modules|variables))?)|e(?:lect|q(?: (?:char|date))?)|huffle|kip(?: (?:until|while))?|leep|o(?:rt(?:-by)?|urce(?:-env)?)|plit(?: (?:c(?:ell-path|hars|olumn)|list|row|words)|-by)?|t(?:art|or(?: (?:create|delete|export|i(?:mport|nsert)|open|reset|update))?|r(?: (?:c(?:a(?:mel-case|pitalize)|ontains)|d(?:istance|owncase)|e(?:nds-with|xpand)|index-of|join|kebab-case|length|pascal-case|re(?:place|verse)|s(?:creaming-snake-case|imilarity|nake-case|ta(?:rts-with|ts)|ubstring)|t(?:itle-case|rim)|upcase)|ess_internals)?)|ys(?: (?:cpu|disks|host|mem|net|temp|users))?)|t(?:a(?:ble|ke(?: (?:until|while))?)|e(?:e|rm size)|imeit|o(?: (?:csv|html|json|m(?:d|sgpack(?:z)?)|nuon|p(?:arquet|list)|t(?:ext|oml|sv)|xml|yaml)|uch)?|r(?:anspose|y)|utor)|u(?:limit|n(?:ame|iq(?:-by)?)|p(?:date(?: cells)?|sert)|rl(?: (?:build-query|decode|encode|join|parse))?|se)|v(?:alues|ersion|iew(?: (?:files|ir|s(?:ource|pan)))?)|w(?:atch|h(?:ere|i(?:ch|le)|oami)|i(?:ndow|th-env)|rap)|zip)(?![\\w-])( (.*))?","captures":{"1":{"name":"keyword.other.builtin.nushell"},"2":{"patterns":[{"include":"#value"}]}}},{"name":"entity.name.type.external.nushell","match":"(?\u003c=\\^)(?:\\$(\"[^\"]+\"|'[^']+')|\"[^\"]+\"|'[^']+')","captures":{"1":{"patterns":[{"include":"#paren-expression"}]}}},{"match":"([\\w.]+(?:-[\\w.!]+)*)(?: (.*))?","captures":{"1":{"name":"entity.name.type.external.nushell"},"2":{"patterns":[{"include":"#value"}]}}},{"include":"#value"}]}}},"comment":{"name":"comment.nushell","match":"(#.*)$"},"constant-keywords":{"name":"constant.language.nushell","match":"\\b(?:true|false|null)\\b"},"constant-value":{"patterns":[{"include":"#constant-keywords"},{"include":"#datetime"},{"include":"#numbers"},{"include":"#numbers-hexa"},{"include":"#binary"}]},"control-keywords":{"name":"keyword.control.nushell","match":"(?\u003c![0-9a-zA-Z_\\-.\\/:\\\\])(?:break|continue|else(?: if)?|for|if|loop|mut|return|try|while)(?![0-9a-zA-Z_\\-.\\/:\\\\])"},"datetime":{"name":"constant.numeric.nushell","match":"\\b\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:\\+\\d{2}:?\\d{2}|Z)?)?\\b"},"define-alias":{"match":"((?:export )?alias)\\s+([\\w\\-!]+)\\s*(=)","captures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"},"3":{"patterns":[{"include":"#operators"}]}}},"define-variable":{"match":"(let|mut|(?:export\\s+)?const)\\s+(\\w+)\\s+(=)","captures":{"1":{"name":"keyword.other.nushell"},"2":{"name":"variable.other.nushell"},"3":{"patterns":[{"include":"#operators"}]}}},"expression":{"patterns":[{"include":"#pre-command"},{"include":"#for-loop"},{"include":"#operators"},{"name":"keyword.control.nushell","match":"\\|"},{"include":"#control-keywords"},{"include":"#constant-value"},{"include":"#command"},{"include":"#value"}]},"extern":{"begin":"((?:export\\s+)?extern)\\s+([\\w\\-]+|\"[\\w\\- ]+\")","end":"(?\u003c=\\])","patterns":[{"include":"#function-parameters"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.end.nushell"}}},"for-loop":{"name":"meta.for-loop.nushell","begin":"(for)\\s+(\\$?\\w+)\\s+(in)\\s+(.+)\\s*(\\{)","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"1":{"name":"keyword.other.nushell"},"2":{"name":"variable.other.nushell"},"3":{"name":"keyword.other.nushell"},"4":{"patterns":[{"include":"#value"}]},"5":{"name":"punctuation.section.block.begin.bracket.curly.nushell"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.nushell"}}},"function":{"begin":"((?:export\\s+)?def(?:\\s+--\\w+)*)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|`[\\w\\- ]+`)(\\s+--\\w+)*","end":"(?\u003c=\\})","patterns":[{"include":"#function-parameters"},{"include":"#function-body"},{"include":"#function-inout"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"},"3":{"name":"entity.name.function.nushell"}}},"function-body":{"name":"meta.function.body.nushell","begin":"\\{","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"0":{"name":"punctuation.definition.function.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.end.nushell"}}},"function-inout":{"patterns":[{"include":"#types"},{"name":"keyword.operator.nushell","match":"-\u003e"},{"include":"#function-multiple-inout"}]},"function-multiple-inout":{"end":"\\]","patterns":[{"include":"#types"},{"match":"\\s*(,)\\s*","captures":{"1":{"name":"punctuation.separator.nushell"}}},{"match":"\\s+(-\u003e)\\s+","captures":{"1":{"name":"keyword.operator.nushell"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.in-out.nushell"},"2":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"function-parameter":{"patterns":[{"name":"variable.parameter.nushell","match":"(-{0,2}|\\.{3})[\\w-]+(?:\\((-[\\w?])\\))?","captures":{"1":{"name":"keyword.control.nushell"}}},{"begin":"\\??:\\s*","end":"(?=(?:\\s+(?:-{0,2}|\\.{3})[\\w-]+)|(?:\\s*(?:,|\\]|\\||@|=|#|$)))","patterns":[{"include":"#types"}]},{"begin":"@(?=\"|')","end":"(?\u003c=\"|')","patterns":[{"include":"#string"}]},{"name":"default.value.nushell","begin":"=\\s*","end":"(?=(?:\\s+-{0,2}[\\w-]+)|(?:\\s*(?:,|\\]|\\||#|$)))","patterns":[{"include":"#value"}]}]},"function-parameters":{"name":"meta.function.parameters.nushell","begin":"\\[","end":"\\]","patterns":[{"include":"#function-parameter"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"internal-variables":{"name":"variable.language.nushell","match":"\\$(?:nu|env)\\b"},"keyword":{"name":"keyword.other.nushell","match":"(?:def(?:-env)?)"},"module":{"name":"meta.module.nushell","begin":"((?:export\\s+)?module)\\s+([\\w\\-]+)\\s*\\{","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.module.end.nushell"}}},"numbers":{"name":"constant.numeric.nushell","match":"(?\u003c![\\w-])[-+]?(?:\\d+|\\d{1,3}(?:_\\d{3})*)(?:\\.\\d*)?(?i:ns|us|ms|sec|min|hr|day|wk|b|kb|mb|gb|tb|pt|eb|zb|kib|mib|gib|tib|pit|eib|zib)?(?:(?![\\w.])|(?=\\.\\.))"},"numbers-hexa":{"name":"constant.numeric.nushell","match":"(?\u003c![\\w-])0x[0-9a-fA-F]+(?![\\w.])"},"operators":{"patterns":[{"include":"#operators-word"},{"include":"#operators-symbols"},{"include":"#ranges"}]},"operators-symbols":{"name":"keyword.control.nushell","match":"(?\u003c= )(?:(?:\\+|\\-|\\*|\\/)=?|\\/\\/|\\*\\*|!=|[\u003c\u003e=]=?|[!=]~|\\+\\+=?)(?= |$)"},"operators-word":{"name":"keyword.control.nushell","match":"(?\u003c= |\\()(?:mod|in|not-in|not|and|or|xor|bit-or|bit-and|bit-xor|bit-shl|bit-shr|starts-with|ends-with)(?= |\\)|$)"},"parameters":{"name":"variable.parameter.nushell","match":"(?\u003c=\\s)(-{1,2})[\\w-]+","captures":{"1":{"name":"keyword.control.nushell"}}},"paren-expression":{"name":"meta.expression.parenthesis.nushell","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.brace.round.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.round.end.nushell"}}},"pre-command":{"begin":"(\\w+)(=)","end":"(?=\\s+)","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"variable.other.nushell"},"2":{"patterns":[{"include":"#operators"}]}}},"ranges":{"name":"keyword.control.nushell","match":"\\.\\.\u003c?"},"spread":{"name":"keyword.control.nushell","match":"\\.\\.\\.(?=[^\\s\\]}])"},"string":{"patterns":[{"include":"#string-single-quote"},{"include":"#string-backtick"},{"include":"#string-double-quote"},{"include":"#string-interpolated-double"},{"include":"#string-interpolated-single"},{"include":"#string-bare"}]},"string-backtick":{"name":"string.quoted.single.nushell","begin":"`","end":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-bare":{"name":"string.bare.nushell","match":"[^$\\[{(\"',|#\\s|][^\\[\\]{}()\"'\\s#,|]*"},"string-double-quote":{"name":"string.quoted.double.nushell","begin":"\"","end":"\"","patterns":[{"match":"\\w+"},{"include":"#string-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-escape":{"name":"constant.character.escape.nushell","match":"\\\\(?:[bfrnt\\\\'\"/]|u[0-9a-fA-F]{4})"},"string-interpolated-double":{"name":"string.interpolated.double.nushell","begin":"\\$\"","end":"\"","patterns":[{"name":"constant.character.escape.nushell","match":"\\\\[()]"},{"include":"#string-escape"},{"include":"#paren-expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-interpolated-single":{"name":"string.interpolated.single.nushell","begin":"\\$'","end":"'","patterns":[{"include":"#paren-expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-single-quote":{"name":"string.quoted.single.nushell","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"table":{"name":"meta.table.nushell","begin":"\\[","end":"\\]","patterns":[{"include":"#spread"},{"include":"#value"},{"name":"punctuation.separator.nushell","match":","}],"beginCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"types":{"patterns":[{"name":"meta.list.nushell","begin":"\\b(list)\\s*\u003c","end":"\u003e","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.nushell"}}},{"name":"meta.record.nushell","begin":"\\b(record)\\s*\u003c","end":"\u003e","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[^']+')\\s*:\\s*","captures":{"1":{"name":"variable.parameter.nushell"}}},{"include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.nushell"}}},{"name":"entity.name.type.nushell","match":"\\b(\\w+)\\b"}]},"use-module":{"patterns":[{"match":"^\\s*((?:export )?use)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+')(?:\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*))?\\s*;?$","captures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"},"3":{"name":"keyword.other.nushell"}}},{"begin":"^\\s*((?:export )?use)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+')\\s*\\[","end":"(\\])\\s*;?\\s*$","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*),?","captures":{"1":{"name":"keyword.other.nushell"}}},{"include":"#comment"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"}},"endCaptures":{"1":{"name":"meta.brace.square.end.nushell"}}},{"match":"(?\u003cpath\u003e(?:/|\\\\|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\w\\- ]+(?:\\.nu)?){0}^\\s*((?:export )?use)\\s+(\"\\g\u003cpath\u003e\"|'\\g\u003cpath\u003e\\'|(?![\"'])\\g\u003cpath\u003e)(?:\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[^']+'|\\*))?\\s*;?$","captures":{"2":{"name":"entity.name.function.nushell"},"3":{"name":"string.bare.nushell","patterns":[{"match":"([\\w\\- ]+)(?:\\.nu)?(?=$|\"|')","captures":{"1":{"name":"entity.name.namespace.nushell"}}}]},"4":{"name":"keyword.other.nushell"}}},{"begin":"(?\u003cpath\u003e(?:/|\\\\|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\w\\- ]+(?:\\.nu)?){0}^\\s*((?:export )?use)\\s+(\"\\g\u003cpath\u003e\"|'\\g\u003cpath\u003e\\'|(?![\"'])\\g\u003cpath\u003e)\\s+\\[","end":"(\\])\\s*;?\\s*$","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*),?","captures":{"0":{"name":"keyword.other.nushell"}}},{"include":"#comment"}],"beginCaptures":{"2":{"name":"entity.name.function.nushell"},"3":{"name":"string.bare.nushell","patterns":[{"match":"([\\w\\- ]+)(?:\\.nu)?(?=$|\"|')","captures":{"1":{"name":"entity.name.namespace.nushell"}}}]}},"endCaptures":{"1":{"name":"meta.brace.square.end.nushell"}}},{"match":"^\\s*(?:export )?use\\b","captures":{"0":{"name":"entity.name.function.nushell"}}}]},"value":{"patterns":[{"include":"#variables"},{"include":"#variable-fields"},{"include":"#control-keywords"},{"include":"#constant-value"},{"include":"#table"},{"include":"#operators"},{"include":"#paren-expression"},{"include":"#braced-expression"},{"include":"#string"},{"include":"#comment"}]},"variable-fields":{"name":"variable.other.nushell","match":"(?\u003c=\\)|\\}|\\])(?:\\.(?:[\\w-]+|\"[\\w\\- ]+\"))+"},"variables":{"match":"(\\$[a-zA-Z0-9_]+)((?:\\.(?:[\\w-]+|\"[\\w\\- ]+\"))*)","captures":{"1":{"patterns":[{"include":"#internal-variables"},{"name":"variable.other.nushell","match":"\\$.+"}]},"2":{"name":"variable.other.nushell"}}}}}
1
+ {"name":"nushell","scopeName":"source.nushell","patterns":[{"include":"#define-variable"},{"include":"#define-alias"},{"include":"#function"},{"include":"#extern"},{"include":"#module"},{"include":"#use-module"},{"include":"#expression"},{"include":"#comment"}],"repository":{"binary":{"name":"constant.binary.nushell","begin":"\\b(0x)(\\[)","end":"\\]","patterns":[{"name":"constant.numeric.nushell","match":"[0-9a-fA-F]{2}"}],"beginCaptures":{"1":{"name":"constant.numeric.nushell"},"2":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}}},"braced-expression":{"name":"meta.expression.braced.nushell","begin":"\\{","end":"\\}","patterns":[{"name":"meta.closure.parameters.nushell","begin":"(?\u003c=\\{)\\s*\\|","end":"\\|","patterns":[{"include":"#function-parameter"}]},{"match":"(\\w+)\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\\$\"((?:[^\"\\\\]|\\\\.)*)\")\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"variable.other.nushell","patterns":[{"include":"#paren-expression"}]},"3":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\"(?:[^\"\\\\]|\\\\.)*\")\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\\$'([^']*)')\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"variable.other.nushell","patterns":[{"include":"#paren-expression"}]},"3":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"('[^']*')\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"include":"#spread"},{"include":"source.nushell"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.nushell"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.nushell"}}},"command":{"name":"meta.command.nushell","begin":"(?\u003c!\\w)(?:(\\^)|(?![0-9]|\\$))([\\w.!]+(?:(?: (?!-)[\\w\\-.!]+(?:(?= |\\))|$)|[\\w\\-.!]+))*|(?\u003c=\\^)\\$?(?:\"[^\"]+\"|'[^']+'))","end":"(?=\\||\\)|\\}|;)|$","patterns":[{"include":"#parameters"},{"include":"#spread"},{"include":"#value"}],"beginCaptures":{"1":{"name":"keyword.operator.nushell"},"2":{"patterns":[{"include":"#control-keywords"},{"match":"(?:ansi|char) \\w+","captures":{"0":{"name":"keyword.other.builtin.nushell"}}},{"match":"(a(?:l(?:ias|l)|n(?:si(?: (?:gradient|link|strip))?|y)|ppend|st)|b(?:g|its(?: (?:and|not|or|ro(?:l|r)|sh(?:l|r)|xor))?|reak|ytes(?: (?:a(?:dd|t)|build|collect|ends-with|index-of|length|re(?:move|place|verse)|starts-with))?)|c(?:al|d|h(?:ar|unks)|lear|o(?:l(?:lect|umns)|m(?:mandline(?: (?:edit|get-cursor|set-cursor))?|p(?:act|lete))|n(?:fig(?: (?:env|nu|reset))?|st|tinue))|p)|d(?:ate(?: (?:format|humanize|list-timezone|now|to-(?:record|t(?:able|imezone))))?|e(?:bug(?: (?:info|profile))?|code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|f(?:ault)?|scribe|tect columns)|o|rop(?: (?:column|nth))?|t(?: (?:add|diff|format|now|part|to|utcnow))?|u)|e(?:ach(?: while)?|cho|moji|n(?:code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|umerate)|rror make|very|x(?:ec|it|p(?:l(?:ain|ore)|ort(?: (?:alias|const|def|extern|module|use)|-env)?)|tern))|f(?:i(?:l(?:e|l|ter)|nd|rst)|latten|mt|or(?:mat(?: (?:d(?:ate|uration)|filesize|pattern))?)?|rom(?: (?:csv|eml|i(?:cs|ni)|json|msgpack(?:z)?|nuon|ods|p(?:arquet|list)|ssv|t(?:oml|sv)|url|vcf|x(?:lsx|ml)|y(?:aml|ml)))?)|g(?:e(?:nerate|t)|lob|r(?:id|oup(?:-by)?)|stat)|h(?:ash(?: (?:md5|sha256))?|e(?:aders|lp(?: (?:aliases|commands|e(?:scapes|xterns)|modules|operators))?)|i(?:de(?:-env)?|sto(?:gram|ry(?: session)?))|ttp(?: (?:delete|get|head|options|p(?:atch|ost|ut)))?)|i(?:f|gnore|n(?:c|put(?: list(?:en)?)?|s(?:ert|pect)|t(?:erleave|o(?: (?:b(?:i(?:nary|ts)|ool)|cell-path|d(?:atetime|uration)|f(?:ilesize|loat)|glob|int|record|s(?:qlite|tring)|value))?))|s-(?:admin|empty|not-empty|terminal)|tems)|j(?:oin|son path|walk)|k(?:eybindings(?: (?:default|list(?:en)?))?|ill)|l(?:ast|e(?:ngth|t(?:-env)?)|ines|o(?:ad-env|op)|s)|m(?:at(?:ch|h(?: (?:a(?:bs|rc(?:cos(?:h)?|sin(?:h)?|tan(?:h)?)|vg)|c(?:eil|os(?:h)?)|exp|floor|l(?:n|og)|m(?:ax|edian|in|ode)|product|round|s(?:in(?:h)?|qrt|tddev|um)|tan(?:h)?|variance))?)|d|e(?:rge|tadata(?: (?:access|set))?)|k(?:dir|temp)|o(?:dule|ve)|ut|v)|nu-(?:check|highlight)|o(?:pen|verlay(?: (?:hide|list|new|use))?)|p(?:a(?:nic|r(?:-each|se)|th(?: (?:basename|dirname|ex(?:ists|pand)|join|parse|relative-to|split|type))?)|lugin(?: (?:add|list|rm|stop|use))?|net|o(?:lars(?: (?:a(?:gg(?:-groups)?|ll-(?:false|true)|ppend|rg-(?:m(?:ax|in)|sort|true|unique|where)|s(?:-date(?:time)?)?)|c(?:a(?:che|st)|o(?:l(?:lect|umns)?|n(?:cat(?:-str)?|tains)|unt(?:-null)?)|umulative)|d(?:atepart|ecimal|rop(?:-(?:duplicates|nulls))?|ummies)|exp(?:lode|r-not)|f(?:etch|i(?:l(?:l-n(?:an|ull)|ter(?:-with)?)|rst)|latten)|g(?:et(?:-(?:day|hour|m(?:inute|onth)|nanosecond|ordinal|second|week(?:day)?|year))?|roup-by)|i(?:mplode|nt(?:eger|o-(?:df|lazy|nu))|s-(?:duplicated|in|n(?:ot-null|ull)|unique))|join|l(?:ast|it|owercase)|m(?:ax|e(?:an|dian)|in)|n(?:-unique|ot)|o(?:pen|therwise)|p(?:ivot|rofile)|qu(?:antile|ery)|r(?:e(?:name|place(?:-all)?|verse)|olling)|s(?:a(?:mple|ve)|chema|e(?:lect|t(?:-with-idx)?)|h(?:ape|ift)|lice|ort-by|t(?:d|ore-(?:get|ls|rm)|r(?:-(?:join|lengths|slice)|ftime))|um(?:mary)?)|take|u(?:n(?:ique|pivot)|ppercase)|va(?:lue-counts|r)|w(?:hen|ith-column)))?|rt)|r(?:epend|int)|s)|query(?: (?:db|git|json|web(?:page-info)?|xml))?|r(?:an(?:dom(?: (?:b(?:inary|ool)|chars|dice|float|int|uuid))?|ge)|e(?:duce|g(?:ex|istry query)|ject|name|turn|verse)|m|o(?:ll(?: (?:down|left|right|up))?|tate)|un-external)|s(?:ave|c(?:hema|ope(?: (?:aliases|commands|e(?:ngine-stats|xterns)|modules|variables))?)|e(?:lect|q(?: (?:char|date))?)|huffle|kip(?: (?:until|while))?|leep|o(?:rt(?:-by)?|urce(?:-env)?)|plit(?: (?:c(?:ell-path|hars|olumn)|list|row|words)|-by)?|t(?:art|or(?: (?:create|delete|export|i(?:mport|nsert)|open|reset|update))?|r(?: (?:c(?:a(?:mel-case|pitalize)|ontains)|d(?:istance|owncase)|e(?:nds-with|xpand)|index-of|join|kebab-case|length|pascal-case|re(?:place|verse)|s(?:creaming-snake-case|imilarity|nake-case|ta(?:rts-with|ts)|ubstring)|t(?:itle-case|rim)|upcase)|ess_internals)?)|ys(?: (?:cpu|disks|host|mem|net|temp|users))?)|t(?:a(?:ble|ke(?: (?:until|while))?)|e(?:e|rm size)|imeit|o(?: (?:csv|html|json|m(?:d|sgpack(?:z)?)|nuon|p(?:arquet|list)|t(?:ext|oml|sv)|xml|yaml)|uch)?|r(?:anspose|y)|utor)|u(?:limit|n(?:ame|iq(?:-by)?)|p(?:date(?: cells)?|sert)|rl(?: (?:build-query|decode|encode|join|parse))?|se)|v(?:alues|ersion|iew(?: (?:files|ir|s(?:ource|pan)))?)|w(?:atch|h(?:ere|i(?:ch|le)|oami)|i(?:ndow|th-env)|rap)|zip)(?![\\w-])( (.*))?","captures":{"1":{"name":"keyword.other.builtin.nushell"},"2":{"patterns":[{"include":"#value"}]}}},{"name":"entity.name.type.external.nushell","match":"(?\u003c=\\^)(?:\\$(\"[^\"]+\"|'[^']+')|\"[^\"]+\"|'[^']+')","captures":{"1":{"patterns":[{"include":"#paren-expression"}]}}},{"match":"([\\w.]+(?:-[\\w.!]+)*)(?: (.*))?","captures":{"1":{"name":"entity.name.type.external.nushell"},"2":{"patterns":[{"include":"#value"}]}}},{"include":"#value"}]}}},"comment":{"name":"comment.nushell","match":"(#.*)$"},"constant-keywords":{"name":"constant.language.nushell","match":"\\b(?:true|false|null)\\b"},"constant-value":{"patterns":[{"include":"#constant-keywords"},{"include":"#datetime"},{"include":"#numbers"},{"include":"#numbers-hexa"},{"include":"#numbers-octal"},{"include":"#numbers-binary"},{"include":"#binary"}]},"control-keywords":{"name":"keyword.control.nushell","match":"(?\u003c![0-9a-zA-Z_\\-.\\/:\\\\])(?:break|continue|else(?: if)?|for|if|loop|mut|return|try|while)(?![0-9a-zA-Z_\\-.\\/:\\\\])"},"datetime":{"name":"constant.numeric.nushell","match":"\\b\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:\\+\\d{2}:?\\d{2}|Z)?)?\\b"},"define-alias":{"match":"((?:export )?alias)\\s+([\\w\\-!]+)\\s*(=)","captures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"},"3":{"patterns":[{"include":"#operators"}]}}},"define-variable":{"match":"(let|mut|(?:export\\s+)?const)\\s+(\\w+)\\s+(=)","captures":{"1":{"name":"keyword.other.nushell"},"2":{"name":"variable.other.nushell"},"3":{"patterns":[{"include":"#operators"}]}}},"expression":{"patterns":[{"include":"#pre-command"},{"include":"#for-loop"},{"include":"#operators"},{"name":"keyword.control.nushell","match":"\\|"},{"include":"#control-keywords"},{"include":"#constant-value"},{"include":"#string-raw"},{"include":"#command"},{"include":"#value"}]},"extern":{"begin":"((?:export\\s+)?extern)\\s+([\\w\\-]+|\"[\\w\\- ]+\")","end":"(?\u003c=\\])","patterns":[{"include":"#function-parameters"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.end.nushell"}}},"for-loop":{"name":"meta.for-loop.nushell","begin":"(for)\\s+(\\$?\\w+)\\s+(in)\\s+(.+)\\s*(\\{)","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"1":{"name":"keyword.other.nushell"},"2":{"name":"variable.other.nushell"},"3":{"name":"keyword.other.nushell"},"4":{"patterns":[{"include":"#value"}]},"5":{"name":"punctuation.section.block.begin.bracket.curly.nushell"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.nushell"}}},"function":{"begin":"((?:export\\s+)?def(?:\\s+--\\w+)*)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|`[\\w\\- ]+`)(\\s+--\\w+)*","end":"(?\u003c=\\})","patterns":[{"include":"#function-parameters"},{"include":"#function-body"},{"include":"#function-inout"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"},"3":{"name":"entity.name.function.nushell"}}},"function-body":{"name":"meta.function.body.nushell","begin":"\\{","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"0":{"name":"punctuation.definition.function.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.end.nushell"}}},"function-inout":{"patterns":[{"include":"#types"},{"name":"keyword.operator.nushell","match":"-\u003e"},{"include":"#function-multiple-inout"}]},"function-multiple-inout":{"end":"\\]","patterns":[{"include":"#types"},{"match":"\\s*(,)\\s*","captures":{"1":{"name":"punctuation.separator.nushell"}}},{"match":"\\s+(-\u003e)\\s+","captures":{"1":{"name":"keyword.operator.nushell"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.in-out.nushell"},"2":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"function-parameter":{"patterns":[{"name":"variable.parameter.nushell","match":"(-{0,2}|\\.{3})[\\w-]+(?:\\((-[\\w?])\\))?","captures":{"1":{"name":"keyword.control.nushell"}}},{"begin":"\\??:\\s*","end":"(?=(?:\\s+(?:-{0,2}|\\.{3})[\\w-]+)|(?:\\s*(?:,|\\]|\\||@|=|#|$)))","patterns":[{"include":"#types"}]},{"begin":"@(?=\"|')","end":"(?\u003c=\"|')","patterns":[{"include":"#string"}]},{"name":"default.value.nushell","begin":"=\\s*","end":"(?=(?:\\s+-{0,2}[\\w-]+)|(?:\\s*(?:,|\\]|\\||#|$)))","patterns":[{"include":"#value"}]}]},"function-parameters":{"name":"meta.function.parameters.nushell","begin":"\\[","end":"\\]","patterns":[{"include":"#function-parameter"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"internal-variables":{"name":"variable.language.nushell","match":"\\$(?:nu|env)\\b"},"keyword":{"name":"keyword.other.nushell","match":"(?:def(?:-env)?)"},"module":{"name":"meta.module.nushell","begin":"((?:export\\s+)?module)\\s+([\\w\\-]+)\\s*\\{","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.module.end.nushell"}}},"numbers":{"name":"constant.numeric.nushell","match":"(?\u003c![\\w-])_*+[-+]?_*+(?:(?i:NaN|infinity|inf)_*+|(?:\\d[\\d_]*+\\.?|\\._*+\\d)[\\d_]*+(?i:E_*+[-+]?_*+\\d[\\d_]*+)?)(?i:ns|us|µs|ms|sec|min|hr|day|wk|b|kb|mb|gb|tb|pt|eb|zb|kib|mib|gib|tib|pit|eib|zib)?(?:(?![\\w.])|(?=\\.\\.))"},"numbers-binary":{"name":"constant.numeric.nushell","match":"(?\u003c![\\w-])_*+0_*+b_*+[01][01_]*+(?![\\w.])"},"numbers-hexa":{"name":"constant.numeric.nushell","match":"(?\u003c![\\w-])_*+0_*+x_*+[0-9a-fA-F][0-9a-fA-F_]*+(?![\\w.])"},"numbers-octal":{"name":"constant.numeric.nushell","match":"(?\u003c![\\w-])_*+0_*+o_*+[0-7][0-7_]*+(?![\\w.])"},"operators":{"patterns":[{"include":"#operators-word"},{"include":"#operators-symbols"},{"include":"#ranges"}]},"operators-symbols":{"name":"keyword.control.nushell","match":"(?\u003c= )(?:(?:\\+|\\-|\\*|\\/)=?|\\/\\/|\\*\\*|!=|[\u003c\u003e=]=?|[!=]~|\\+\\+=?)(?= |$)"},"operators-word":{"name":"keyword.control.nushell","match":"(?\u003c= |\\()(?:mod|in|not-(?:in|like|has)|not|and|or|xor|bit-(?:or|and|xor|shl|shr)|starts-with|ends-with|like|has)(?= |\\)|$)"},"parameters":{"name":"variable.parameter.nushell","match":"(?\u003c=\\s)(-{1,2})[\\w-]+","captures":{"1":{"name":"keyword.control.nushell"}}},"paren-expression":{"name":"meta.expression.parenthesis.nushell","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.brace.round.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.round.end.nushell"}}},"pre-command":{"begin":"(\\w+)(=)","end":"(?=\\s+)","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"variable.other.nushell"},"2":{"patterns":[{"include":"#operators"}]}}},"ranges":{"name":"keyword.control.nushell","match":"\\.\\.\u003c?"},"spread":{"name":"keyword.control.nushell","match":"\\.\\.\\.(?=[^\\s\\]}])"},"string":{"patterns":[{"include":"#string-single-quote"},{"include":"#string-backtick"},{"include":"#string-double-quote"},{"include":"#string-interpolated-double"},{"include":"#string-interpolated-single"},{"include":"#string-raw"},{"include":"#string-bare"}]},"string-backtick":{"name":"string.quoted.single.nushell","begin":"`","end":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-bare":{"name":"string.bare.nushell","match":"[^$\\[{(\"',|#\\s|;][^\\[\\]{}()\"'\\s,|;]*"},"string-double-quote":{"name":"string.quoted.double.nushell","begin":"\"","end":"\"","patterns":[{"match":"\\w+"},{"include":"#string-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-escape":{"name":"constant.character.escape.nushell","match":"\\\\(?:[bfrnt\\\\'\"/]|u[0-9a-fA-F]{4})"},"string-interpolated-double":{"name":"string.interpolated.double.nushell","begin":"\\$\"","end":"\"","patterns":[{"name":"constant.character.escape.nushell","match":"\\\\[()]"},{"include":"#string-escape"},{"include":"#paren-expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-interpolated-single":{"name":"string.interpolated.single.nushell","begin":"\\$'","end":"'","patterns":[{"include":"#paren-expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-raw":{"name":"string.raw.nushell","begin":"r(#+)'","end":"'\\1","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-single-quote":{"name":"string.quoted.single.nushell","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"table":{"name":"meta.table.nushell","begin":"\\[","end":"\\]","patterns":[{"include":"#spread"},{"include":"#value"},{"name":"punctuation.separator.nushell","match":","}],"beginCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"types":{"patterns":[{"name":"meta.list.nushell","begin":"\\b(list)\\s*\u003c","end":"\u003e","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.nushell"}}},{"name":"meta.record.nushell","begin":"\\b(record)\\s*\u003c","end":"\u003e","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[^']+')\\s*:\\s*","captures":{"1":{"name":"variable.parameter.nushell"}}},{"include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.nushell"}}},{"name":"entity.name.type.nushell","match":"\\b(\\w+)\\b"}]},"use-module":{"patterns":[{"match":"^\\s*((?:export )?use)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+')(?:\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*))?\\s*;?$","captures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"},"3":{"name":"keyword.other.nushell"}}},{"begin":"^\\s*((?:export )?use)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+')\\s*\\[","end":"(\\])\\s*;?\\s*$","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*),?","captures":{"1":{"name":"keyword.other.nushell"}}},{"include":"#comment"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"}},"endCaptures":{"1":{"name":"meta.brace.square.end.nushell"}}},{"match":"(?\u003cpath\u003e(?:/|\\\\|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\w\\- ]+(?:\\.nu)?){0}^\\s*((?:export )?use)\\s+(\"\\g\u003cpath\u003e\"|'\\g\u003cpath\u003e\\'|(?![\"'])\\g\u003cpath\u003e)(?:\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[^']+'|\\*))?\\s*;?$","captures":{"2":{"name":"entity.name.function.nushell"},"3":{"name":"string.bare.nushell","patterns":[{"match":"([\\w\\- ]+)(?:\\.nu)?(?=$|\"|')","captures":{"1":{"name":"entity.name.namespace.nushell"}}}]},"4":{"name":"keyword.other.nushell"}}},{"begin":"(?\u003cpath\u003e(?:/|\\\\|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\w\\- ]+(?:\\.nu)?){0}^\\s*((?:export )?use)\\s+(\"\\g\u003cpath\u003e\"|'\\g\u003cpath\u003e\\'|(?![\"'])\\g\u003cpath\u003e)\\s+\\[","end":"(\\])\\s*;?\\s*$","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*),?","captures":{"0":{"name":"keyword.other.nushell"}}},{"include":"#comment"}],"beginCaptures":{"2":{"name":"entity.name.function.nushell"},"3":{"name":"string.bare.nushell","patterns":[{"match":"([\\w\\- ]+)(?:\\.nu)?(?=$|\"|')","captures":{"1":{"name":"entity.name.namespace.nushell"}}}]}},"endCaptures":{"1":{"name":"meta.brace.square.end.nushell"}}},{"match":"^\\s*(?:export )?use\\b","captures":{"0":{"name":"entity.name.function.nushell"}}}]},"value":{"patterns":[{"include":"#variables"},{"include":"#variable-fields"},{"include":"#control-keywords"},{"include":"#constant-value"},{"include":"#table"},{"include":"#operators"},{"include":"#paren-expression"},{"include":"#braced-expression"},{"include":"#string"},{"include":"#comment"}]},"variable-fields":{"name":"variable.other.nushell","match":"(?\u003c=\\)|\\}|\\])(?:\\.(?:[\\w-]+|\"[\\w\\- ]+\"))+"},"variables":{"match":"(\\$[a-zA-Z0-9_]+)((?:\\.(?:[\\w-]+|\"[\\w\\- ]+\"))*)","captures":{"1":{"patterns":[{"include":"#internal-variables"},{"name":"variable.other.nushell","match":"\\$.+"}]},"2":{"name":"variable.other.nushell"}}}}}
@@ -1 +1 @@
1
- {"name":"Objective-C","scopeName":"source.objc","patterns":[{"name":"meta.interface-or-protocol.objc","contentName":"meta.scope.interface.objc","begin":"((@)(interface|protocol))(?!.+;)\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*((:)(?:\\s*)([A-Za-z][A-Za-z0-9]*))?(\\s|\\n)?","end":"((@)end)\\b","patterns":[{"include":"#interface_innards"}],"captures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"4":{"name":"entity.name.type.objc"},"6":{"name":"punctuation.definition.entity.other.inherited-class.objc"},"7":{"name":"entity.other.inherited-class.objc"},"8":{"name":"meta.divider.objc"},"9":{"name":"meta.inherited-class.objc"}}},{"name":"meta.implementation.objc","contentName":"meta.scope.implementation.objc","begin":"((@)(implementation))\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*(?::\\s*([A-Za-z][A-Za-z0-9]*))?","end":"((@)end)\\b","patterns":[{"include":"#implementation_innards"}],"captures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"4":{"name":"entity.name.type.objc"},"5":{"name":"entity.other.inherited-class.objc"}}},{"begin":"(?=@\")","end":"(?=\\S)","patterns":[{"name":"string.quoted.double.objc","begin":"@?\"","end":"\"","patterns":[{"include":"source.c#string_escaped_char"},{"name":"constant.other.placeholder.objc","match":"(?x)%\n \t\t\t\t\t\t(\\d+\\$)? # field (argument #)\n \t\t\t\t\t\t[#0\\- +']* # flags\n \t\t\t\t\t\t((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width\n \t\t\t\t\t\t(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision\n \t\t\t\t\t\t[@] # conversion type\n \t\t\t\t\t"},{"include":"source.c#string_placeholder"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}}}],"applyEndPatternLast":true},{"name":"meta.id-with-protocol.objc","begin":"\\b(id)\\s*(?=\u003c)","end":"(?\u003c=\u003e)","patterns":[{"include":"#protocol_list"}],"beginCaptures":{"1":{"name":"storage.type.objc"}}},{"name":"keyword.control.macro.objc","match":"\\b(NS_DURING|NS_HANDLER|NS_ENDHANDLER)\\b"},{"name":"keyword.control.exception.objc","match":"(@)(try|catch|finally|throw)\\b","captures":{"1":{"name":"punctuation.definition.keyword.objc"}}},{"name":"keyword.control.synchronize.objc","match":"(@)(synchronized)\\b","captures":{"1":{"name":"punctuation.definition.keyword.objc"}}},{"name":"keyword.control.protocol-specification.objc","match":"(@)(required|optional)\\b","captures":{"1":{"name":"punctuation.definition.keyword.objc"}}},{"name":"keyword.other.objc","match":"(@)(defs|encode)\\b","captures":{"1":{"name":"punctuation.definition.keyword.objc"}}},{"name":"storage.type.objc","match":"(@)(class|protocol)\\b","captures":{"1":{"name":"punctuation.definition.storage.type.objc"}}},{"name":"meta.selector.objc","contentName":"meta.selector.method-name.objc","begin":"((@)selector)\\s*(\\()","end":"(\\))","patterns":[{"name":"support.function.any-method.name-of-parameter.objc","match":"\\b(?:[a-zA-Z_:][\\w]*)+","captures":{"1":{"name":"punctuation.separator.arguments.objc"}}}],"beginCaptures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"3":{"name":"punctuation.definition.storage.type.objc"}},"endCaptures":{"1":{"name":"punctuation.definition.storage.type.objc"}}},{"name":"storage.modifier.objc","match":"(@)(synchronized|public|package|private|protected)\\b","captures":{"1":{"name":"punctuation.definition.storage.modifier.objc"}}},{"name":"constant.language.objc","match":"\\b(YES|NO|Nil|nil)\\b"},{"include":"source.objc.platform"},{"include":"source.objc.platform#functions"},{"include":"source.c"},{"include":"#bracketed_content"}],"repository":{"bracketed_content":{"name":"meta.bracketed.objc","begin":"\\[","end":"\\]","patterns":[{"name":"meta.function-call.predicate.objc","begin":"(?=predicateWithFormat:)(?\u003c=NSPredicate )(predicateWithFormat:)","end":"(?=\\])","patterns":[{"name":"support.function.any-method.name-of-parameter.objc","match":"\\bargument(Array|s)(:)","captures":{"1":{"name":"punctuation.separator.arguments.objc"}}},{"name":"invalid.illegal.unknown-method.objc","match":"\\b\\w+(:)","captures":{"1":{"name":"punctuation.separator.arguments.objc"}}},{"name":"string.quoted.double.objc","begin":"@\"","end":"\"","patterns":[{"name":"keyword.operator.logical.predicate.cocoa","match":"\\b(AND|OR|NOT|IN)\\b"},{"name":"constant.language.predicate.cocoa","match":"\\b(ALL|ANY|SOME|NONE)\\b"},{"name":"constant.language.predicate.cocoa","match":"\\b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\b"},{"name":"keyword.operator.comparison.predicate.cocoa","match":"\\b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\b"},{"name":"keyword.other.modifier.predicate.cocoa","match":"\\bC(ASEINSENSITIVE|I)\\b"},{"name":"keyword.other.predicate.cocoa","match":"\\b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\b"},{"name":"constant.character.escape.objc","match":"\\\\(\\\\|[abefnrtv'\"?]|[0-3]\\d{0,2}|[4-7]\\d?|x[a-zA-Z0-9]+)"},{"name":"invalid.illegal.unknown-escape.objc","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}}},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$base"}],"beginCaptures":{"1":{"name":"support.function.any-method.objc"},"2":{"name":"punctuation.separator.arguments.objc"}}},{"name":"meta.function-call.objc","begin":"(?=\\w)(?\u003c=[\\w\\]\\s)\"]\\s)(\\w+(?:(:)|(?=\\])))","end":"(?=\\])","patterns":[{"name":"support.function.any-method.name-of-parameter.objc","match":"\\b\\w+(:)","captures":{"1":{"name":"punctuation.separator.arguments.objc"}}},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$base"}],"beginCaptures":{"1":{"name":"support.function.any-method.objc"},"2":{"name":"punctuation.separator.arguments.objc"}}},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.objc"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.objc"}}},"c_functions":{"patterns":[{"include":"source.c.platform#functions"},{"name":"meta.function-call.c","match":"(?x) (?: (?= \\s ) (?:(?\u003c=else|new|return) | (?\u003c!\\w)) (\\s+))?\n \t\t\t(\\b \n \t\t\t\t(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\s*\\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\\b | :: )++ # actual name\n \t\t\t)\n \t\t\t \\s*(\\()","captures":{"1":{"name":"punctuation.whitespace.function-call.leading.c"},"2":{"name":"support.function.any-method.c"},"3":{"name":"punctuation.definition.parameters.c"}}}]},"comment":{"patterns":[{"name":"comment.block.objc","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.objc"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.objc","begin":"//","end":"\\n","patterns":[{"name":"punctuation.separator.continuation.objc","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.objc"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.objc"}}}]},"disabled":{"begin":"^\\s*#\\s*if(n?def)?\\b.*$","end":"^\\s*#\\s*endif\\b.*$","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},"implementation_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-implementation"},{"include":"#preprocessor-rule-disabled-implementation"},{"include":"#preprocessor-rule-other-implementation"},{"include":"#property_directive"},{"include":"#special_variables"},{"include":"#method_super"},{"include":"$base"}]},"interface_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-interface"},{"include":"#preprocessor-rule-disabled-interface"},{"include":"#preprocessor-rule-other-interface"},{"include":"#properties"},{"include":"#protocol_list"},{"include":"#method"},{"include":"$base"}]},"method":{"name":"meta.function.objc","begin":"^(-|\\+)\\s*","end":"(?=\\{|#)|;","patterns":[{"name":"meta.return-type.objc","begin":"(\\()","end":"(\\))\\s*(\\w+\\b)","patterns":[{"include":"#protocol_list"},{"include":"#protocol_type_qualifier"},{"include":"$base"}],"beginCaptures":{"1":{"name":"punctuation.definition.type.begin.objc"}},"endCaptures":{"1":{"name":"punctuation.definition.type.end.objc"},"2":{"name":"entity.name.function.objc"}}},{"name":"entity.name.function.name-of-parameter.objc","match":"\\b\\w+(?=:)"},{"name":"meta.argument-type.objc","begin":"((:))\\s*(\\()","end":"(\\))\\s*(\\w+\\b)?","patterns":[{"include":"#protocol_list"},{"include":"#protocol_type_qualifier"},{"include":"$base"}],"beginCaptures":{"1":{"name":"entity.name.function.name-of-parameter.objc"},"2":{"name":"punctuation.separator.arguments.objc"},"3":{"name":"punctuation.definition.type.begin.objc"}},"endCaptures":{"1":{"name":"punctuation.definition.type.end.objc"},"2":{"name":"variable.parameter.function.objc"}}},{"include":"#comment"}]},"method_super":{"name":"meta.function-with-body.objc","begin":"^(?=-|\\+)","end":"(?\u003c=\\})|(?=#)","patterns":[{"include":"#method"},{"include":"$base"}]},"pragma-mark":{"name":"meta.section","match":"^\\s*(#\\s*(pragma\\s+mark)\\s+(.*))","captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.pragma.c"},"3":{"name":"meta.toc-list.pragma-mark.c"}}},"preprocessor-rule-disabled-implementation":{"begin":"^\\s*(#(if)\\s+(0)\\b).*","end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"begin":"^\\s*(#\\s*(else)\\b)","end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#interface_innards"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.else.c"}}},{"name":"comment.block.preprocessor.if-branch.c","end":"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.if.c"},"3":{"name":"constant.numeric.preprocessor.c"}}},"preprocessor-rule-disabled-interface":{"begin":"^\\s*(#(if)\\s+(0)\\b).*","end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"begin":"^\\s*(#\\s*(else)\\b)","end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#interface_innards"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.else.c"}}},{"name":"comment.block.preprocessor.if-branch.c","end":"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.if.c"},"3":{"name":"constant.numeric.preprocessor.c"}}},"preprocessor-rule-enabled-implementation":{"begin":"^\\s*(#(if)\\s+(0*1)\\b)","end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"contentName":"comment.block.preprocessor.else-branch.c","begin":"^\\s*(#\\s*(else)\\b).*","end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.else.c"}}},{"end":"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#implementation_innards"}]}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.if.c"},"3":{"name":"constant.numeric.preprocessor.c"}}},"preprocessor-rule-enabled-interface":{"begin":"^\\s*(#(if)\\s+(0*1)\\b)","end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"contentName":"comment.block.preprocessor.else-branch.c","begin":"^\\s*(#\\s*(else)\\b).*","end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.else.c"}}},{"end":"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#interface_innards"}]}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.if.c"},"3":{"name":"constant.numeric.preprocessor.c"}}},"preprocessor-rule-other-implementation":{"begin":"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))","end":"^\\s*(#\\s*(endif)\\b).*?(?:(?=(?://|/\\*))|$)","patterns":[{"include":"#implementation_innards"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.c"}}},"preprocessor-rule-other-interface":{"begin":"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))","end":"^\\s*(#\\s*(endif)\\b).*?(?:(?=(?://|/\\*))|$)","patterns":[{"include":"#interface_innards"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.c"}}},"properties":{"patterns":[{"name":"meta.property-with-attributes.objc","begin":"((@)property)\\s*(\\()","end":"(\\))","patterns":[{"name":"keyword.other.property.attribute","match":"\\b(getter|setter|readonly|readwrite|assign|retain|copy|atomic|nonatomic|strong|weak|nullable|nonnull|class)\\b"}],"beginCaptures":{"1":{"name":"keyword.other.property.objc"},"2":{"name":"punctuation.definition.keyword.objc"},"3":{"name":"punctuation.section.scope.begin.objc"}},"endCaptures":{"1":{"name":"punctuation.section.scope.end.objc"}}},{"name":"meta.property.objc","match":"((@)property)\\b","captures":{"1":{"name":"keyword.other.property.objc"},"2":{"name":"punctuation.definition.keyword.objc"}}}]},"property_directive":{"name":"keyword.other.property.directive.objc","match":"(@)(dynamic|synthesize)\\b","captures":{"1":{"name":"punctuation.definition.keyword.objc"}}},"protocol_list":{"name":"meta.protocol-list.objc","begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"source.objc.platform#protocols"}],"beginCaptures":{"1":{"name":"punctuation.section.scope.begin.objc"}},"endCaptures":{"1":{"name":"punctuation.section.scope.end.objc"}}},"protocol_type_qualifier":{"name":"storage.modifier.protocol.objc","match":"\\b(in|out|inout|oneway|bycopy|byref)\\b"},"special_variables":{"patterns":[{"name":"variable.other.selector.objc","match":"\\b_cmd\\b"},{"name":"variable.language.objc","match":"\\b(self|super)\\b"}]}}}
1
+ {"name":"Objective-C","scopeName":"source.objc","patterns":[{"name":"meta.interface-or-protocol.objc","contentName":"meta.scope.interface.objc","begin":"((@)(interface|protocol))(?!.+;)\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*((:)(?:\\s*)([A-Za-z][A-Za-z0-9]*))?(\\s|\\n)?","end":"((@)end)\\b","patterns":[{"include":"#interface_innards"}],"captures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"4":{"name":"entity.name.type.objc"},"6":{"name":"punctuation.definition.entity.other.inherited-class.objc"},"7":{"name":"entity.other.inherited-class.objc"},"8":{"name":"meta.divider.objc"},"9":{"name":"meta.inherited-class.objc"}}},{"name":"meta.implementation.objc","contentName":"meta.scope.implementation.objc","begin":"((@)(implementation))\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*(?::\\s*([A-Za-z][A-Za-z0-9]*))?","end":"((@)end)\\b","patterns":[{"include":"#implementation_innards"}],"captures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"4":{"name":"entity.name.type.objc"},"5":{"name":"entity.other.inherited-class.objc"}}},{"begin":"(?=@\")","end":"(?=\\S)","patterns":[{"name":"string.quoted.double.objc","begin":"@?\"","end":"\"","patterns":[{"include":"source.c#string_escaped_char"},{"name":"constant.other.placeholder.objc","match":"(?x)%\n \t\t\t\t\t\t(\\d+\\$)? # field (argument #)\n \t\t\t\t\t\t[#0\\- +']* # flags\n \t\t\t\t\t\t((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width\n \t\t\t\t\t\t(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision\n \t\t\t\t\t\t[@] # conversion type\n \t\t\t\t\t"},{"include":"source.c#string_placeholder"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}}}],"applyEndPatternLast":true},{"name":"meta.id-with-protocol.objc","begin":"\\b(id)\\s*(?=\u003c)","end":"(?\u003c=\u003e)","patterns":[{"include":"#protocol_list"}],"beginCaptures":{"1":{"name":"storage.type.objc"}}},{"name":"keyword.control.macro.objc","match":"\\b(NS_DURING|NS_HANDLER|NS_ENDHANDLER)\\b"},{"name":"keyword.control.exception.objc","match":"(@)(try|catch|finally|throw)\\b","captures":{"1":{"name":"punctuation.definition.keyword.objc"}}},{"name":"keyword.control.synchronize.objc","match":"(@)(synchronized)\\b","captures":{"1":{"name":"punctuation.definition.keyword.objc"}}},{"name":"keyword.control.protocol-specification.objc","match":"(@)(required|optional)\\b","captures":{"1":{"name":"punctuation.definition.keyword.objc"}}},{"name":"keyword.other.objc","match":"(@)(defs|encode)\\b","captures":{"1":{"name":"punctuation.definition.keyword.objc"}}},{"name":"storage.type.objc","match":"(@)(class|protocol)\\b","captures":{"1":{"name":"punctuation.definition.storage.type.objc"}}},{"name":"meta.selector.objc","contentName":"meta.selector.method-name.objc","begin":"((@)selector)\\s*(\\()","end":"(\\))","patterns":[{"name":"support.function.any-method.name-of-parameter.objc","match":"\\b(?:[a-zA-Z_:][\\w]*)+","captures":{"1":{"name":"punctuation.separator.arguments.objc"}}}],"beginCaptures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"3":{"name":"punctuation.definition.storage.type.objc"}},"endCaptures":{"1":{"name":"punctuation.definition.storage.type.objc"}}},{"name":"storage.modifier.objc","match":"(@)(synchronized|public|package|private|protected)\\b","captures":{"1":{"name":"punctuation.definition.storage.modifier.objc"}}},{"name":"constant.language.objc","match":"\\b(YES|NO|Nil|nil)\\b"},{"include":"source.objc.platform"},{"include":"source.objc.platform#functions"},{"include":"source.c"},{"include":"#bracketed_content"}],"repository":{"bracketed_content":{"name":"meta.bracketed.objc","begin":"\\[","end":"\\]","patterns":[{"name":"meta.function-call.predicate.objc","begin":"(?=predicateWithFormat:)(?\u003c=NSPredicate )(predicateWithFormat:)","end":"(?=\\])","patterns":[{"name":"support.function.any-method.name-of-parameter.objc","match":"\\bargument(Array|s)(:)","captures":{"1":{"name":"punctuation.separator.arguments.objc"}}},{"name":"invalid.illegal.unknown-method.objc","match":"\\b\\w+(:)","captures":{"1":{"name":"punctuation.separator.arguments.objc"}}},{"name":"string.quoted.double.objc","begin":"@\"","end":"\"","patterns":[{"name":"keyword.operator.logical.predicate.cocoa","match":"\\b(AND|OR|NOT|IN)\\b"},{"name":"constant.language.predicate.cocoa","match":"\\b(ALL|ANY|SOME|NONE)\\b"},{"name":"constant.language.predicate.cocoa","match":"\\b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\b"},{"name":"keyword.operator.comparison.predicate.cocoa","match":"\\b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\b"},{"name":"keyword.other.modifier.predicate.cocoa","match":"\\bC(ASEINSENSITIVE|I)\\b"},{"name":"keyword.other.predicate.cocoa","match":"\\b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\b"},{"name":"constant.character.escape.objc","match":"\\\\(\\\\|[abefnrtv'\"?]|[0-3]\\d{0,2}|[4-7]\\d?|x[a-zA-Z0-9]+)"},{"name":"invalid.illegal.unknown-escape.objc","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}}},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$base"}],"beginCaptures":{"1":{"name":"support.function.any-method.objc"},"2":{"name":"punctuation.separator.arguments.objc"}}},{"name":"meta.function-call.objc","begin":"(?=\\w)(?\u003c=[\\w\\]\\s)\"]\\s)(\\w+(?:(:)|(?=\\])))","end":"(?=\\])","patterns":[{"name":"support.function.any-method.name-of-parameter.objc","match":"\\b\\w+(:)","captures":{"1":{"name":"punctuation.separator.arguments.objc"}}},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$base"}],"beginCaptures":{"1":{"name":"support.function.any-method.objc"},"2":{"name":"punctuation.separator.arguments.objc"}}},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.objc"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.objc"}}},"c_functions":{"patterns":[{},{"name":"meta.function-call.c","match":"(?x) (?: (?= \\s ) (?:(?\u003c=else|new|return) | (?\u003c!\\w)) (\\s+))?\n \t\t\t(\\b \n \t\t\t\t(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\s*\\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\\b | :: )++ # actual name\n \t\t\t)\n \t\t\t \\s*(\\()","captures":{"1":{"name":"punctuation.whitespace.function-call.leading.c"},"2":{"name":"support.function.any-method.c"},"3":{"name":"punctuation.definition.parameters.c"}}}]},"comment":{"patterns":[{"name":"comment.block.objc","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.objc"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.objc","begin":"//","end":"\\n","patterns":[{"name":"punctuation.separator.continuation.objc","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.objc"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.objc"}}}]},"disabled":{"begin":"^\\s*#\\s*if(n?def)?\\b.*$","end":"^\\s*#\\s*endif\\b.*$","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},"implementation_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-implementation"},{"include":"#preprocessor-rule-disabled-implementation"},{"include":"#preprocessor-rule-other-implementation"},{"include":"#property_directive"},{"include":"#special_variables"},{"include":"#method_super"},{"include":"$base"}]},"interface_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-interface"},{"include":"#preprocessor-rule-disabled-interface"},{"include":"#preprocessor-rule-other-interface"},{"include":"#properties"},{"include":"#protocol_list"},{"include":"#method"},{"include":"$base"}]},"method":{"name":"meta.function.objc","begin":"^(-|\\+)\\s*","end":"(?=\\{|#)|;","patterns":[{"name":"meta.return-type.objc","begin":"(\\()","end":"(\\))\\s*(\\w+\\b)","patterns":[{"include":"#protocol_list"},{"include":"#protocol_type_qualifier"},{"include":"$base"}],"beginCaptures":{"1":{"name":"punctuation.definition.type.begin.objc"}},"endCaptures":{"1":{"name":"punctuation.definition.type.end.objc"},"2":{"name":"entity.name.function.objc"}}},{"name":"entity.name.function.name-of-parameter.objc","match":"\\b\\w+(?=:)"},{"name":"meta.argument-type.objc","begin":"((:))\\s*(\\()","end":"(\\))\\s*(\\w+\\b)?","patterns":[{"include":"#protocol_list"},{"include":"#protocol_type_qualifier"},{"include":"$base"}],"beginCaptures":{"1":{"name":"entity.name.function.name-of-parameter.objc"},"2":{"name":"punctuation.separator.arguments.objc"},"3":{"name":"punctuation.definition.type.begin.objc"}},"endCaptures":{"1":{"name":"punctuation.definition.type.end.objc"},"2":{"name":"variable.parameter.function.objc"}}},{"include":"#comment"}]},"method_super":{"name":"meta.function-with-body.objc","begin":"^(?=-|\\+)","end":"(?\u003c=\\})|(?=#)","patterns":[{"include":"#method"},{"include":"$base"}]},"pragma-mark":{"name":"meta.section","match":"^\\s*(#\\s*(pragma\\s+mark)\\s+(.*))","captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.pragma.c"},"3":{"name":"meta.toc-list.pragma-mark.c"}}},"preprocessor-rule-disabled-implementation":{"begin":"^\\s*(#(if)\\s+(0)\\b).*","end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"begin":"^\\s*(#\\s*(else)\\b)","end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#interface_innards"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.else.c"}}},{"name":"comment.block.preprocessor.if-branch.c","end":"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.if.c"},"3":{"name":"constant.numeric.preprocessor.c"}}},"preprocessor-rule-disabled-interface":{"begin":"^\\s*(#(if)\\s+(0)\\b).*","end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"begin":"^\\s*(#\\s*(else)\\b)","end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#interface_innards"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.else.c"}}},{"name":"comment.block.preprocessor.if-branch.c","end":"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.if.c"},"3":{"name":"constant.numeric.preprocessor.c"}}},"preprocessor-rule-enabled-implementation":{"begin":"^\\s*(#(if)\\s+(0*1)\\b)","end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"contentName":"comment.block.preprocessor.else-branch.c","begin":"^\\s*(#\\s*(else)\\b).*","end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.else.c"}}},{"end":"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#implementation_innards"}]}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.if.c"},"3":{"name":"constant.numeric.preprocessor.c"}}},"preprocessor-rule-enabled-interface":{"begin":"^\\s*(#(if)\\s+(0*1)\\b)","end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"contentName":"comment.block.preprocessor.else-branch.c","begin":"^\\s*(#\\s*(else)\\b).*","end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.else.c"}}},{"end":"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))","patterns":[{"include":"#interface_innards"}]}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.if.c"},"3":{"name":"constant.numeric.preprocessor.c"}}},"preprocessor-rule-other-implementation":{"begin":"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))","end":"^\\s*(#\\s*(endif)\\b).*?(?:(?=(?://|/\\*))|$)","patterns":[{"include":"#implementation_innards"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.c"}}},"preprocessor-rule-other-interface":{"begin":"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))","end":"^\\s*(#\\s*(endif)\\b).*?(?:(?=(?://|/\\*))|$)","patterns":[{"include":"#interface_innards"}],"captures":{"1":{"name":"meta.preprocessor.c"},"2":{"name":"keyword.control.import.c"}}},"properties":{"patterns":[{"name":"meta.property-with-attributes.objc","begin":"((@)property)\\s*(\\()","end":"(\\))","patterns":[{"name":"keyword.other.property.attribute","match":"\\b(getter|setter|readonly|readwrite|assign|retain|copy|atomic|nonatomic|strong|weak|nullable|nonnull|class)\\b"}],"beginCaptures":{"1":{"name":"keyword.other.property.objc"},"2":{"name":"punctuation.definition.keyword.objc"},"3":{"name":"punctuation.section.scope.begin.objc"}},"endCaptures":{"1":{"name":"punctuation.section.scope.end.objc"}}},{"name":"meta.property.objc","match":"((@)property)\\b","captures":{"1":{"name":"keyword.other.property.objc"},"2":{"name":"punctuation.definition.keyword.objc"}}}]},"property_directive":{"name":"keyword.other.property.directive.objc","match":"(@)(dynamic|synthesize)\\b","captures":{"1":{"name":"punctuation.definition.keyword.objc"}}},"protocol_list":{"name":"meta.protocol-list.objc","begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"source.objc.platform#protocols"}],"beginCaptures":{"1":{"name":"punctuation.section.scope.begin.objc"}},"endCaptures":{"1":{"name":"punctuation.section.scope.end.objc"}}},"protocol_type_qualifier":{"name":"storage.modifier.protocol.objc","match":"\\b(in|out|inout|oneway|bycopy|byref)\\b"},"special_variables":{"patterns":[{"name":"variable.other.selector.objc","match":"\\b_cmd\\b"},{"name":"variable.language.objc","match":"\\b(self|super)\\b"}]}}}