diff options
| author | TravonteD <tman1300@aol.com> | 2020-05-11 11:29:40 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-11 11:29:40 -0400 |
| commit | 73ea03fb8d45378bb4c86cd98371232403a7495a (patch) | |
| tree | 67920137c386b0876a57d7bc08ba4a9743f8881d /queries | |
| parent | Merge pull request #21 from haorenW1025/master (diff) | |
| parent | Merge pull request #47 from theHamsta/fix-typo-contributing.md (diff) | |
| download | nvim-treesitter-73ea03fb8d45378bb4c86cd98371232403a7495a.tar nvim-treesitter-73ea03fb8d45378bb4c86cd98371232403a7495a.tar.gz nvim-treesitter-73ea03fb8d45378bb4c86cd98371232403a7495a.tar.bz2 nvim-treesitter-73ea03fb8d45378bb4c86cd98371232403a7495a.tar.lz nvim-treesitter-73ea03fb8d45378bb4c86cd98371232403a7495a.tar.xz nvim-treesitter-73ea03fb8d45378bb4c86cd98371232403a7495a.tar.zst nvim-treesitter-73ea03fb8d45378bb4c86cd98371232403a7495a.zip | |
Merge pull request #1 from nvim-treesitter/master
Updates from master
Diffstat (limited to 'queries')
| -rw-r--r-- | queries/lua/highlights.scm | 25 | ||||
| -rw-r--r-- | queries/lua/locals.scm | 24 | ||||
| -rw-r--r-- | queries/ruby/highlights.scm | 140 | ||||
| -rw-r--r-- | queries/ruby/locals.scm | 45 |
4 files changed, 206 insertions, 28 deletions
diff --git a/queries/lua/highlights.scm b/queries/lua/highlights.scm index 3077be108..a674638e8 100644 --- a/queries/lua/highlights.scm +++ b/queries/lua/highlights.scm @@ -3,16 +3,16 @@ ;;; Builtins ;; Keywords "local" @keyword -"if" @keyword -"then" @keyword -"else" @keyword -"elseif" @keyword +"if" @conditional +"then" @conditional +"else" @conditional +"elseif" @conditional "end" @keyword "return" @keyword -"do" @keyword -"while" @keyword -"repeat" @keyword -"for" @keyword +"do" @repeat +"while" @repeat +"repeat" @repeat +"for" @repeat (break_statement) @keyword "goto" @keyword @@ -43,15 +43,16 @@ "#" @operator ;; Constants -(false) @constant -(true) @constant -(nil) @constant +(false) @boolean +(true) @boolean +(nil) @constant.builtin (spread) @constant ;; "..." ;; Nodes (function "function" @function "end" @function) +(function_definition "function" @function "end" @function) (local_function "function" @function "end" @function) -(table "{" @operator "}" @operator) +(table "{" @constructor "}" @constructor) (comment) @comment (string) @string (number) @number diff --git a/queries/lua/locals.scm b/queries/lua/locals.scm index 5f21e0aaf..ee2927328 100644 --- a/queries/lua/locals.scm +++ b/queries/lua/locals.scm @@ -2,25 +2,20 @@ ;; Variable and field declarations ((variable_declarator - (identifier) @definition) - (set! definition.kind "v")) + (identifier) @definition.var)) ((variable_declarator - (field_expression object:(*) @definition.associated (property_identifier) @definition)) - (set! difinition.kind "v")) + (field_expression object:(*) @definition.associated (property_identifier) @definition.var))) ;; Parameters ((local_function - (parameters (identifier) @definition)) - (set! definition.kind "v")) + (parameters (identifier) @definition.var))) ((function - (parameters (identifier) @definition)) - (set! definition.kind "v")) + (parameters (identifier) @definition.var))) ;; Loops ((loop_expression - (identifier) @definition) - (set! definition.kind "v")) + (identifier) @definition.var)) ;; Function definitions ;; Functions definitions creates both a definition and a new scope @@ -28,16 +23,13 @@ (function_name (function_name_field (identifier) @definition.associated - (property_identifier) @definition))) @scope - (set! definition.kind "m")) + (property_identifier) @definition.method))) @scope) ((function - (function_name (identifier) @definition)) @scope - (set! definition.kind "f")) + (function_name (identifier) @definition.function)) @scope) ((local_function - (identifier) @definition) @scope - (set! definition.kind "f")) + (identifier) @definition.function) @scope) ((if_statement) @scope) ((for_in_statement) @scope) diff --git a/queries/ruby/highlights.scm b/queries/ruby/highlights.scm new file mode 100644 index 000000000..22e2267ed --- /dev/null +++ b/queries/ruby/highlights.scm @@ -0,0 +1,140 @@ +; Keywords + +"alias" @keyword +"and" @keyword +"begin" @keyword +"break" @keyword +"case" @keyword +"class" @keyword +"def" @keyword +"do" @keyword +"else" @keyword +"elsif" @keyword +"end" @keyword +"ensure" @keyword +"for" @keyword +"if" @keyword +"in" @keyword +"module" @keyword +"next" @keyword +"or" @keyword +"rescue" @keyword +"retry" @keyword +"return" @keyword +"then" @keyword +"unless" @keyword +"until" @keyword +"when" @keyword +"while" @keyword +"yield" @keyword + +((identifier) @keyword + (match? @keyword "^(private|protected|public)$")) + +; Function calls + +((identifier) @function + (eq? @function "require")) + +"defined?" @function + +(call + receiver: (constant) @constant) +(method_call + receiver: (constant) @constant) +(call + method: (identifier) @function) +(method_call + method: (identifier) @function) +(call + method: (constant) @function) +(method_call + method: (constant) @function) + +; Function definitions + +(alias (identifier) @function) +(setter (identifier) @function) +(method name: (identifier) @function) +(method name: (constant) @constant) +(class name: (constant) @constant) +(singleton_method name: (identifier) @function) +(singleton_method name: (constant) @constant) + +; Identifiers + +(class_variable) @Identifier +(instance_variable) @Identifier + +((identifier) @constant + (match? @constant "^__(FILE|LINE|ENCODING)__$")) + +((constant) @constant + (match? @constant "^[A-Z\\d_]+$")) + +(constant) @constant + +(self) @constant +(super) @Identifier + +(method_parameters (identifier) @Type) +(lambda_parameters (identifier) @Type) +(block_parameters (identifier) @Type) +(splat_parameter (identifier) @Type) +(hash_splat_parameter (identifier) @Type) +(optional_parameter (identifier) @Type) +(destructured_parameter (identifier) @Type) +(block_parameter (identifier) @Type) +(keyword_parameter (identifier) @Type) + +((identifier) @function + (is-not? local)) + +; Literals + +(string) @string +(bare_string) @string +(bare_symbol) @constant +(subshell) @string +(heredoc_beginning) @Delimiter +(heredoc_body) @string +(heredoc_end) @Delimiter +(symbol) @constant +(regex) @string +(escape_sequence) @Special +(integer) @number +(float) @number + +(nil) @Identifier +(true) @Identifier +(false) @Identifier + +(interpolation + "#{" @Delimiter + (identifier) @Identifier + "}" @Delimiter) @embedded + +(comment) @comment + +; Operators + +"=" @operator +"=>" @operator +"->" @operator +"+" @operator +"-" @operator +"*" @operator +"/" @operator + +"," @Normal +";" @Normal +"." @Normal + +"(" @Normal +")" @Normal +"[" @Normal +"]" @Normal +"{" @Normal +"}" @Normal +"%w(" @Normal +"%i(" @Normal diff --git a/queries/ruby/locals.scm b/queries/ruby/locals.scm new file mode 100644 index 000000000..6c1b25238 --- /dev/null +++ b/queries/ruby/locals.scm @@ -0,0 +1,45 @@ +; The MIT License (MIT) +; +; Copyright (c) 2016 Rob Rix +; +; Permission is hereby granted, free of charge, to any person obtaining a copy +; of this software and associated documentation files (the "Software"), to deal +; in the Software without restriction, including without limitation the rights +; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +; copies of the Software, and to permit persons to whom the Software is +; furnished to do so, subject to the following conditions: +; +; The above copyright notice and this permission notice shall be included in all +; copies or substantial portions of the Software. +; +; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +; SOFTWARE. + +;;; DESCLARATIONS AND SCOPES +((method) @scope + (set! scope-inherits false)) + +(block) @scope +(do_block) @scope + +(method_parameters (identifier) @definition) +(lambda_parameters (identifier) @definition) +(block_parameters (identifier) @definition) +(splat_parameter name: (identifier) @definition) +(hash_splat_parameter name: (identifier) @definition) +(optional_parameter name: (identifier) @definition) +(destructured_parameter name: (identifier) @definition) +(block_parameter name: (identifier) @definition) +(keyword_parameter name: (identifier) @definition) + +(identifier) @reference + +(assignment left:(identifier) @definition) +(left_assignment_list (identifier) @definition) +(rest_assignment (identifier) @definition) +(destructured_left_assignment (identifier) @definition) |
