Skip to content

Commit fa6b83f

Browse files
committed
Fix for #195. Add support for lambda expressions.
This also fixes places where the language server incorrectly detects single `>` chars on a line as mismatched braces.
1 parent bc53099 commit fa6b83f

File tree

2 files changed

+43
-5
lines changed

2 files changed

+43
-5
lines changed

grammars/Kotlin.tmLanguage.json

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,9 @@
116116
{
117117
"include": "#character"
118118
},
119+
{
120+
"include": "#lambda-expression"
121+
},
119122
{
120123
"include": "#operators"
121124
},
@@ -522,13 +525,49 @@
522525
"match": "\\bnull\\b",
523526
"name": "constant.language.null.kotlin"
524527
},
528+
"lambda-expression": {
529+
"match": "->",
530+
"name": "storage.type.function.arrow.kotlin"
531+
},
525532
"operators": {
526-
"match": "<=|>=|===|==|=>|=|\\!==|\\!=|\\+=|\\+\\+|\\+|-=|--|-|\\*=|\\*|/=|/|%=|%|!|\\&\\&|\\&|\\|\\||\\|..",
527-
"name": "keyword.operator.kotlin"
533+
"patterns": [
534+
{
535+
"match": "(===?|\\!==?|<=|>=|<|>)",
536+
"name": "keyword.operator.comparison.kotlin"
537+
},
538+
{
539+
"match": "([+*/%-]=)",
540+
"name": "keyword.operator.assignment.arithmetic.kotlin"
541+
},
542+
{
543+
"match": "(=)",
544+
"name": "keyword.operator.assignment.kotlin"
545+
},
546+
{
547+
"match": "([+*/%-])",
548+
"name": "keyword.operator.arithmetic.kotlin"
549+
},
550+
{
551+
"match": "(!|&&|\\|\\|)",
552+
"name": "keyword.operator.logical.kotlin"
553+
},
554+
{
555+
"match": "(\\||&)",
556+
"name": "keyword.operator.bitwise.kotlin"
557+
},
558+
{
559+
"match": "(--|\\+\\+)",
560+
"name": "keyword.operator.increment-decrement.kotlin"
561+
},
562+
{
563+
"match": "(\\.\\.)",
564+
"name": "keyword.operator.range.kotlin"
565+
}
566+
]
528567
},
529568
"self-reference": {
530569
"match": "\\b(this|super)(@\\w+)?\\b",
531570
"name": "variable.language.this.kotlin"
532571
}
533572
}
534-
}
573+
}

grammars/kotlin.configuration.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
"brackets": [
77
["{", "}"],
88
["[", "]"],
9-
["(", ")"],
10-
["<", ">"]
9+
["(", ")"]
1110
],
1211
"autoClosingPairs": [
1312
{ "open": "{", "close": "}" },

0 commit comments

Comments
 (0)