Skip to content

Commit

Permalink
feat(lang): add nushell language support
Browse files Browse the repository at this point in the history
  • Loading branch information
hustcer committed Apr 22, 2022
1 parent 6de2e76 commit 2b7d0a1
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 0 deletions.
13 changes: 13 additions & 0 deletions languages.toml
Original file line number Diff line number Diff line change
Expand Up @@ -1210,3 +1210,16 @@ indent = { tab-width = 4, unit = " " }
[[grammar]]
name = "gdscript"
source = { git = "https://github.com/PrestonKnopp/tree-sitter-gdscript", rev = "2a6abdaa47fcb91397e09a97c7433fd995ea46c6" }

[[language]]
name = "nu"
scope = "source.nu"
injection-regex = "nu"
file-types = ["nu"]
roots = []
comment-token = "#"
indent = { tab-width = 2, unit = " " }

[[grammar]]
name = "nu"
source = { git = "https://github.com/LhKipp/tree-sitter-nu.git", rev = "db4e990b78824c8abef3618e0f93b7fe1e8f4c0d" }
4 changes: 4 additions & 0 deletions runtime/queries/nu/folds.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[
(function_definition)
(block)
] @fold
55 changes: 55 additions & 0 deletions runtime/queries/nu/highlights.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
(string) @string
(type) @type
(value_path) @variable
(comment) @comment

(number_literal) @number
(range from: (number_literal) @number)
(range to: (number_literal) @number)

(command cmd_name: (identifier) @function)
(function_definition func_name: (identifier) @function)

[
(variable_declaration name: (identifier))
(parameter (identifier))
(flag (flag_name))
(flag (flag_shorthand_name))
(record_entry entry_name: (identifier))
(block_args block_param: (identifier))
] @property
; (parameter (identifier) @variable.parameter) ; -- alternative highlighting group?

(cmd_invocation) @embedded


((identifier) @constant
(#match? @constant "^[A-Z][A-Z\\d_]*$"))

[
"if"
"else"
"let"
"def"
"export"
] @keyword

[
; "/" Not making / an operator may lead to better highlighting?
"$"
"|"
"+"
"-"
"*"
"="
"!="
"&&"
"||"
"=="
">"
] @operator

["."
","
";"
] @delimiter
1 change: 1 addition & 0 deletions runtime/queries/nu/injections.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(comment) @comment
13 changes: 13 additions & 0 deletions runtime/queries/nu/locals.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
; Scopes
(function_definition) @scope

; Definitions
(variable_declaration
name: (identifier) @definition.var)

(function_definition
func_name: (identifier) @definition.function)

; References
(value_path) @reference
(word) @reference

0 comments on commit 2b7d0a1

Please sign in to comment.