From f627c582650eb31f096b3454c97d039ea8981176 Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Sat, 11 May 2019 18:04:32 -0400 Subject: [PATCH 01/16] add operator matching for vscode --- utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage | 2 ++ utils/vscode-kitlang/syntaxes/kit.tmLanguage | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 3d0aad9..9d3f9e2 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -12,6 +12,8 @@ patterns: name: keyword.other.kit - match: \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b name: storage.type.kit +- match: (=|==|<=|>=|!=|-|\+|--|\+\+|\*|\||>|<|<<|>>|&)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + name: keyword.operator.kit - name: keyword.control.arrow.kit match: =\> diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index 94fdc8f..0a412d3 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -38,6 +38,12 @@ name storage.type.kit + + match + (=|==|<=|>=|!=|-|\+|--|\+\+|\*|\||>|<|<<|>>|&)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + name + keyword.operator.kit + name keyword.control.arrow.kit From ef9cf1aefd0ab35e920809c17f798117fa85d4e4 Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Sun, 12 May 2019 01:25:08 -0400 Subject: [PATCH 02/16] add function matching and separate logical operators --- utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage | 6 +++++- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 14 +++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 9d3f9e2..4af0898 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -12,8 +12,10 @@ patterns: name: keyword.other.kit - match: \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b name: storage.type.kit -- match: (=|==|<=|>=|!=|-|\+|--|\+\+|\*|\||>|<|<<|>>|&)|(\.{3})|((?<=[^\.])\.(?=[^\.])) +- match: (=|-|\+|--|\+\+|\*|<<|>>)|(\.{3})|((?<=[^\.])\.(?=[^\.])) name: keyword.operator.kit +- match: ==|<=|>=|!=|>|<|\||& + name: keyword.operator.logical.kit - name: keyword.control.arrow.kit match: =\> @@ -58,5 +60,7 @@ patterns: begin: '\#\[' end: '\]' +- name: variable.function.kit + match: \b[a-z_][A-Za-z0-9_]*(?=\()\b - name: variable.parameter.kit match: \b[a-z_][A-Za-z0-9_]*\b diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index 0a412d3..eb61abc 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -40,10 +40,16 @@ match - (=|==|<=|>=|!=|-|\+|--|\+\+|\*|\||>|<|<<|>>|&)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + (=|-|\+|--|\+\+|\*|<<|>>)|(\.{3})|((?<=[^\.])\.(?=[^\.])) name keyword.operator.kit + + match + ==|<=|>=|!=|>|<|\||& + name + keyword.operator.logical.kit + name keyword.control.arrow.kit @@ -149,6 +155,12 @@ end \] + + name + variable.function.kit + match + \b[a-z_][A-Za-z0-9_]*(?=\()\b + name variable.parameter.kit From 40b506191af6600a51dc04daba693a0c4aef8fc6 Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Sun, 12 May 2019 02:55:17 -0400 Subject: [PATCH 03/16] reorder =>, kw.operator, and kw.operator.logical to match correctly also reordered name and match in a few patterns so that they are all name followed by match --- .../syntaxes/kit.YAML-tmLanguage | 30 ++++++++-------- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 36 +++++++++++-------- 2 files changed, 37 insertions(+), 29 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 4af0898..0a5b266 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -4,21 +4,21 @@ scopeName: source.kit uuid: 4fc8848b-af63-4ac5-850f-8e6b00a45004 patterns: -- match: \b(import|include|function|implement|specialize|var|using)\b - name: keyword.control.kit -- match: \b(private|public|static|const|inline)\b - name: storage.modifier.kit -- match: \b(return|throw|for|as|in|if|then|else|do|while|match|default|unsafe|implicit|sizeof)\b - name: keyword.other.kit -- match: \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b - name: storage.type.kit -- match: (=|-|\+|--|\+\+|\*|<<|>>)|(\.{3})|((?<=[^\.])\.(?=[^\.])) - name: keyword.operator.kit -- match: ==|<=|>=|!=|>|<|\||& - name: keyword.operator.logical.kit - +- name: keyword.control.kit + match: \b(import|include|function|implement|specialize|var|using)\b +- name: storage.modifier.kit + match: \b(private|public|static|const|inline)\b +- name: keyword.other.kit + match: \b(return|throw|for|as|in|if|then|else|do|while|match|default|unsafe|implicit|sizeof)\b +- name: storage.type.kit + match: \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b - name: keyword.control.arrow.kit match: =\> +- name: keyword.operator.logical.kit + match: ==|<=|>=|!=|>|<|\||& +- name: keyword.operator.kit + match: (=|-|\+|--|\+\+|\*|<<|>>)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + - name: support.type.kit match: '\b[A-Z][a-zA-Z0-9_]*\b' @@ -45,7 +45,9 @@ patterns: - name: string.quoted.double.kit match: '"(\.|[^"])*"' - name: string.quoted.single.kit - match: '''(\.|[^\''])*''' + match: ''(\.|[^\'])*'' +- name: constant.character.escape + match: (\\[abefnrtv\\\'\"?])|(\\[01234567]{1,3})|(\\x[0123456789aAbBcCdDeEfF]{2})|(\\u[0123456789aAbBcCdDeEfF]{4})|(\\U[0123456789aAbBcCdDeEfF]{8}) - name: comment.line.double-slash.kit match: "(//).*$\n?" diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index eb61abc..61ff1a2 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -15,46 +15,46 @@ patterns - match - \b(import|include|function|implement|specialize|var|using)\b name keyword.control.kit + match + \b(import|include|function|implement|specialize|var|using)\b - match - \b(private|public|static|const|inline)\b name storage.modifier.kit + match + \b(private|public|static|const|inline)\b - match - \b(return|throw|for|as|in|if|then|else|do|while|match|default|unsafe|implicit|sizeof)\b name keyword.other.kit + match + \b(return|throw|for|as|in|if|then|else|do|while|match|default|unsafe|implicit|sizeof)\b - match - \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b name storage.type.kit + match + \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b - match - (=|-|\+|--|\+\+|\*|<<|>>)|(\.{3})|((?<=[^\.])\.(?=[^\.])) name - keyword.operator.kit + keyword.control.arrow.kit + match + => - match - ==|<=|>=|!=|>|<|\||& name keyword.operator.logical.kit + match + ==|<=|>=|!=|>|<|\||& name - keyword.control.arrow.kit + keyword.operator.kit match - =\> + (=|-|\+|--|\+\+|\*|<<|>>)|(\.{3})|((?<=[^\.])\.(?=[^\.])) name @@ -126,6 +126,12 @@ match '(\.|[^\'])*' + + name + constant.character.escape + match + (\\[abefnrtv\\\'\"?])|(\\[01234567]{1,3})|(\\x[0123456789aAbBcCdDeEfF]{2})|(\\u[0123456789aAbBcCdDeEfF]{4})|(\\U[0123456789aAbBcCdDeEfF]{8}) + name comment.line.double-slash.kit From cfa2d7d5615c3e8e7cb2ecb334b0a85b488537c0 Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Wed, 15 May 2019 21:59:40 -0400 Subject: [PATCH 04/16] fix: `<<=` was highlighted as a logical operator also added `%` --- utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage | 4 +++- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 0a5b266..66f79dc 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -14,10 +14,12 @@ patterns: match: \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b - name: keyword.control.arrow.kit match: =\> +- name: keyword.operator.kit + match: <<=|>>= - name: keyword.operator.logical.kit match: ==|<=|>=|!=|>|<|\||& - name: keyword.operator.kit - match: (=|-|\+|--|\+\+|\*|<<|>>)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + match: (=|-|\+|--|\+\+|\*|<<|>>|%)|(\.{3})|((?<=[^\.])\.(?=[^\.])) - name: support.type.kit diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index 61ff1a2..e47d59d 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -44,6 +44,12 @@ match => + + name + keyword.operator.kit + match + <<=|>>= + name keyword.operator.logical.kit @@ -54,7 +60,7 @@ name keyword.operator.kit match - (=|-|\+|--|\+\+|\*|<<|>>)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + (=|-|\+|--|\+\+|\*|<<|>>|%)|(\.{3})|((?<=[^\.])\.(?=[^\.])) name From d1b8418b46bd69595753aed84a0577287fb7fec0 Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Thu, 16 May 2019 11:26:36 -0400 Subject: [PATCH 05/16] fixed and/or, added bitwise operators i had missed --- utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage | 4 ++-- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 66f79dc..9090113 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -17,9 +17,9 @@ patterns: - name: keyword.operator.kit match: <<=|>>= - name: keyword.operator.logical.kit - match: ==|<=|>=|!=|>|<|\||& + match: ==|<=|>=|!=|>|<|\|\||&&|! - name: keyword.operator.kit - match: (=|-|\+|--|\+\+|\*|<<|>>|%)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + match: (=|-|\+|--|\+\+|\*|<<|>>|%|&|\^|\||\~)|(\.{3})|((?<=[^\.])\.(?=[^\.])) - name: support.type.kit diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index e47d59d..c32362d 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -54,13 +54,13 @@ name keyword.operator.logical.kit match - ==|<=|>=|!=|>|<|\||& + ==|<=|>=|!=|>|<|\|\||&&|! name keyword.operator.kit match - (=|-|\+|--|\+\+|\*|<<|>>|%)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + (=|-|\+|--|\+\+|\*|<<|>>|%|&|\^|\||\~)|(\.{3})|((?<=[^\.])\.(?=[^\.])) name From c92adfb563b9be85b581a786ce1dd3f9369a5fb9 Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Thu, 16 May 2019 15:43:57 -0400 Subject: [PATCH 06/16] re-add highlighting for /, fix match scope for << and >> --- utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage | 4 ++-- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 9090113..46e36b1 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -15,11 +15,11 @@ patterns: - name: keyword.control.arrow.kit match: =\> - name: keyword.operator.kit - match: <<=|>>= + match: <<=|>>=|<<|>> - name: keyword.operator.logical.kit match: ==|<=|>=|!=|>|<|\|\||&&|! - name: keyword.operator.kit - match: (=|-|\+|--|\+\+|\*|<<|>>|%|&|\^|\||\~)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + match: (=|-|\+|--|\+\+|\*|%|&|\^|\||\~|\/)|(\.{3})|((?<=[^\.])\.(?=[^\.])) - name: support.type.kit diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index c32362d..391cd69 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -48,7 +48,7 @@ name keyword.operator.kit match - <<=|>>= + <<=|>>=|<<|>> name @@ -60,7 +60,7 @@ name keyword.operator.kit match - (=|-|\+|--|\+\+|\*|<<|>>|%|&|\^|\||\~)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + (=|-|\+|--|\+\+|\*|%|&|\^|\||\~|\/)|(\.{3})|((?<=[^\.])\.(?=[^\.])) name From 98a9f2eed23a46b1624930d6b45df3362a748c3f Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Thu, 16 May 2019 15:51:43 -0400 Subject: [PATCH 07/16] make sure // comments don't highlight like operators also removed character escape matching that didn't seem to work because I had not intended to commit it previously --- .../syntaxes/kit.YAML-tmLanguage | 15 ++++---- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 36 ++++++++----------- 2 files changed, 22 insertions(+), 29 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 46e36b1..3664175 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -12,6 +12,13 @@ patterns: match: \b(return|throw|for|as|in|if|then|else|do|while|match|default|unsafe|implicit|sizeof)\b - name: storage.type.kit match: \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b + +- name: comment.line.double-slash.kit + match: "(//).*$\n?" +- name: comment.block.kit + begin: '/\*' + end: '\*/' + - name: keyword.control.arrow.kit match: =\> - name: keyword.operator.kit @@ -48,14 +55,6 @@ patterns: match: '"(\.|[^"])*"' - name: string.quoted.single.kit match: ''(\.|[^\'])*'' -- name: constant.character.escape - match: (\\[abefnrtv\\\'\"?])|(\\[01234567]{1,3})|(\\x[0123456789aAbBcCdDeEfF]{2})|(\\u[0123456789aAbBcCdDeEfF]{4})|(\\U[0123456789aAbBcCdDeEfF]{8}) - -- name: comment.line.double-slash.kit - match: "(//).*$\n?" -- name: comment.block.kit - begin: '/\*' - end: '\*/' - name: constant.language.kit match: \b(true|false|null)\b diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index 391cd69..df504f5 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -38,6 +38,21 @@ match \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b + + name + comment.line.double-slash.kit + match + (//).*$ +? + + + name + comment.block.kit + begin + /\* + end + \*/ + name keyword.control.arrow.kit @@ -132,27 +147,6 @@ match '(\.|[^\'])*' - - name - constant.character.escape - match - (\\[abefnrtv\\\'\"?])|(\\[01234567]{1,3})|(\\x[0123456789aAbBcCdDeEfF]{2})|(\\u[0123456789aAbBcCdDeEfF]{4})|(\\U[0123456789aAbBcCdDeEfF]{8}) - - - name - comment.line.double-slash.kit - match - (//).*$ -? - - - name - comment.block.kit - begin - /\* - end - \*/ - name constant.language.kit From c7cb24731ac0256ad238621a6b7492301e4c482f Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Fri, 17 May 2019 00:18:33 -0400 Subject: [PATCH 08/16] add highlighting for inline c code --- utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage | 4 +++- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 3664175..7ec16fa 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -28,7 +28,6 @@ patterns: - name: keyword.operator.kit match: (=|-|\+|--|\+\+|\*|%|&|\^|\||\~|\/)|(\.{3})|((?<=[^\.])\.(?=[^\.])) - - name: support.type.kit match: '\b[A-Z][a-zA-Z0-9_]*\b' - name: variable.language.kit @@ -59,6 +58,9 @@ patterns: - name: constant.language.kit match: \b(true|false|null)\b +- name: keyword.operator.expression + match: (```( )*:(?=( )*\b[A-Z][a-zA-Z0-9_]*\b( )*;))|(```) + - name: markup.heading.metadata.kit begin: '\#\[' end: '\]' diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index df504f5..8710edd 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -153,6 +153,12 @@ match \b(true|false|null)\b + + name + keyword.operator.expression + match + (```( )*:(?=( )*\b[A-Z][a-zA-Z0-9_]*\b( )*;))|(```) + name markup.heading.metadata.kit From 02d543f48b265861a756f26423c1d43b26fca57c Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Sun, 19 May 2019 01:14:16 -0400 Subject: [PATCH 09/16] reorder type and this/Self to correctly highlight --- utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage | 4 ++-- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 7ec16fa..4f14983 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -28,10 +28,10 @@ patterns: - name: keyword.operator.kit match: (=|-|\+|--|\+\+|\*|%|&|\^|\||\~|\/)|(\.{3})|((?<=[^\.])\.(?=[^\.])) -- name: support.type.kit - match: '\b[A-Z][a-zA-Z0-9_]*\b' - name: variable.language.kit match: \b(this|Self)\b +- name: support.type.kit + match: '\b[A-Z][a-zA-Z0-9_]*\b' - name: invalid.illegal.macro.kit match: '\$[A-Za-z0-9_]+\b' - name: invalid.illegal.macro.kit diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index 8710edd..b36a302 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -79,15 +79,15 @@ name - support.type.kit + variable.language.kit match - \b[A-Z][a-zA-Z0-9_]*\b + \b(this|Self)\b name - variable.language.kit + support.type.kit match - \b(this|Self)\b + \b[A-Z][a-zA-Z0-9_]*\b name From 0fe01673e9b07bd3603048ead0bf8e2db3dbc40c Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Sun, 19 May 2019 14:37:02 -0400 Subject: [PATCH 10/16] add matching for comma, colon, semicolon --- .../syntaxes/kit.YAML-tmLanguage | 8 +++++++- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 20 ++++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 4f14983..dc1e6f5 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -58,8 +58,14 @@ patterns: - name: constant.language.kit match: \b(true|false|null)\b -- name: keyword.operator.expression +- name: keyword.operator.expression.kit match: (```( )*:(?=( )*\b[A-Z][a-zA-Z0-9_]*\b( )*;))|(```) +- name: punctuation.separator.comma.kit + match: , +- name: punctuation.separator.colon.kit + match: : +- name: punctuation.separator.semicolon.kit + match: ; - name: markup.heading.metadata.kit begin: '\#\[' diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index b36a302..6d53bb0 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -155,10 +155,28 @@ name - keyword.operator.expression + keyword.operator.expression.kit match (```( )*:(?=( )*\b[A-Z][a-zA-Z0-9_]*\b( )*;))|(```) + + name + punctuation.separator.comma.kit + match + , + + + name + punctuation.separator.colon.kit + match + : + + + name + punctuation.separator.semicolon.kit + match + ; + name markup.heading.metadata.kit From 87fcedff8e9958ab8f313363aff1a8d4952ed1a5 Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Mon, 24 Jun 2019 17:10:29 -0400 Subject: [PATCH 11/16] update with latest files from https://github.com/AlexPoulsen/kit-vscode --- .../syntaxes/kit.YAML-tmLanguage | 16 +- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 291 ++++++++++++++++-- 2 files changed, 270 insertions(+), 37 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index dc1e6f5..754e54d 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -9,7 +9,7 @@ patterns: - name: storage.modifier.kit match: \b(private|public|static|const|inline)\b - name: keyword.other.kit - match: \b(return|throw|for|as|in|if|then|else|do|while|match|default|unsafe|implicit|sizeof)\b + match: \b(return|throw|for|as|in|if|then|else|do|while|match|default|unsafe|implicit|sizeof|continue|break)\b - name: storage.type.kit match: \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b @@ -26,12 +26,18 @@ patterns: - name: keyword.operator.logical.kit match: ==|<=|>=|!=|>|<|\|\||&&|! - name: keyword.operator.kit - match: (=|-|\+|--|\+\+|\*|%|&|\^|\||\~|\/)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + match: (=|==|<=|>=|!=|-|\+|--|\+\+|\*|\||>|<|<<|>>|&)|((?<=[^\.])\.\.\.(?=[^\.]))|((?<=[^\.])\.(?=[^\.])) - name: variable.language.kit match: \b(this|Self)\b - name: support.type.kit match: '\b[A-Z][a-zA-Z0-9_]*\b' +- name: punctuation.separator.comma.kit + match: , +- name: punctuation.separator.colon.kit + match: : +- name: punctuation.separator.semicolon.kit + match: ; - name: invalid.illegal.macro.kit match: '\$[A-Za-z0-9_]+\b' - name: invalid.illegal.macro.kit @@ -60,12 +66,6 @@ patterns: - name: keyword.operator.expression.kit match: (```( )*:(?=( )*\b[A-Z][a-zA-Z0-9_]*\b( )*;))|(```) -- name: punctuation.separator.comma.kit - match: , -- name: punctuation.separator.colon.kit - match: : -- name: punctuation.separator.semicolon.kit - match: ; - name: markup.heading.metadata.kit begin: '\#\[' diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index 6d53bb0..6b13925 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -14,29 +14,107 @@ 4fc8848b-af63-4ac5-850f-8e6b00a45004 patterns + + captures + + 1 + + name + support.type.function.kit + + 2 + + name + support.type.function.function.kit + + 4 + + name + support.type.function.input.kit + + 5 + + name + support.type.function.input.kit + + 6 + + name + support.type.function.input.kit + + 8 + + name + support.type.function.input.kit + + 9 + + name + support.type.function.input.kit + + 10 + + name + support.type.function.input.kit + + 12 + + name + support.type.function.return.kit + + 13 + + name + support.type.function.return.kit + + 14 + + name + support.type.function.return.kit + + 7 + + name + punctuation.separator.comma.kit + + 11 + + name + keyword.control.arrow.kit + + + match + \b((function *)\((((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)(, ))*((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)\) *(->) *((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)) + name keyword.control.kit match - \b(import|include|function|implement|specialize|var|using)\b + \b(import|include|function|implement|specialize|using|macro|rule|rules|typedef|trait)\b name storage.modifier.kit match - \b(private|public|static|const|inline)\b + \b(private|public|static|inline)\b name keyword.other.kit match - \b(return|throw|for|as|in|if|then|else|do|while|match|default|unsafe|implicit|sizeof)\b + \b(return|throw|for|as|in|if|then|else|do|while|match|default|unsafe|implicit|sizeof|continue|break)\b name storage.type.kit match - \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b + \b(struct|enum|union|abstract|var|const)\b + + + name + comment.line.debug.kit + match + (?:[\t ]*)(?'line'\/\/ printf.*) name @@ -63,19 +141,25 @@ name keyword.operator.kit match - <<=|>>=|<<|>> + (?\!\&\%\~\@\?\:\.])(<<=|>>=|<<|>>)(?![\*\/\+\-\^\=\<\>\!\&\%\~\@\?\:\.]) name keyword.operator.logical.kit match - ==|<=|>=|!=|>|<|\|\||&&|! + (?\!\&\%\~\@\?\:\.])(==|<=|>=|!=|>|<|\|\||&&|!)(?![\*\/\+\-\^\=\<\>\!\&\%\~\@\?\:\.]) name keyword.operator.kit match - (=|-|\+|--|\+\+|\*|%|&|\^|\||\~|\/)|(\.{3})|((?<=[^\.])\.(?=[^\.])) + (?\!\&\%\~\@\?\:\.])((=|-|\+|--|\+\+|\*|%|&|\^|\||\~|\/)|((?<=[^\.])\.\.\.(?=[^\.]))|((?<=[^\.])\.(?=[^\.])))(?![\*\/\+\-\^\=\<\>\!\&\%\~\@\?\:\.]) + + + name + keyword.operator.custom.kit + match + [\*\/\+\-\^\=\<\>\!\&\%\~\@\?\:\.]+ name @@ -87,21 +171,31 @@ name support.type.kit match - \b[A-Z][a-zA-Z0-9_]*\b + \b((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_]*)\b name - invalid.illegal.macro.kit + punctuation.separator.comma.kit match - \$[A-Za-z0-9_]+\b + , name - invalid.illegal.macro.kit - begin - \$\{ - end - \} + punctuation.separator.colon.kit + match + : + + + name + punctuation.separator.semicolon.kit + match + ; + + + name + punctuation.bracket.kit + match + \[|\] name @@ -139,13 +233,19 @@ name string.quoted.double.kit match - "(\.|[^"])*" + "(?:\\"|[^"])*" + + + name + string.character.kit + match + c((\'.\')|(\'\\[abefnrtv\\\'\"?]\')|(\'\\[01234567]{1,3}\')|(\'\\x[0123456789aAbBcCdDeEfF]{2}\')) name string.quoted.single.kit match - '(\.|[^\'])*' + '(?:\\'|[^'])*' name @@ -161,29 +261,29 @@ name - punctuation.separator.comma.kit - match - , + markup.heading.metadata.kit + begin + \#\[ + end + \] name - punctuation.separator.colon.kit + variable.function.print.kit match - : + (\bprintf(?=\()\b)|((? name - punctuation.separator.semicolon.kit + variable.function.constructor.kit match - ; + (?<=\.)\bnew[a-zA-Z0-9_]*(?=\()\b name - markup.heading.metadata.kit - begin - \#\[ - end - \] + variable.function.allocation.kit + match + (? name @@ -197,6 +297,139 @@ match \b[a-z_][A-Za-z0-9_]*\b + + name + meta.preprocessor.rewrite.identifier.kit + match + \$[A-Za-z0-9_]+\b + + + captures + + 1 + + name + meta.preprocessor.rewrite.dollarsign.kit + + 2 + + name + meta.preprocessor.rewrite.variable.kit + + 3 + + name + meta.preprocessor.rewrite.colon.kit + + 5 + + name + meta.preprocessor.rewrite.type.kit + + 6 + + name + meta.preprocessor.rewrite.type.kit + + 7 + + name + meta.preprocessor.rewrite.type.kit + + 8 + + name + meta.preprocessor.rewrite.dollarsign.kit + + 9 + + name + meta.preprocessor.rewrite.dollarsign.kit + + 10 + + name + meta.preprocessor.rewrite.variable.kit + + 11 + + name + meta.preprocessor.rewrite.colon.kit + + 12 + + name + support.type.function.kit + + 14 + + name + support.type.function.function.kit + + 16 + + name + support.type.function.input.kit + + 17 + + name + support.type.function.input.kit + + 18 + + name + support.type.function.input.kit + + 19 + + name + punctuation.separator.comma.kit + + 20 + + name + support.type.function.input.kit + + 21 + + name + support.type.function.input.kit + + 22 + + name + support.type.function.input.kit + + 23 + + name + keyword.control.arrow.kit + + 24 + + name + support.type.function.return.kit + + 25 + + name + support.type.function.return.kit + + 26 + + name + support.type.function.return.kit + + 27 + + name + meta.preprocessor.rewrite.dollarsign.kit + + + match + (\$\{)([a-z_][A-Za-z0-9_]*)(:)( *)((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]\(\)]*)(\})|(\$\{)([a-z_][A-Za-z0-9_]*)(:)( *)((function *)\((((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)(, ))*((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)\) *(->) *((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*))(\}) + From 3619e2ddbc7038b01b8af6fd05cedf63830d8985 Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Wed, 10 Jul 2019 16:25:31 -0400 Subject: [PATCH 12/16] add assignment operators to operator regex otherwise they are highlighted as custom operators --- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 38 ++++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index 6b13925..d7f3d97 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -131,6 +131,24 @@ end \*/ + + name + punctuation.separator.comma.kit + match + , + + + name + punctuation.separator.colon.kit + match + : + + + name + punctuation.separator.semicolon.kit + match + ; + name keyword.control.arrow.kit @@ -153,7 +171,7 @@ name keyword.operator.kit match - (?\!\&\%\~\@\?\:\.])((=|-|\+|--|\+\+|\*|%|&|\^|\||\~|\/)|((?<=[^\.])\.\.\.(?=[^\.]))|((?<=[^\.])\.(?=[^\.])))(?![\*\/\+\-\^\=\<\>\!\&\%\~\@\?\:\.]) + (?\!\&\%\~\@\?\:\.])((=|-|\+|--|\+\+|\*|%|&|\^|\||\~|\/|-=|\+=|\*=|\/=|%=)|((?<=[^\.])\.\.\.(?=[^\.]))|((?<=[^\.])\.(?=[^\.])))(?![\*\/\+\-\^\=\<\>\!\&\%\~\@\?\:\.]) name @@ -173,24 +191,6 @@ match \b((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_]*)\b - - name - punctuation.separator.comma.kit - match - , - - - name - punctuation.separator.colon.kit - match - : - - - name - punctuation.separator.semicolon.kit - match - ; - name punctuation.bracket.kit From 35d26232af144b9a3be4311c5d47f117b5ad8eaa Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Wed, 10 Jul 2019 16:26:53 -0400 Subject: [PATCH 13/16] improve rewrite rule matching a lot changed and i did it weeks ago, i don't remember exactly why it changed --- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 85 +++++++++++++++----- 1 file changed, 63 insertions(+), 22 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.tmLanguage b/utils/vscode-kitlang/syntaxes/kit.tmLanguage index d7f3d97..cfecd3c 100644 --- a/utils/vscode-kitlang/syntaxes/kit.tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.tmLanguage @@ -267,6 +267,12 @@ end \] + + name + variable.function.main.kit + match + ((?<=function )\bmain(?=\()\b) + name variable.function.print.kit @@ -321,114 +327,149 @@ name meta.preprocessor.rewrite.colon.kit - 5 + 6 name meta.preprocessor.rewrite.type.kit - 6 + 7 name meta.preprocessor.rewrite.type.kit - 7 + 8 name meta.preprocessor.rewrite.type.kit - 8 + 9 + + name + punctuation.separator.comma.kit + + 10 + + name + meta.preprocessor.rewrite.type.kit + + 11 + + name + meta.preprocessor.rewrite.type.kit + + 12 + + name + meta.preprocessor.rewrite.type.kit + + 14 + + name + meta.preprocessor.rewrite.type.kit + + 15 + + name + meta.preprocessor.rewrite.type.kit + + 16 + + name + meta.preprocessor.rewrite.type.kit + + 17 name meta.preprocessor.rewrite.dollarsign.kit - 9 + 18 name meta.preprocessor.rewrite.dollarsign.kit - 10 + 19 name meta.preprocessor.rewrite.variable.kit - 11 + 20 name meta.preprocessor.rewrite.colon.kit - 12 + 21 name support.type.function.kit - 14 + 23 name support.type.function.function.kit - 16 + 25 name support.type.function.input.kit - 17 + 26 name support.type.function.input.kit - 18 + 27 name support.type.function.input.kit - 19 + 28 name punctuation.separator.comma.kit - 20 + 29 name support.type.function.input.kit - 21 + 30 name support.type.function.input.kit - 22 + 31 name support.type.function.input.kit - 23 + 32 name keyword.control.arrow.kit - 24 + 33 name support.type.function.return.kit - 25 + 34 name support.type.function.return.kit - 26 + 35 name support.type.function.return.kit - 27 + 36 name meta.preprocessor.rewrite.dollarsign.kit match - (\$\{)([a-z_][A-Za-z0-9_]*)(:)( *)((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]\(\)]*)(\})|(\$\{)([a-z_][A-Za-z0-9_]*)(:)( *)((function *)\((((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)(, ))*((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)\) *(->) *((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*))(\}) + (\$\{)([a-z_][A-Za-z0-9_]*)(:)( *)(\((((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)(, ))*((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)\)|((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*))(\})|(\$\{)([a-z_][A-Za-z0-9_]*)(:)( *)((function *)\((((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)(, ))*((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)\) *(->) *((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*))(\}) From 8c6d87b61b7120adcce89f5c2665c9e7a3c57f4b Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Wed, 10 Jul 2019 16:27:22 -0400 Subject: [PATCH 14/16] copy over changes from .tmLanguage to .YAML-tmLanguage --- .../syntaxes/kit.YAML-tmLanguage | 173 ++++++++++++++---- 1 file changed, 134 insertions(+), 39 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 754e54d..f0358df 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -1,77 +1,172 @@ -fileTypes: ["kit"] +fileTypes: [kit] name: Kit scopeName: source.kit uuid: 4fc8848b-af63-4ac5-850f-8e6b00a45004 - patterns: +- captures: + '1': + name: support.type.function.kit + '2': + name: support.type.function.function.kit + '4': + name: support.type.function.input.kit + '5': + name: support.type.function.input.kit + '6': + name: support.type.function.input.kit + '7': + name: punctuation.separator.comma.kit + '8': + name: support.type.function.input.kit + '9': + name: support.type.function.input.kit + '10': + name: support.type.function.input.kit + '11': + name: keyword.control.arrow.kit + '12': + name: support.type.function.return.kit + '13': + name: support.type.function.return.kit + '14': + name: support.type.function.return.kit + match: '\b((function *)\((((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)(, ))*((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*)\) *(->) *((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*))' - name: keyword.control.kit - match: \b(import|include|function|implement|specialize|var|using)\b + match: \b(import|include|function|implement|specialize|using|macro|rule|rules|typedef|trait)\b - name: storage.modifier.kit - match: \b(private|public|static|const|inline)\b + match: \b(private|public|static|inline)\b - name: keyword.other.kit match: \b(return|throw|for|as|in|if|then|else|do|while|match|default|unsafe|implicit|sizeof|continue|break)\b - name: storage.type.kit - match: \b(struct|enum|union|abstract|rule|rules|typedef|trait)\b - + match: \b(struct|enum|union|abstract|var|const)\b +- name: comment.line.debug.kit + match: '(?:[\t ]*)(?''line''\/\/ printf.*)' - name: comment.line.double-slash.kit match: "(//).*$\n?" - name: comment.block.kit begin: '/\*' end: '\*/' - +- name: punctuation.separator.comma.kit + match: ',' +- name: punctuation.separator.colon.kit + match: ':' +- name: punctuation.separator.semicolon.kit + match: ; - name: keyword.control.arrow.kit - match: =\> + match: '=>' - name: keyword.operator.kit - match: <<=|>>=|<<|>> + match: '(?\!\&\%\~\@\?\:\.])(<<=|>>=|<<|>>)(?![\*\/\+\-\^\=\<\>\!\&\%\~\@\?\:\.])' - name: keyword.operator.logical.kit - match: ==|<=|>=|!=|>|<|\|\||&&|! + match: '(?\!\&\%\~\@\?\:\.])(==|<=|>=|!=|>|<|\|\||&&|!)(?![\*\/\+\-\^\=\<\>\!\&\%\~\@\?\:\.])' - name: keyword.operator.kit - match: (=|==|<=|>=|!=|-|\+|--|\+\+|\*|\||>|<|<<|>>|&)|((?<=[^\.])\.\.\.(?=[^\.]))|((?<=[^\.])\.(?=[^\.])) - + match: '(?\!\&\%\~\@\?\:\.])((=|-|\+|--|\+\+|\*|%|&|\^|\||\~|\/|-=|\+=|\*=|\/=|%=)|((?<=[^\.])\.\.\.(?=[^\.]))|((?<=[^\.])\.(?=[^\.])))(?![\*\/\+\-\^\=\<\>\!\&\%\~\@\?\:\.])' +- name: keyword.operator.custom.kit + match: '[\*\/\+\-\^\=\<\>\!\&\%\~\@\?\:\.]+' - name: variable.language.kit match: \b(this|Self)\b - name: support.type.kit - match: '\b[A-Z][a-zA-Z0-9_]*\b' -- name: punctuation.separator.comma.kit - match: , -- name: punctuation.separator.colon.kit - match: : -- name: punctuation.separator.semicolon.kit - match: ; -- name: invalid.illegal.macro.kit - match: '\$[A-Za-z0-9_]+\b' -- name: invalid.illegal.macro.kit - begin: '\$\{' - end: '\}' - + match: '\b((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_]*)\b' +- name: punctuation.bracket.kit + match: '\[|\]' - name: constant.numeric.decimal.kit - match: \b-?[0-9]+(\.[0-9]+)?(_([ui](8|16|32|64)|f(32|64)))?\b + match: '\b-?[0-9]+(\.[0-9]+)?(_([ui](8|16|32|64)|f(32|64)))?\b' - name: constant.numeric.octal.kit - match: \b-?0o[0-7]+(_([ui](8|16|32|64)|f(32|64)))?\b + match: '\b-?0o[0-7]+(_([ui](8|16|32|64)|f(32|64)))?\b' - name: constant.numeric.hex.kit - match: \b-?0x[0-9a-f]+(_([ui](8|16|32|64)|f(32|64)))?\b + match: '\b-?0x[0-9a-f]+(_([ui](8|16|32|64)|f(32|64)))?\b' - name: constant.numeric.bin.kit - match: \b-?0b[01]+(_([ui](8|16|32|64)|f(32|64)))?\b - + match: '\b-?0b[01]+(_([ui](8|16|32|64)|f(32|64)))?\b' - name: string.quoted.block.kit begin: '"""' end: '"""' - name: string.quoted.double.kit - match: '"(\.|[^"])*"' + match: '"(?:\\"|[^"])*"' +- name: string.character.kit + match: 'c((\''.\'')|(\''\\[abefnrtv\\\''\"?]\'')|(\''\\[01234567]{1,3}\'')|(\''\\x[0123456789aAbBcCdDeEfF]{2}\''))' - name: string.quoted.single.kit - match: ''(\.|[^\'])*'' - + match: '''(?:\\''|[^''])*''' - name: constant.language.kit match: \b(true|false|null)\b - - name: keyword.operator.expression.kit - match: (```( )*:(?=( )*\b[A-Z][a-zA-Z0-9_]*\b( )*;))|(```) - + match: '(```( )*:(?=( )*\b[A-Z][a-zA-Z0-9_]*\b( )*;))|(```)' - name: markup.heading.metadata.kit begin: '\#\[' end: '\]' - +- name: variable.function.main.kit + match: '((?<=function )\bmain(?=\()\b)' +- name: variable.function.print.kit + match: '(\bprintf(?=\()\b)|((?) *((([a-z_][a-zA-Z0-9_]*\.)+)?[A-Z][a-zA-Z0-9_\[\]]*))(\})' From 150a38fbfae08eae1455bb9f1f84a755305f46eb Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Wed, 10 Jul 2019 22:37:43 -0400 Subject: [PATCH 15/16] add support for generic functions --- utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage | 2 +- utils/vscode-kitlang/syntaxes/kit.tmLanguage | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index f0358df..20cce44 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -101,7 +101,7 @@ patterns: - name: variable.function.allocation.kit match: '(?name variable.function.kit match - \b[a-z_][A-Za-z0-9_]*(?=\()\b + (((?<=function )\b[a-z_][A-Za-z0-9_]*(?=\[[A-Z][A-Za-z0-9_]*\]\()))|(\b[a-z_][A-Za-z0-9_]*(?=\()\b) name From 91ae7f3c1e2a2e50dd778c1622d3b721ce8e54ae Mon Sep 17 00:00:00 2001 From: Alex Poulsen Date: Wed, 10 Jul 2019 22:39:15 -0400 Subject: [PATCH 16/16] add quotes in yaml --- utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage index 20cce44..f91603c 100644 --- a/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage +++ b/utils/vscode-kitlang/syntaxes/kit.YAML-tmLanguage @@ -1,4 +1,4 @@ -fileTypes: [kit] +fileTypes: ["kit"] name: Kit scopeName: source.kit uuid: 4fc8848b-af63-4ac5-850f-8e6b00a45004