Add tags.scm for Kotlin

This commit is contained in:
Paul Walker 2025-01-17 19:33:40 -05:00
parent 6451d59deb
commit 293c350fb7
3 changed files with 44 additions and 0 deletions

View file

@ -0,0 +1,27 @@
; Definitions
(class_declaration
(type_identifier) @name.definition.class) @definition.class
(function_declaration
(simple_identifier) @name.definition.function) @definition.function
(object_declaration
(type_identifier) @name.definition.object) @definition.object
; References
(call_expression
[
(simple_identifier) @name.reference.call
(navigation_expression
(navigation_suffix
(simple_identifier) @name.reference.call))
]) @reference.call
(delegation_specifier
[
(user_type) @name.reference.type
(constructor_invocation
(user_type) @name.reference.type)
]) @reference.type

View file

@ -290,6 +290,7 @@ class TestRepoMapAllLanguages(unittest.TestCase):
"elixir": ("ex", "Greeter"),
"java": ("java", "Greeting"),
"javascript": ("js", "Person"),
"kotlin": ("kt", "Greeting"),
"ocaml": ("ml", "Greeter"),
"php": ("php", "greet"),
"python": ("py", "Person"),

16
tests/fixtures/languages/kotlin/test.kt vendored Normal file
View file

@ -0,0 +1,16 @@
interface Greeting {
fun greet(name: String): String
}
class Test : Greeting {
private val prefix = "Hello"
override fun greet(name: String): String {
return "$prefix, $name!"
}
}
fun main(args: Array<String>) {
val greeter = Test()
println(greeter.greet("World"))
}