diff options
| author | TravonteD <tman1300@aol.com> | 2020-04-24 08:48:18 -0400 |
|---|---|---|
| committer | TravonteD <tman1300@aol.com> | 2020-04-24 08:48:18 -0400 |
| commit | 79ab9fc6fbbccd9cf3ea7877bd47c187360086a5 (patch) | |
| tree | 2a4025932d8bd11e25a9da3a7e95f30c57eccb21 /queries/ruby | |
| parent | Merge pull request #21 from haorenW1025/master (diff) | |
| download | nvim-treesitter-79ab9fc6fbbccd9cf3ea7877bd47c187360086a5.tar nvim-treesitter-79ab9fc6fbbccd9cf3ea7877bd47c187360086a5.tar.gz nvim-treesitter-79ab9fc6fbbccd9cf3ea7877bd47c187360086a5.tar.bz2 nvim-treesitter-79ab9fc6fbbccd9cf3ea7877bd47c187360086a5.tar.lz nvim-treesitter-79ab9fc6fbbccd9cf3ea7877bd47c187360086a5.tar.xz nvim-treesitter-79ab9fc6fbbccd9cf3ea7877bd47c187360086a5.tar.zst nvim-treesitter-79ab9fc6fbbccd9cf3ea7877bd47c187360086a5.zip | |
Squashed commit of the following:
commit 1b3700b0cd68cb507c64b7243a5bea050379f09c
Author: TravonteD <tman1300@aol.com>
Date: Fri Apr 24 08:44:34 2020 -0400
remove local from the capture groups
commit 62f1a613c7c6f26e3a85f06f322ead28280dc7ca
Author: TravonteD <tman1300@aol.com>
Date: Thu Apr 23 18:43:09 2020 -0400
update captures for identifiers
commit 9966d5a9cd780b2de80e620cee6833fd341028d0
Author: TravonteD <tman1300@aol.com>
Date: Thu Apr 23 18:42:42 2020 -0400
add capture for constants that are recievers of a method call
commit 10f03606710a3a54c8c722e4883b9475c6f9f776
Author: TravonteD <tman1300@aol.com>
Date: Thu Apr 23 17:54:25 2020 -0400
update captures for function definitions and calls
commit 4b350274cb02e1b69ae013fa157bae5c6be9e577
Author: TravonteD <tman1300@aol.com>
Date: Thu Apr 23 17:21:10 2020 -0400
update captures for operators
commit c66d42cd0d56d0a1bbfb1f88ffa7ff6ae8b6c2df
Author: TravonteD <tman1300@aol.com>
Date: Thu Apr 23 17:10:13 2020 -0400
update captures for literals
commit a9c097fe03f7294fdaede760f2c016cf6c960a45
Author: TravonteD <tman1300@aol.com>
Date: Thu Apr 23 15:54:47 2020 -0400
add highlights and locals from treesitter-ruby
Diffstat (limited to 'queries/ruby')
| -rw-r--r-- | queries/ruby/highlights.scm | 140 | ||||
| -rw-r--r-- | queries/ruby/locals.scm | 45 |
2 files changed, 185 insertions, 0 deletions
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) |
