nishtahir / language-kotlin

Textmate language grammar for the Kotlin programming language
Apache License 2.0
12 stars 6 forks source link

Double slash is detected as comment #59

Closed T3sT3ro closed 1 year ago

T3sT3ro commented 2 years ago

I am writing the same ticket for the third time, so I will just indulge myself and just post a link to the original issue in the liguist's repo: https://github.com/github/linguist/issues/5757

Basically highlighting for the rest of the line breaks when there is a double slash in the quoted string -- simplest example is to paste a URL in the string.

nishtahir commented 2 years ago

Looks like the scope for the string is not being picked up correctly

This test input

class Test: SuperClass("https://github.com/nishtahir/language-kotlin/issues/59") {
    private val variableName = Instance()
}

produces these scopes

>class Test: SuperClass("https://github.com/nishtahir/language-kotlin/issues/59") {
#^^^^^ source.kotlin meta.class.kotlin storage.modifier.kotlin
#     ^ source.kotlin meta.class.kotlin
#      ^^^^ source.kotlin meta.class.kotlin entity.name.class.kotlin
#          ^^ source.kotlin meta.class.kotlin
#            ^^^^^^^^^^ source.kotlin meta.class.kotlin entity.name.type.class.kotlin
#                      ^ source.kotlin meta.class.kotlin meta.parameters.kotlin punctuation.section.group.begin.kotlin punctuation.definition.parameters.begin.kotlin
#                       ^ source.kotlin meta.class.kotlin meta.parameters.kotlin
#                        ^^^^^ source.kotlin meta.class.kotlin meta.parameters.kotlin variable.parameter.function.kotlin
#                             ^ source.kotlin meta.class.kotlin meta.parameters.kotlin keyword.operator.declaration.kotlin
#                              ^^ source.kotlin meta.class.kotlin meta.parameters.kotlin punctuation.definition.comment.kotlin comment.line.double-slash.kotlin
#                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.kotlin meta.class.kotlin meta.parameters.kotlin punctuation.definition.comment.kotlin
>    private val variableName = Instance()
#^^^^ source.kotlin meta.class.kotlin meta.parameters.kotlin
#    ^^^^^^^ source.kotlin meta.class.kotlin meta.parameters.kotlin storage.modifier.kotlin
#           ^ source.kotlin meta.class.kotlin meta.parameters.kotlin
#            ^^^ source.kotlin meta.class.kotlin meta.parameters.kotlin storage.type.kotlin
#               ^^^^^^^^^^^^^^^^ source.kotlin meta.class.kotlin meta.parameters.kotlin
#                               ^^^^^^^^ source.kotlin meta.class.kotlin meta.parameters.kotlin entity.name.type.class.kotlin
#                                       ^ source.kotlin meta.class.kotlin meta.parameters.kotlin punctuation.section.group.begin.kotlin
#                                        ^ source.kotlin meta.class.kotlin meta.parameters.kotlin punctuation.section.group.end.kotlin
>}
#^^ source.kotlin meta.class.kotlin meta.parameters.kotlin