From ec83d0e8267ddd4aa4be452287ee5a288951b85c Mon Sep 17 00:00:00 2001 From: John Kreitlow <863023+radium-v@users.noreply.github.com> Date: Sun, 21 Jul 2024 16:11:43 -0700 Subject: [PATCH 1/2] Remove empty capture group from multi-line match rule --- ...e Syntax Definition (YAML).YAML-tmLanguage | 19 ++++++++----------- ...xtMate Syntax Definition (YAML).tmLanguage | 18 +++++++++--------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).YAML-tmLanguage b/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).YAML-tmLanguage index 91c84197..720afbb7 100644 --- a/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).YAML-tmLanguage +++ b/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).YAML-tmLanguage @@ -294,18 +294,15 @@ repository: # multi-line (block style) - name: meta.match.block.yaml-tmlanguage contentName: meta.value.yaml-tmlanguage - # I don't have a single fucking clue why but apparently removing - # the empty capturing group BREAKS the regexp - begin: ^( *)(?:-?( +)())((["']?)(match|begin|end)(\3))(:) +([|>](\d*)[-+]?)(?=, |,$| +#| *$) + begin: ^( *)(?:(?:-?( +)))((["']?)(match|begin|end)(\4))(:) +([|>](\d*)[-+]?)(?=, |,$| +#| *$) beginCaptures: - '4': {name: string.other.quoted-or-unquoted.yaml-tmlanguage} - '5': {name: punctuation.definition.string.yaml-tmlanguage} - '6': {name: keyword.other.match.yaml-tmlanguage} - '7': {name: punctuation.definition.string.yaml-tmlanguage} - '8': {name: keyword.control.definition.yaml-tmlanguage} - - '9': {name: keyword.control.block.yaml-tmlanguage} - '10': {name: constant.numeric.indentation-indicator.yaml-tmlanguage} + '3': {name: string.other.quoted-or-unquoted.yaml-tmlanguage} + '4': {name: punctuation.definition.string.yaml-tmlanguage} + '5': {name: keyword.other.match.yaml-tmlanguage} + '6': {name: punctuation.definition.string.yaml-tmlanguage} + '7': {name: keyword.control.definition.yaml-tmlanguage} + '8': {name: keyword.control.block.yaml-tmlanguage} + '9': {name: constant.numeric.indentation-indicator.yaml-tmlanguage} # must be indented by at least as much as the key line + 1 (+ 1 for the potential '-') end: ^(?! *$|\1\2 ) patterns: diff --git a/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).tmLanguage b/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).tmLanguage index 6191787b..7be43c89 100644 --- a/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).tmLanguage +++ b/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).tmLanguage @@ -661,43 +661,43 @@ comment begin - ^( *)(?:-?( +)())((["']?)(match|begin|end)(\3))(:) +([|>](\d*)[-+]?)(?=, |,$| +#| *$) + ^( *)(?:(?:-?( +)))((["']?)(match|begin|end)(\4))(:) +([|>](\d*)[-+]?)(?=, |,$| +#| *$) beginCaptures - 10 + 3 name - constant.numeric.indentation-indicator.yaml-tmlanguage + string.other.quoted-or-unquoted.yaml-tmlanguage 4 name - string.other.quoted-or-unquoted.yaml-tmlanguage + punctuation.definition.string.yaml-tmlanguage 5 name - punctuation.definition.string.yaml-tmlanguage + keyword.other.match.yaml-tmlanguage 6 name - keyword.other.match.yaml-tmlanguage + punctuation.definition.string.yaml-tmlanguage 7 name - punctuation.definition.string.yaml-tmlanguage + keyword.control.definition.yaml-tmlanguage 8 name - keyword.control.definition.yaml-tmlanguage + keyword.control.block.yaml-tmlanguage 9 name - keyword.control.block.yaml-tmlanguage + constant.numeric.indentation-indicator.yaml-tmlanguage contentName From dd512c4232eba8f67fef97fe4d63d5356685d9e7 Mon Sep 17 00:00:00 2001 From: John Kreitlow <863023+radium-v@users.noreply.github.com> Date: Sun, 21 Jul 2024 16:17:59 -0700 Subject: [PATCH 2/2] remove extra non-capturing groups --- .../TextMate Syntax Definition (YAML).YAML-tmLanguage | 2 +- .../TextMate Syntax Definition (YAML).tmLanguage | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).YAML-tmLanguage b/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).YAML-tmLanguage index 720afbb7..6aaf78d6 100644 --- a/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).YAML-tmLanguage +++ b/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).YAML-tmLanguage @@ -294,7 +294,7 @@ repository: # multi-line (block style) - name: meta.match.block.yaml-tmlanguage contentName: meta.value.yaml-tmlanguage - begin: ^( *)(?:(?:-?( +)))((["']?)(match|begin|end)(\4))(:) +([|>](\d*)[-+]?)(?=, |,$| +#| *$) + begin: ^( *)-?( +)((["']?)(match|begin|end)(\4))(:) +([|>](\d*)[-+]?)(?=, |,$| +#| *$) beginCaptures: '3': {name: string.other.quoted-or-unquoted.yaml-tmlanguage} '4': {name: punctuation.definition.string.yaml-tmlanguage} diff --git a/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).tmLanguage b/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).tmLanguage index 7be43c89..7825a683 100644 --- a/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).tmLanguage +++ b/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).tmLanguage @@ -661,7 +661,7 @@ comment begin - ^( *)(?:(?:-?( +)))((["']?)(match|begin|end)(\4))(:) +([|>](\d*)[-+]?)(?=, |,$| +#| *$) + ^( *)-?( +)((["']?)(match|begin|end)(\4))(:) +([|>](\d*)[-+]?)(?=, |,$| +#| *$) beginCaptures 3