aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTravonteD <tman1300@aol.com>2020-04-24 08:48:18 -0400
committerTravonteD <tman1300@aol.com>2020-04-24 08:48:18 -0400
commit79ab9fc6fbbccd9cf3ea7877bd47c187360086a5 (patch)
tree2a4025932d8bd11e25a9da3a7e95f30c57eccb21
parentMerge pull request #21 from haorenW1025/master (diff)
downloadnvim-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
-rw-r--r--queries/ruby/highlights.scm140
-rw-r--r--queries/ruby/locals.scm45
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)