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
This commit is contained in:
TravonteD 2020-04-24 08:48:18 -04:00
parent b7fdd6ae38
commit 79ab9fc6fb
2 changed files with 185 additions and 0 deletions

140
queries/ruby/highlights.scm Normal file
View file

@ -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

45
queries/ruby/locals.scm Normal file
View file

@ -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)