mirror of
https://github.com/sharkdp/bat
synced 2026-08-10 20:01:45 +00:00
Merge pull request #3876 from Matei02355/fix-log-syntax-performance-3866
fix(syntax): avoid repeated log level scans
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
- Syntax highlighting for Python files using uv as script runner in shebang #3689 (@janlarres)
|
||||
|
||||
## Bugfixes
|
||||
- Avoid repeated scans of long lines in Log syntax highlighting, see #3876 (@Matei02355)
|
||||
- Fix `--list-languages` respecting `--paging=never`, see #3828 (@cyphercodes)
|
||||
- Fix `--sanitize` passing through the bidi control characters U+200E, U+200F and U+061C, see #3862 (@lenamonj)
|
||||
- `--strip-ansi`: also strip 8-bit C1 introducers (U+0090, U+0098, U+009B, U+009D, U+009E, U+009F) and DCS/SOS/PM/APC sequence bodies, which previously passed through. See #3729 (@curious-rabbit)
|
||||
|
||||
+23
-4
@@ -38,22 +38,41 @@ contexts:
|
||||
scope: markup.underline.link.scheme.log
|
||||
push: url-host
|
||||
log_level_lines:
|
||||
- match: (?=.*{{error}})
|
||||
# Prevent retrying each lookahead at every position.
|
||||
- match: ^(?=.*{{error}})
|
||||
push:
|
||||
- error_line_meta
|
||||
- main_pop_at_eol
|
||||
- match: (?=.*{{warning}})
|
||||
- match: ^(?=.*{{warning}})
|
||||
push:
|
||||
- warning_line_meta
|
||||
- main_pop_at_eol
|
||||
- match: (?=.*{{info}})
|
||||
- match: ^(?=.*{{info}})
|
||||
push:
|
||||
- info_line_meta
|
||||
- main_pop_at_eol
|
||||
- match: (?=.*{{debug}})
|
||||
- match: ^(?=.*{{debug}})
|
||||
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
|
||||
|
||||
+11
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user