mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-22 01:16:18 +04:00
feat: add nasm language (#6068)
This commit is contained in:
parent
f69bb41169
commit
a4049e6f55
@ -85,6 +85,7 @@
|
|||||||
| meson | ✓ | | ✓ | |
|
| meson | ✓ | | ✓ | |
|
||||||
| mint | | | | `mint` |
|
| mint | | | | `mint` |
|
||||||
| msbuild | ✓ | | ✓ | |
|
| msbuild | ✓ | | ✓ | |
|
||||||
|
| nasm | ✓ | ✓ | | |
|
||||||
| nickel | ✓ | | ✓ | `nls` |
|
| nickel | ✓ | | ✓ | `nls` |
|
||||||
| nix | ✓ | | | `nil` |
|
| nix | ✓ | | | `nil` |
|
||||||
| nu | ✓ | | | |
|
| nu | ✓ | | | |
|
||||||
|
@ -2218,3 +2218,16 @@ comment-token = "#"
|
|||||||
[[grammar]]
|
[[grammar]]
|
||||||
name = "po"
|
name = "po"
|
||||||
source = { git = "https://github.com/erasin/tree-sitter-po", rev = "417cee9abb2053ed26b19e7de972398f2da9b29e" }
|
source = { git = "https://github.com/erasin/tree-sitter-po", rev = "417cee9abb2053ed26b19e7de972398f2da9b29e" }
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "nasm"
|
||||||
|
scope = "source.nasm"
|
||||||
|
file-types = ["asm", "s", "S", "nasm"]
|
||||||
|
injection-regex = "n?asm"
|
||||||
|
roots = []
|
||||||
|
comment-token = ";"
|
||||||
|
indent = { tab-width = 8, unit = " " }
|
||||||
|
|
||||||
|
[[grammar]]
|
||||||
|
name = "nasm"
|
||||||
|
source = { git = "https://github.com/naclsn/tree-sitter-nasm", rev = "a0db15db6fcfb1bf2cc8702500e55e558825c48b" }
|
||||||
|
126
runtime/queries/nasm/highlights.scm
Normal file
126
runtime/queries/nasm/highlights.scm
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
(comment) @comment
|
||||||
|
|
||||||
|
(label) @label
|
||||||
|
|
||||||
|
(preproc_expression) @keyword.directive
|
||||||
|
|
||||||
|
[
|
||||||
|
(line_here_token)
|
||||||
|
(section_here_token)
|
||||||
|
] @variable.builtin
|
||||||
|
|
||||||
|
(unary_expression
|
||||||
|
operator: _ @operator)
|
||||||
|
(binary_expression
|
||||||
|
operator: _ @operator)
|
||||||
|
(conditional_expression
|
||||||
|
"?" @operator
|
||||||
|
":" @operator)
|
||||||
|
|
||||||
|
[
|
||||||
|
":"
|
||||||
|
","
|
||||||
|
] @punctuation.delimiter
|
||||||
|
|
||||||
|
[
|
||||||
|
"("
|
||||||
|
")"
|
||||||
|
"["
|
||||||
|
"]"
|
||||||
|
"{"
|
||||||
|
"}"
|
||||||
|
] @punctuation.bracket
|
||||||
|
|
||||||
|
(instruction_prefix) @keyword
|
||||||
|
(actual_instruction
|
||||||
|
instruction: (word) @function)
|
||||||
|
|
||||||
|
(call_syntax_expression
|
||||||
|
base: (word) @function)
|
||||||
|
|
||||||
|
(size_hint) @type
|
||||||
|
(struc_declaration
|
||||||
|
name: (word) @type)
|
||||||
|
(struc_instance
|
||||||
|
name: (word) @type)
|
||||||
|
|
||||||
|
(effective_address
|
||||||
|
hint: _ @type)
|
||||||
|
(effective_address
|
||||||
|
segment: _ @constant.builtin)
|
||||||
|
|
||||||
|
(register) @constant.builtin
|
||||||
|
|
||||||
|
(number_literal) @constant.numeric.integer
|
||||||
|
(string_literal) @string
|
||||||
|
(float_literal) @constant.numeric.float
|
||||||
|
(packed_bcd_literal) @constant.numeric.integer
|
||||||
|
|
||||||
|
((word) @constant
|
||||||
|
(#match? @constant "^[A-Z_][?A-Z_0-9]+$"))
|
||||||
|
((word) @constant.builtin
|
||||||
|
(#match? @constant.builtin "^__\\?[A-Z_a-z0-9]+\\?__$"))
|
||||||
|
(word) @variable
|
||||||
|
|
||||||
|
(preproc_arg) @keyword.directive
|
||||||
|
|
||||||
|
[
|
||||||
|
(preproc_def)
|
||||||
|
(preproc_function_def)
|
||||||
|
(preproc_undef)
|
||||||
|
(preproc_alias)
|
||||||
|
(preproc_multiline_macro)
|
||||||
|
(preproc_multiline_unmacro)
|
||||||
|
(preproc_if)
|
||||||
|
(preproc_rotate)
|
||||||
|
(preproc_rep_loop)
|
||||||
|
(preproc_include)
|
||||||
|
(preproc_pathsearch)
|
||||||
|
(preproc_depend)
|
||||||
|
(preproc_use)
|
||||||
|
(preproc_push)
|
||||||
|
(preproc_pop)
|
||||||
|
(preproc_repl)
|
||||||
|
(preproc_arg)
|
||||||
|
(preproc_stacksize)
|
||||||
|
(preproc_local)
|
||||||
|
(preproc_reporting)
|
||||||
|
(preproc_pragma)
|
||||||
|
(preproc_line)
|
||||||
|
(preproc_clear)
|
||||||
|
] @keyword.directive
|
||||||
|
[
|
||||||
|
(pseudo_instruction_dx)
|
||||||
|
(pseudo_instruction_resx)
|
||||||
|
(pseudo_instruction_incbin_command)
|
||||||
|
(pseudo_instruction_equ_command)
|
||||||
|
(pseudo_instruction_times_prefix)
|
||||||
|
(pseudo_instruction_alignx_macro)
|
||||||
|
] @function.special
|
||||||
|
[
|
||||||
|
(assembl_directive_target)
|
||||||
|
(assembl_directive_defaults)
|
||||||
|
(assembl_directive_sections)
|
||||||
|
(assembl_directive_absolute)
|
||||||
|
(assembl_directive_symbols)
|
||||||
|
(assembl_directive_common)
|
||||||
|
(assembl_directive_symbolfixes)
|
||||||
|
(assembl_directive_cpu)
|
||||||
|
(assembl_directive_floathandling)
|
||||||
|
(assembl_directive_org)
|
||||||
|
(assembl_directive_sectalign)
|
||||||
|
|
||||||
|
(assembl_directive_primitive_target)
|
||||||
|
(assembl_directive_primitive_defaults)
|
||||||
|
(assembl_directive_primitive_sections)
|
||||||
|
(assembl_directive_primitive_absolute)
|
||||||
|
(assembl_directive_primitive_symbols)
|
||||||
|
(assembl_directive_primitive_common)
|
||||||
|
(assembl_directive_primitive_symbolfixes)
|
||||||
|
(assembl_directive_primitive_cpu)
|
||||||
|
(assembl_directive_primitive_floathandling)
|
||||||
|
(assembl_directive_primitive_org)
|
||||||
|
(assembl_directive_primitive_sectalign)
|
||||||
|
(assembl_directive_primitive_warning)
|
||||||
|
(assembl_directive_primitive_map)
|
||||||
|
] @keyword
|
2
runtime/queries/nasm/injections.scm
Normal file
2
runtime/queries/nasm/injections.scm
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
((comment) @injection.content
|
||||||
|
(#set! injection.language "comment"))
|
15
runtime/queries/nasm/textobjects.scm
Normal file
15
runtime/queries/nasm/textobjects.scm
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
(preproc_multiline_macro
|
||||||
|
body: (body) @function.inside) @function.around
|
||||||
|
(struc_declaration
|
||||||
|
body: (struc_declaration_body) @class.inside) @class.around
|
||||||
|
(struc_instance
|
||||||
|
body: (struc_instance_body) @class.inside) @class.around
|
||||||
|
|
||||||
|
(preproc_function_def_parameters
|
||||||
|
(word) @parameter.inside)
|
||||||
|
(call_syntax_arguments
|
||||||
|
(_) @parameter.inside)
|
||||||
|
(operand) @parameter.inside
|
||||||
|
|
||||||
|
(comment) @comment.inside
|
||||||
|
(comment)+ @comment.around
|
Loading…
Reference in New Issue
Block a user