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 name: (_) @name
(#set! "kind" "Method")) @symbol) (#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 (singleton_method
object: [ object: [
(constant) (constant)

View file

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

View file

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