aboutsummaryrefslogtreecommitdiff
path: root/helix-22.03-x86_64-windows/runtime/queries/ruby
diff options
context:
space:
mode:
authorIndrajith K L2022-12-03 17:00:20 +0530
committerIndrajith K L2022-12-03 17:00:20 +0530
commitf5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch)
tree2764fc62da58f2ba8da7ed341643fc359873142f /helix-22.03-x86_64-windows/runtime/queries/ruby
downloadcli-tools-windows-f5c4671bfbad96bf346bd7e9a21fc4317b4959df.tar.gz
cli-tools-windows-f5c4671bfbad96bf346bd7e9a21fc4317b4959df.tar.bz2
cli-tools-windows-f5c4671bfbad96bf346bd7e9a21fc4317b4959df.zip
Adds most of the toolsHEADmaster
Diffstat (limited to 'helix-22.03-x86_64-windows/runtime/queries/ruby')
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ruby/highlights.scm146
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ruby/indents.toml25
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ruby/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ruby/locals.scm27
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ruby/tags.scm64
5 files changed, 264 insertions, 0 deletions
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ruby/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/ruby/highlights.scm
new file mode 100644
index 0000000..898f8f7
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ruby/highlights.scm
@@ -0,0 +1,146 @@
+; Keywords
+
+[
+ "alias"
+ "and"
+ "begin"
+ "break"
+ "case"
+ "class"
+ "def"
+ "do"
+ "else"
+ "elsif"
+ "end"
+ "ensure"
+ "for"
+ "if"
+ "in"
+ "module"
+ "next"
+ "or"
+ "rescue"
+ "retry"
+ "return"
+ "then"
+ "unless"
+ "until"
+ "when"
+ "while"
+ "yield"
+] @keyword
+
+((identifier) @keyword
+ (#match? @keyword "^(private|protected|public)$"))
+
+; Function calls
+
+((identifier) @function.method.builtin
+ (#eq? @function.method.builtin "require"))
+
+"defined?" @function.method.builtin
+
+(call
+ method: [(identifier) (constant)] @function.method)
+
+; Function definitions
+
+(alias (identifier) @function.method)
+(setter (identifier) @function.method)
+(method name: [(identifier) (constant)] @function.method)
+(singleton_method name: [(identifier) (constant)] @function.method)
+
+; Identifiers
+
+[
+ (class_variable)
+ (instance_variable)
+] @variable.other.member
+
+((identifier) @constant.builtin
+ (#match? @constant.builtin "^__(FILE|LINE|ENCODING)__$"))
+
+((constant) @constant
+ (#match? @constant "^[A-Z\\d_]+$"))
+
+(constant) @constructor
+
+(self) @variable.builtin
+(super) @variable.builtin
+
+(block_parameter (identifier) @variable.parameter)
+(block_parameters (identifier) @variable.parameter)
+(destructured_parameter (identifier) @variable.parameter)
+(hash_splat_parameter (identifier) @variable.parameter)
+(lambda_parameters (identifier) @variable.parameter)
+(method_parameters (identifier) @variable.parameter)
+(splat_parameter (identifier) @variable.parameter)
+
+(keyword_parameter name: (identifier) @variable.parameter)
+(optional_parameter name: (identifier) @variable.parameter)
+
+((identifier) @function.method
+ (#is-not? local))
+(identifier) @variable
+
+; Literals
+
+[
+ (string)
+ (bare_string)
+ (subshell)
+ (heredoc_body)
+ (heredoc_beginning)
+] @string
+
+[
+ (simple_symbol)
+ (delimited_symbol)
+ (hash_key_symbol)
+ (bare_symbol)
+] @string.special.symbol
+
+(regex) @string.regexp
+(escape_sequence) @constant.character.escape
+
+[
+ (integer)
+ (float)
+] @constant.numeric.integer
+
+[
+ (nil)
+ (true)
+ (false)
+]@constant.builtin
+
+(interpolation
+ "#{" @punctuation.special
+ "}" @punctuation.special) @embedded
+
+(comment) @comment
+
+; Operators
+
+[
+"="
+"=>"
+"->"
+] @operator
+
+[
+ ","
+ ";"
+ "."
+] @punctuation.delimiter
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+ "%w("
+ "%i("
+] @punctuation.bracket
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ruby/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/ruby/indents.toml
new file mode 100644
index 0000000..b417751
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ruby/indents.toml
@@ -0,0 +1,25 @@
+indent = [
+ "argument_list",
+ "array",
+ "begin",
+ "block",
+ "call",
+ "class",
+ "case",
+ "do_block",
+ "elsif",
+ "if",
+ "hash",
+ "method",
+ "module",
+ "singleton_class",
+ "singleton_method",
+]
+
+outdent = [
+ ")",
+ "}",
+ "]",
+ "end",
+ "when",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ruby/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/ruby/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ruby/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ruby/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/ruby/locals.scm
new file mode 100644
index 0000000..393caaf
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ruby/locals.scm
@@ -0,0 +1,27 @@
+((method) @local.scope
+ (#set! local.scope-inherits false))
+
+[
+ (lambda)
+ (block)
+ (do_block)
+] @local.scope
+
+(block_parameter (identifier) @local.definition)
+(block_parameters (identifier) @local.definition)
+(destructured_parameter (identifier) @local.definition)
+(hash_splat_parameter (identifier) @local.definition)
+(lambda_parameters (identifier) @local.definition)
+(method_parameters (identifier) @local.definition)
+(splat_parameter (identifier) @local.definition)
+
+(keyword_parameter name: (identifier) @local.definition)
+(optional_parameter name: (identifier) @local.definition)
+
+(identifier) @local.reference
+
+(assignment left: (identifier) @local.definition)
+(operator_assignment left: (identifier) @local.definition)
+(left_assignment_list (identifier) @local.definition)
+(rest_assignment (identifier) @local.definition)
+(destructured_left_assignment (identifier) @local.definition)
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ruby/tags.scm b/helix-22.03-x86_64-windows/runtime/queries/ruby/tags.scm
new file mode 100644
index 0000000..47ba1eb
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ruby/tags.scm
@@ -0,0 +1,64 @@
+; Method definitions
+
+(
+ (comment)* @doc
+ .
+ [
+ (method
+ name: (_) @name) @definition.method
+ (singleton_method
+ name: (_) @name) @definition.method
+ ]
+ (#strip! @doc "^#\\s*")
+ (#select-adjacent! @doc @definition.method)
+)
+
+(alias
+ name: (_) @name) @definition.method
+
+(setter
+ (identifier) @ignore)
+
+; Class definitions
+
+(
+ (comment)* @doc
+ .
+ [
+ (class
+ name: [
+ (constant) @name
+ (scope_resolution
+ name: (_) @name)
+ ]) @definition.class
+ (singleton_class
+ value: [
+ (constant) @name
+ (scope_resolution
+ name: (_) @name)
+ ]) @definition.class
+ ]
+ (#strip! @doc "^#\\s*")
+ (#select-adjacent! @doc @definition.class)
+)
+
+; Module definitions
+
+(
+ (module
+ name: [
+ (constant) @name
+ (scope_resolution
+ name: (_) @name)
+ ]) @definition.module
+)
+
+; Calls
+
+(call method: (identifier) @name) @reference.call
+
+(
+ [(identifier) (constant)] @name @reference.call
+ (#is-not? local)
+ (#not-match? @name "^(lambda|load|require|require_relative|__FILE__|__LINE__)$")
+)