From cecbb80093a42690f8f432c37b5c279af2214615 Mon Sep 17 00:00:00 2001 From: Matei6942 Date: Mon, 10 Aug 2026 20:56:35 +0300 Subject: [PATCH] fix(syntax): preserve log-level scopes in Syslog --- assets/syntaxes/02_Extra/log.sublime-syntax | 18 ++++++++++++++++++ assets/syntaxes/02_Extra/syslog.sublime-syntax | 12 +++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/assets/syntaxes/02_Extra/log.sublime-syntax b/assets/syntaxes/02_Extra/log.sublime-syntax index 5a4a0e06..329da39d 100644 --- a/assets/syntaxes/02_Extra/log.sublime-syntax +++ b/assets/syntaxes/02_Extra/log.sublime-syntax @@ -55,6 +55,24 @@ contexts: push: - debug_line_meta - main_pop_at_eol + # For syntaxes that embed Log after consuming a prefix. Call this context once. + log_level_lines_at_current_position: + - match: (?=.*{{error}}) + set: + - error_line_meta + - main_pop_at_eol + - match: (?=.*{{warning}}) + set: + - warning_line_meta + - main_pop_at_eol + - match: (?=.*{{info}}) + set: + - info_line_meta + - main_pop_at_eol + - match: (?=.*{{debug}}) + set: + - debug_line_meta + - main_pop_at_eol log_levels: - match: '{{error}}' scope: markup.error.log diff --git a/assets/syntaxes/02_Extra/syslog.sublime-syntax b/assets/syntaxes/02_Extra/syslog.sublime-syntax index 01ed58db..7cc9580b 100644 --- a/assets/syntaxes/02_Extra/syslog.sublime-syntax +++ b/assets/syntaxes/02_Extra/syslog.sublime-syntax @@ -50,6 +50,17 @@ contexts: - match: (?=\]) pop: true text: + - include: text_special + - match: '' + set: classify_log_text + classify_log_text: + - include: scope:text.log#log_level_lines_at_current_position + - match: '' + set: text_body + text_body: + - include: text_special + - include: scope:text.log + text_special: - match: $ pop: true - match: '<\w+>' @@ -62,4 +73,3 @@ contexts: escape: \)$ escape_captures: 0: punctuation.section.block.end.syslog - - include: scope:text.log