Subject: Keyword "setx" in `bat-mode`

From: Arni Magnusson <[email-masked]>
Date: Thu, 27 Jan 2022 15:17:48 +1100

Hi,

As the author of bat-mode, I'd like to suggest adding syntax highlighting
support for the 'setx' command and the subsequent variable name.

Working from bat-mode.el in the current git repository, I added "setx" to
the list of commands and also tweaked the matcher for
`font-lock-variable-name-face`. See the attached patch.

To see the improved syntax highlighting, this example code can be used:

xcopy sty c:\home\latex\sty\spc /s /y
setx TEXINPUTS .\\;c:\home\latex\\;
echo Installation completed

Cheers,
Arni
diff --git a/lisp/progmodes/bat-mode.el b/lisp/progmodes/bat-mode.el
index 7ef2500e46..6bac297a29 100644
--- a/lisp/progmodes/bat-mode.el
+++ b/lisp/progmodes/bat-mode.el
@@ -71,8 +71,8 @@
              "doskey" "echo" "endlocal" "erase" "fc" "find" "findstr" "format"
              "ftype" "label" "md" "mkdir" "more" "move" "net" "path" "pause"
              "popd" "prompt" "pushd" "rd" "ren" "rename" "replace" "rmdir" "set"
-             "setlocal" "shift" "sort" "subst" "time" "title" "tree" "type"
-             "ver" "vol" "xcopy"))
+             "setlocal" "setx" "shift" "sort" "subst" "time" "title" "tree"
+             "type" "ver" "vol" "xcopy"))
           (CONTROLFLOW
            '("call" "cmd" "defined" "do" "else" "equ" "exist" "exit" "for" "geq"
              "goto" "gtr" "if" "in" "leq" "lss" "neq" "not" "start"))
@@ -82,7 +82,7 @@
          (2 font-lock-constant-face t))
         ("^:[^:].*"
          . 'bat-label-face)
-        ("\\_<\\(defined\\|set\\)\\_>[ \t]*\\(\\(\\sw\\|\\s_\\)+\\)"
+        ("\\_<\\(defined\\|set\\|setx\\)\\_>[ \t]*\\(\\(\\sw\\|\\s_\\)+\\)"
          (2 font-lock-variable-name-face))
         ("%~\\([0-9]\\)"
          (1 font-lock-variable-name-face))