fix(ruby): missing methods in treesitter backend (#382)

This commit is contained in:
Steven Arcangeli 2024-07-23 17:29:06 -07:00
parent 4e77964569
commit e75a3df2c2
3 changed files with 258 additions and 231 deletions

View file

@ -25,6 +25,12 @@
name: (_) @name
(#set! "kind" "Method")) @symbol)
; handle methods not caught by the above query that includes the scope
(body_statement
(method
name: (_) @name
(#set! "kind" "Method")) @symbol)
(singleton_method
object: [
(constant)

View file

@ -35,68 +35,83 @@
},
{
"col": 2,
"end_col": 18,
"end_lnum": 6,
"kind": "Method",
"level": 1,
"lnum": 6,
"name": "meth_2",
"selection_range": {
"col": 6,
"end_col": 12,
"end_lnum": 6,
"lnum": 6
}
},
{
"col": 2,
"end_col": 22,
"end_lnum": 8,
"end_col": 5,
"end_lnum": 9,
"kind": "Method",
"level": 1,
"lnum": 8,
"name": "name=",
"name": "self.meth_2",
"selection_range": {
"col": 6,
"end_col": 11,
"col": 11,
"end_col": 17,
"end_lnum": 8,
"lnum": 8
}
},
{
"col": 2,
"end_col": 19,
"end_lnum": 10,
"end_col": 5,
"end_lnum": 12,
"kind": "Method",
"level": 1,
"lnum": 10,
"lnum": 11,
"name": "meth_3",
"selection_range": {
"col": 6,
"end_col": 12,
"end_lnum": 11,
"lnum": 11
}
},
{
"col": 2,
"end_col": 22,
"end_lnum": 14,
"kind": "Method",
"level": 1,
"lnum": 14,
"name": "name=",
"selection_range": {
"col": 6,
"end_col": 11,
"end_lnum": 14,
"lnum": 14
}
},
{
"col": 2,
"end_col": 19,
"end_lnum": 16,
"kind": "Method",
"level": 1,
"lnum": 16,
"name": "==",
"selection_range": {
"col": 6,
"end_col": 8,
"end_lnum": 10,
"lnum": 10
"end_lnum": 16,
"lnum": 16
}
},
{
"col": 2,
"end_col": 21,
"end_lnum": 12,
"end_lnum": 18,
"kind": "Method",
"level": 1,
"lnum": 12,
"lnum": 18,
"name": "oneline",
"selection_range": {
"col": 6,
"end_col": 13,
"end_lnum": 12,
"lnum": 12
"end_lnum": 18,
"lnum": 18
}
}
],
"col": 0,
"end_col": 3,
"end_lnum": 13,
"end_lnum": 19,
"kind": "Module",
"level": 0,
"lnum": 1,
@ -113,61 +128,61 @@
{
"col": 2,
"end_col": 5,
"end_lnum": 17,
"end_lnum": 23,
"kind": "Method",
"level": 1,
"lnum": 16,
"lnum": 22,
"name": "before :all",
"selection_range": {
"col": 2,
"end_col": 5,
"end_lnum": 17,
"lnum": 16
"end_lnum": 23,
"lnum": 22
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 19,
"end_lnum": 25,
"kind": "Method",
"level": 1,
"lnum": 18,
"lnum": 24,
"name": "after",
"selection_range": {
"col": 2,
"end_col": 5,
"end_lnum": 19,
"lnum": 18
"end_lnum": 25,
"lnum": 24
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 21,
"end_lnum": 27,
"kind": "Method",
"level": 1,
"lnum": 20,
"lnum": 26,
"name": "it should describe the test",
"selection_range": {
"col": 2,
"end_col": 5,
"end_lnum": 21,
"lnum": 20
"end_lnum": 27,
"lnum": 26
}
}
],
"col": 0,
"end_col": 3,
"end_lnum": 22,
"end_lnum": 28,
"kind": "Method",
"level": 0,
"lnum": 15,
"lnum": 21,
"name": "describe UnitTest",
"selection_range": {
"col": 0,
"end_col": 3,
"end_lnum": 22,
"lnum": 15
"end_lnum": 28,
"lnum": 21
}
},
{
@ -175,123 +190,91 @@
{
"col": 2,
"end_col": 29,
"end_lnum": 25,
"end_lnum": 31,
"kind": "Method",
"level": 1,
"lnum": 25,
"lnum": 31,
"name": "task :simple_task",
"selection_range": {
"col": 2,
"end_col": 29,
"end_lnum": 25,
"lnum": 25
"end_lnum": 31,
"lnum": 31
}
},
{
"col": 2,
"end_col": 43,
"end_lnum": 26,
"end_lnum": 32,
"kind": "Method",
"level": 1,
"lnum": 26,
"lnum": 32,
"name": "task inline_task",
"selection_range": {
"col": 2,
"end_col": 43,
"end_lnum": 26,
"lnum": 26
"end_lnum": 32,
"lnum": 32
}
},
{
"col": 2,
"end_col": 37,
"end_lnum": 27,
"end_lnum": 33,
"kind": "Method",
"level": 1,
"lnum": 27,
"lnum": 33,
"name": "task rake_task",
"selection_range": {
"col": 2,
"end_col": 37,
"end_lnum": 27,
"lnum": 27
"end_lnum": 33,
"lnum": 33
}
},
{
"col": 2,
"end_col": 58,
"end_lnum": 28,
"end_lnum": 34,
"kind": "Method",
"level": 1,
"lnum": 28,
"lnum": 34,
"name": "multitask parallel_prereqs",
"selection_range": {
"col": 2,
"end_col": 58,
"end_lnum": 28,
"lnum": 28
"end_lnum": 34,
"lnum": 34
}
},
{
"col": 2,
"end_col": 30,
"end_lnum": 29,
"end_lnum": 35,
"kind": "Method",
"level": 1,
"lnum": 29,
"lnum": 35,
"name": "file create_file",
"selection_range": {
"col": 2,
"end_col": 30,
"end_lnum": 29,
"lnum": 29
}
}
],
"col": 0,
"end_col": 3,
"end_lnum": 30,
"kind": "Method",
"level": 0,
"lnum": 24,
"name": "namespace rake_namespace",
"selection_range": {
"col": 0,
"end_col": 3,
"end_lnum": 30,
"lnum": 24
}
},
{
"children": [
{
"col": 2,
"end_col": 5,
"end_lnum": 35,
"kind": "Class",
"level": 1,
"lnum": 34,
"name": "Long::Class::Name",
"selection_range": {
"col": 8,
"end_col": 25,
"end_lnum": 34,
"lnum": 34
"end_lnum": 35,
"lnum": 35
}
}
],
"col": 0,
"end_col": 3,
"end_lnum": 36,
"kind": "Module",
"kind": "Method",
"level": 0,
"lnum": 33,
"name": "Long::Mod::Name",
"lnum": 30,
"name": "namespace rake_namespace",
"selection_range": {
"col": 7,
"end_col": 22,
"end_lnum": 33,
"lnum": 33
"col": 0,
"end_col": 3,
"end_lnum": 36,
"lnum": 30
}
},
{
@ -299,48 +282,35 @@
{
"col": 2,
"end_col": 5,
"end_lnum": 40,
"kind": "Method",
"end_lnum": 41,
"kind": "Class",
"level": 1,
"lnum": 39,
"name": "setup",
"lnum": 40,
"name": "Long::Class::Name",
"selection_range": {
"col": 2,
"end_col": 5,
"col": 8,
"end_col": 25,
"end_lnum": 40,
"lnum": 39
"lnum": 40
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 42,
"kind": "Method",
"level": 1,
"lnum": 41,
"name": "teardown",
"selection_range": {
"col": 2,
"end_col": 5,
"end_lnum": 42,
"lnum": 41
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 44,
"kind": "Method",
"level": 1,
"lnum": 43,
"name": "should test something",
"selection_range": {
"col": 2,
"end_col": 5,
"end_lnum": 44,
"lnum": 43
}
},
}
],
"col": 0,
"end_col": 3,
"end_lnum": 42,
"kind": "Module",
"level": 0,
"lnum": 39,
"name": "Long::Mod::Name",
"selection_range": {
"col": 7,
"end_col": 22,
"end_lnum": 39,
"lnum": 39
}
},
{
"children": [
{
"col": 2,
"end_col": 5,
@ -348,7 +318,7 @@
"kind": "Method",
"level": 1,
"lnum": 45,
"name": "should_eventually actually work",
"name": "setup",
"selection_range": {
"col": 2,
"end_col": 5,
@ -358,32 +328,77 @@
},
{
"col": 2,
"end_col": 41,
"end_lnum": 47,
"end_col": 5,
"end_lnum": 48,
"kind": "Method",
"level": 1,
"lnum": 47,
"name": "teardown",
"selection_range": {
"col": 2,
"end_col": 5,
"end_lnum": 48,
"lnum": 47
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 50,
"kind": "Method",
"level": 1,
"lnum": 49,
"name": "should test something",
"selection_range": {
"col": 2,
"end_col": 5,
"end_lnum": 50,
"lnum": 49
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 52,
"kind": "Method",
"level": 1,
"lnum": 51,
"name": "should_eventually actually work",
"selection_range": {
"col": 2,
"end_col": 5,
"end_lnum": 52,
"lnum": 51
}
},
{
"col": 2,
"end_col": 41,
"end_lnum": 53,
"kind": "Method",
"level": 1,
"lnum": 53,
"name": "should_not validate_presence_of(:title)",
"selection_range": {
"col": 2,
"end_col": 41,
"end_lnum": 47,
"lnum": 47
"end_lnum": 53,
"lnum": 53
}
}
],
"col": 0,
"end_col": 3,
"end_lnum": 48,
"end_lnum": 54,
"kind": "Method",
"level": 0,
"lnum": 38,
"lnum": 44,
"name": "context Shoulda Context",
"selection_range": {
"col": 0,
"end_col": 3,
"end_lnum": 48,
"lnum": 38
"end_lnum": 54,
"lnum": 44
}
},
{
@ -391,48 +406,32 @@
{
"col": 10,
"end_col": 5,
"end_lnum": 52,
"end_lnum": 58,
"kind": "Method",
"level": 1,
"lnum": 51,
"lnum": 57,
"name": "inline_private",
"scope": "private",
"selection_range": {
"col": 14,
"end_col": 28,
"end_lnum": 51,
"lnum": 51
"end_lnum": 57,
"lnum": 57
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 55,
"end_lnum": 61,
"kind": "Method",
"level": 1,
"lnum": 54,
"lnum": 60,
"name": "public_1",
"selection_range": {
"col": 6,
"end_col": 14,
"end_lnum": 54,
"lnum": 54
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 59,
"kind": "Method",
"level": 1,
"lnum": 58,
"name": "private_1",
"scope": "private",
"selection_range": {
"col": 6,
"end_col": 15,
"end_lnum": 58,
"lnum": 58
"end_lnum": 60,
"lnum": 60
}
},
{
@ -442,11 +441,11 @@
"kind": "Method",
"level": 1,
"lnum": 64,
"name": "protected_1",
"scope": "protected",
"name": "private_1",
"scope": "private",
"selection_range": {
"col": 6,
"end_col": 17,
"end_col": 15,
"end_lnum": 64,
"lnum": 64
}
@ -454,48 +453,32 @@
{
"col": 2,
"end_col": 5,
"end_lnum": 70,
"kind": "Class",
"end_lnum": 71,
"kind": "Method",
"level": 1,
"lnum": 69,
"name": "DoNotBreakScope",
"lnum": 70,
"name": "protected_1",
"scope": "protected",
"selection_range": {
"col": 8,
"end_col": 23,
"end_lnum": 69,
"lnum": 69
"col": 6,
"end_col": 17,
"end_lnum": 70,
"lnum": 70
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 74,
"kind": "Method",
"end_lnum": 76,
"kind": "Class",
"level": 1,
"lnum": 73,
"name": "protected_2",
"scope": "protected",
"lnum": 75,
"name": "DoNotBreakScope",
"selection_range": {
"col": 6,
"end_col": 17,
"end_lnum": 73,
"lnum": 73
}
},
{
"col": 9,
"end_col": 5,
"end_lnum": 77,
"kind": "Method",
"level": 1,
"lnum": 76,
"name": "inline_public",
"scope": "public",
"selection_range": {
"col": 13,
"end_col": 26,
"end_lnum": 76,
"lnum": 76
"col": 8,
"end_col": 23,
"end_lnum": 75,
"lnum": 75
}
},
{
@ -505,7 +488,7 @@
"kind": "Method",
"level": 1,
"lnum": 79,
"name": "protected_3",
"name": "protected_2",
"scope": "protected",
"selection_range": {
"col": 6,
@ -515,66 +498,98 @@
}
},
{
"col": 2,
"col": 9,
"end_col": 5,
"end_lnum": 84,
"end_lnum": 83,
"kind": "Method",
"level": 1,
"lnum": 83,
"lnum": 82,
"name": "inline_public",
"scope": "public",
"selection_range": {
"col": 13,
"end_col": 26,
"end_lnum": 82,
"lnum": 82
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 86,
"kind": "Method",
"level": 1,
"lnum": 85,
"name": "protected_3",
"scope": "protected",
"selection_range": {
"col": 6,
"end_col": 17,
"end_lnum": 85,
"lnum": 85
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 90,
"kind": "Method",
"level": 1,
"lnum": 89,
"name": "public_2",
"scope": "public",
"selection_range": {
"col": 6,
"end_col": 14,
"end_lnum": 83,
"lnum": 83
"end_lnum": 89,
"lnum": 89
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 87,
"end_lnum": 93,
"kind": "Method",
"level": 1,
"lnum": 86,
"lnum": 92,
"name": "public_setter=",
"scope": "public",
"selection_range": {
"col": 6,
"end_col": 20,
"end_lnum": 86,
"lnum": 86
"end_lnum": 92,
"lnum": 92
}
},
{
"col": 2,
"end_col": 5,
"end_lnum": 91,
"end_lnum": 97,
"kind": "Method",
"level": 1,
"lnum": 90,
"lnum": 96,
"name": "private_setter=",
"scope": "private",
"selection_range": {
"col": 6,
"end_col": 21,
"end_lnum": 90,
"lnum": 90
"end_lnum": 96,
"lnum": 96
}
}
],
"col": 0,
"end_col": 3,
"end_lnum": 92,
"end_lnum": 98,
"kind": "Class",
"level": 0,
"lnum": 50,
"lnum": 56,
"name": "Privateers",
"selection_range": {
"col": 6,
"end_col": 16,
"end_lnum": 50,
"lnum": 50
"end_lnum": 56,
"lnum": 56
}
}
]

View file

@ -3,7 +3,13 @@ module Mod
def meth_1() end
end
def meth_2() end
call_some_function
def self.meth_2
end
def meth_3
end
def name=(value) end