summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Hall <kingkeith+github@gmail.com>2021-01-12 00:12:42 +0200
committerDavid Peter <sharkdp@users.noreply.github.com>2021-02-15 22:30:42 +0100
commit2e8c0a39dbaa619e833e079b51ea0749cc99c727 (patch)
tree5a6a7e4030e5817c48a85ffcd22974075253874d
parentdeec2902e4da2f9b826e6fa92c76b73685edd8e3 (diff)
Add support for env vars and manpage refs with dots to Manpage syntax
-rw-r--r--CHANGELOG.md1
-rw-r--r--assets/syntaxes/02_Extra/Manpage.sublime-syntax16
-rw-r--r--assets/syntaxes/02_Extra/syntax_test_man.man11
3 files changed, 24 insertions, 4 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3abfdec7..4f5d3bd1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,7 @@
- If plain mode is set and wrap is not explicitly opted in, long lines will no be truncated, see #1426
- If `PAGER` (but not `BAT_PAGER` or `--pager`) is `more` or `most`, silently use `less` instead to ensure support for colors, see #1063 (@Enselic)
- If `PAGER` is `bat`, silently use `less` to prevent recursion. For `BAT_PAGER` or `--pager`, exit with error, see #1413 (@Enselic)
+- Manpage highlighting fix, see #1511 (@keith-hall)
## Other
diff --git a/assets/syntaxes/02_Extra/Manpage.sublime-syntax b/assets/syntaxes/02_Extra/Manpage.sublime-syntax
index d92eea22..b50dc19d 100644
--- a/assets/syntaxes/02_Extra/Manpage.sublime-syntax
+++ b/assets/syntaxes/02_Extra/Manpage.sublime-syntax
@@ -59,12 +59,19 @@ contexts:
escape: '(?={{section_heading}})'
function-call:
- - match: '\b([A-Za-z0-9_\-]+)(\()([^)]*)(\))'
+ - match: '\b([A-Za-z0-9_\-]+\.)?([A-Za-z0-9_\-]+)(\()([^)]*)(\))'
captures:
1: entity.name.function.man
- 2: keyword.operator.man
- 3: constant.numeric.man
- 4: keyword.operator.man
+ 2: entity.name.function.man
+ 3: keyword.operator.man
+ 4: constant.numeric.man
+ 5: keyword.operator.man
+
+ env-var:
+ - match: '(\$)(?!\d)(\w+)\b'
+ captures:
+ 1: punctuation.definition.variable.man
+ 2: constant.other.man
options:
# command-line options like --option=value, --some-flag, or -x
@@ -86,6 +93,7 @@ contexts:
pop: true
- include: function-call
- include: c-code
+ - include: env-var
expect-command-line-option:
- match: '[A-Za-z0-9-]+'
diff --git a/assets/syntaxes/02_Extra/syntax_test_man.man b/assets/syntaxes/02_Extra/syntax_test_man.man
index ee8bada3..792c02a0 100644
--- a/assets/syntaxes/02_Extra/syntax_test_man.man
+++ b/assets/syntaxes/02_Extra/syntax_test_man.man
@@ -149,3 +149,14 @@ EXAMPLE
#define POLLIN_SET (EPOLLRDNORM | EPOLLRDBAND | EPOLLIN |
EPOLLHUP | EPOLLERR)
# ^ source.c meta.preprocessor.macro meta.group punctuation.section.group.end
+
+ENVIRONMENT
+ $SYSTEMD_LOG_LEVEL
+# ^ punctuation.definition.variable
+# ^^^^^^^^^^^^^^^^^ constant.other
+ systemd reads the log level from this environment variable. This
+ can be overridden with --log-level=.
+
+SEE ALSO
+ The systemd Homepage[11], systemd-system.conf(5), locale.conf(5)
+# ^^^^^^^^^^^^^^^^^^^ entity.name.function