From 00c906abb9550e72bc0c640545b5499b9525bb40 Mon Sep 17 00:00:00 2001 From: George Harker Date: Sun, 30 Nov 2025 23:46:21 -0800 Subject: fix(zsh): update posix shell variables --- lua/nvim-treesitter/parsers.lua | 2 +- runtime/queries/zsh/highlights.scm | 92 +++++++++++++++++++++++++------------- 2 files changed, 63 insertions(+), 31 deletions(-) diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index e32bf962a..49d2a3bed 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -2701,7 +2701,7 @@ return { }, zsh = { install_info = { - revision = 'v0.47.0', + revision = 'v0.48.0', url = 'https://github.com/georgeharker/tree-sitter-zsh', }, maintainers = { '@georgeharker' }, diff --git a/runtime/queries/zsh/highlights.scm b/runtime/queries/zsh/highlights.scm index 3bf1eed00..75a37408b 100644 --- a/runtime/queries/zsh/highlights.scm +++ b/runtime/queries/zsh/highlights.scm @@ -233,41 +233,73 @@ ((variable_name) @variable.builtin (#any-of? @variable.builtin - ; https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Variables.html + ; POSIX shell variables "CDPATH" "HOME" "IFS" "MAIL" "MAILPATH" "OPTARG" "OPTIND" "PATH" "PS1" "PS2" - ; https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html - "_" "BASH" "BASHOPTS" "BASHPID" "BASH_ALIASES" "BASH_ARGC" "BASH_ARGV" "BASH_ARGV0" "BASH_CMDS" - "BASH_COMMAND" "BASH_COMPAT" "BASH_ENV" "BASH_EXECUTION_STRING" "BASH_LINENO" - "BASH_LOADABLES_PATH" "BASH_REMATCH" "BASH_SOURCE" "BASH_SUBSHELL" "BASH_VERSINFO" - "BASH_VERSION" "BASH_XTRACEFD" "CHILD_MAX" "COLUMNS" "COMP_CWORD" "COMP_LINE" "COMP_POINT" - "COMP_TYPE" "COMP_KEY" "COMP_WORDBREAKS" "COMP_WORDS" "COMPREPLY" "COPROC" "DIRSTACK" "EMACS" - "ENV" "EPOCHREALTIME" "EPOCHSECONDS" "EUID" "EXECIGNORE" "FCEDIT" "FIGNORE" "FUNCNAME" - "FUNCNEST" "GLOBIGNORE" "GROUPS" "histchars" "HISTCMD" "HISTCONTROL" "HISTFILE" "HISTFILESIZE" - "HISTIGNORE" "HISTSIZE" "HISTTIMEFORMAT" "HOSTFILE" "HOSTNAME" "HOSTTYPE" "IGNOREEOF" "INPUTRC" - "INSIDE_EMACS" "LANG" "LC_ALL" "LC_COLLATE" "LC_CTYPE" "LC_MESSAGES" "LC_NUMERIC" "LC_TIME" - "LINENO" "LINES" "MACHTYPE" "MAILCHECK" "MAPFILE" "OLDPWD" "OPTERR" "OSTYPE" "PIPESTATUS" - "POSIXLY_CORRECT" "PPID" "PROMPT_COMMAND" "PROMPT_DIRTRIM" "PS0" "PS3" "PS4" "PWD" "RANDOM" - "READLINE_ARGUMENT" "READLINE_LINE" "READLINE_MARK" "READLINE_POINT" "REPLY" "SECONDS" "SHELL" - "SHELLOPTS" "SHLVL" "SRANDOM" "TIMEFORMAT" "TMOUT" "TMPDIR" "UID")) + ; https://zsh.sourceforge.io/Doc/Release/Parameters.html#Parameters-Set-By-The-Shell + "_" "ARGC" "CPUTYPE" "DIRSTACK" "EGID" "EPOCHREALTIME" "EPOCHSECONDS" "ERRNO" "EUID" + "FUNCFILETRACE" "FUNCNEST" "FUNCSOURCETRACE" "FUNCSTACK" "GID" "HISTCMD" "HOST" "LINENO" + "LOGNAME" "MACHTYPE" "OLDPWD" "OSTYPE" "PIPESTATUS" "PPID" "PWD" "RANDOM" "SECONDS" "SHLVL" + "TRY_BLOCK_ERROR" "TRY_BLOCK_INTERRUPT" "TTY" "TTYIDLE" "UID" "USERNAME" "VENDOR" "ZSH_ARGZERO" + "ZSH_EVAL_CONTEXT" "ZSH_EXECUTION_STRING" "ZSH_NAME" "ZSH_PATCHLEVEL" "ZSH_SCRIPT" + "ZSH_SUBSHELL" "ZSH_VERSION" + ; ZLE parameters (set by shell) - https://zsh.sourceforge.io/Doc/Release/Zsh-Line-Editor.html + "BUFFER" "BUFFERLINES" "CONTEXT" "CURSOR" "CUTBUFFER" "HISTNO" "ISEARCHMATCH_ACTIVE" + "ISEARCHMATCH_END" "ISEARCHMATCH_START" "KEYMAP" "KEYS" "KEYS_QUEUED_COUNT" "LASTABORTEDSEARCH" + "LASTSEARCH" "LASTWIDGET" "LBUFFER" "MARK" "MATCH" "MBEGIN" "MEND" "NUMERIC" "PENDING" + "POSTDISPLAY" "PREBUFFER" "PREDISPLAY" "PREFIX" "QIPREFIX" "QISUFFIX" "RBUFFER" "REGION_ACTIVE" + "REPLY" "SAVECURSOR" "SUFFIX" "UNDO_CHANGE_NO" "UNDO_LIMIT_NO" "WIDGET" "WIDGETFUNC" + "WIDGETSTYLE" "YANK_ACTIVE" "YANK_END" "YANK_START" "WORDS_STYLE" "ZLE_RECURSIVE" "ZLE_STATE" + ; Completion parameters - https://zsh.sourceforge.io/Doc/Release/Completion-Widgets.html + "CURRENT" "IPREFIX" "ISUFFIX" "compstate" + ; https://zsh.sourceforge.io/Doc/Release/Parameters.html#Parameters-Used-By-The-Shell + "ARGV0" "BAUD" "COLUMNS" "CORRECT_IGNORE" "CORRECT_IGNORE_FILE" "DIRSTACKSIZE" "EDITOR" "ENV" + "FCEDIT" "FIGNORE" "FPATH" "HISTCHARS" "HISTFILE" "HISTSIZE" "KEYBOARD_HACK" "KEYTIMEOUT" "LANG" + "LC_ALL" "LC_COLLATE" "LC_CTYPE" "LC_MESSAGES" "LC_NUMERIC" "LC_TIME" "LINES" "LISTMAX" + "LOGCHECK" "MAILCHECK" "MANPATH" "MODULE_PATH" "NULLCMD" "POSTEDIT" "PROMPT" "PROMPT2" "PROMPT3" + "PROMPT4" "PROMPTCHARS" "PS3" "PS4" "PSVAR" "READNULLCMD" "RPROMPT" "RPROMPT2" "RPS1" "RPS2" + "SAVEHIST" "SHELL" "SPROMPT" "STTY" "TERM" "TIMEFMT" "TMOUT" "TMPPREFIX" "VISUAL" "WATCH" + "WATCHFMT" "WORDCHARS" "ZBEEP" "ZDOTDIR" "ZLE_LINE_ABORTED" "ZLE_REMOVE_SUFFIX_CHARS" + "ZLE_RPROMPT_INDENT" "ZLE_SPACE_SUFFIX_CHARS" + ; Array/lowercase tied parameters - https://zsh.sourceforge.io/Doc/Release/Variables-Index.html + "argv" "cdpath" "dirstack" "fignore" "fpath" "funcfiletrace" "funcsourcetrace" "funcstack" + "functrace" "histchars" "killring" "mailpath" "manpath" "match" "mbegin" "mend" "module_path" + "options" "path" "pipestatus" "prompt" "psvar" "reply" "signals" "status" "watch" "words" + "zsh_eval_context")) ((simple_variable_name) @variable.builtin (#any-of? @variable.builtin - ; https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Variables.html + ; POSIX shell variables "CDPATH" "HOME" "IFS" "MAIL" "MAILPATH" "OPTARG" "OPTIND" "PATH" "PS1" "PS2" - ; https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html - "_" "BASH" "BASHOPTS" "BASHPID" "BASH_ALIASES" "BASH_ARGC" "BASH_ARGV" "BASH_ARGV0" "BASH_CMDS" - "BASH_COMMAND" "BASH_COMPAT" "BASH_ENV" "BASH_EXECUTION_STRING" "BASH_LINENO" - "BASH_LOADABLES_PATH" "BASH_REMATCH" "BASH_SOURCE" "BASH_SUBSHELL" "BASH_VERSINFO" - "BASH_VERSION" "BASH_XTRACEFD" "CHILD_MAX" "COLUMNS" "COMP_CWORD" "COMP_LINE" "COMP_POINT" - "COMP_TYPE" "COMP_KEY" "COMP_WORDBREAKS" "COMP_WORDS" "COMPREPLY" "COPROC" "DIRSTACK" "EMACS" - "ENV" "EPOCHREALTIME" "EPOCHSECONDS" "EUID" "EXECIGNORE" "FCEDIT" "FIGNORE" "FUNCNAME" - "FUNCNEST" "GLOBIGNORE" "GROUPS" "histchars" "HISTCMD" "HISTCONTROL" "HISTFILE" "HISTFILESIZE" - "HISTIGNORE" "HISTSIZE" "HISTTIMEFORMAT" "HOSTFILE" "HOSTNAME" "HOSTTYPE" "IGNOREEOF" "INPUTRC" - "INSIDE_EMACS" "LANG" "LC_ALL" "LC_COLLATE" "LC_CTYPE" "LC_MESSAGES" "LC_NUMERIC" "LC_TIME" - "LINENO" "LINES" "MACHTYPE" "MAILCHECK" "MAPFILE" "OLDPWD" "OPTERR" "OSTYPE" "PIPESTATUS" - "POSIXLY_CORRECT" "PPID" "PROMPT_COMMAND" "PROMPT_DIRTRIM" "PS0" "PS3" "PS4" "PWD" "RANDOM" - "READLINE_ARGUMENT" "READLINE_LINE" "READLINE_MARK" "READLINE_POINT" "REPLY" "SECONDS" "SHELL" - "SHELLOPTS" "SHLVL" "SRANDOM" "TIMEFORMAT" "TMOUT" "TMPDIR" "UID")) + ; https://zsh.sourceforge.io/Doc/Release/Parameters.html#Parameters-Set-By-The-Shell + "_" "ARGC" "CPUTYPE" "DIRSTACK" "EGID" "EPOCHREALTIME" "EPOCHSECONDS" "ERRNO" "EUID" + "FUNCFILETRACE" "FUNCNEST" "FUNCSOURCETRACE" "FUNCSTACK" "GID" "HISTCMD" "HOST" "LINENO" + "LOGNAME" "MACHTYPE" "OLDPWD" "OSTYPE" "PIPESTATUS" "PPID" "PWD" "RANDOM" "SECONDS" "SHLVL" + "TRY_BLOCK_ERROR" "TRY_BLOCK_INTERRUPT" "TTY" "TTYIDLE" "UID" "USERNAME" "VENDOR" "ZSH_ARGZERO" + "ZSH_EVAL_CONTEXT" "ZSH_EXECUTION_STRING" "ZSH_NAME" "ZSH_PATCHLEVEL" "ZSH_SCRIPT" + "ZSH_SUBSHELL" "ZSH_VERSION" + ; ZLE parameters (set by shell) - https://zsh.sourceforge.io/Doc/Release/Zsh-Line-Editor.html + "BUFFER" "BUFFERLINES" "CONTEXT" "CURSOR" "CUTBUFFER" "HISTNO" "ISEARCHMATCH_ACTIVE" + "ISEARCHMATCH_END" "ISEARCHMATCH_START" "KEYMAP" "KEYS" "KEYS_QUEUED_COUNT" "LASTABORTEDSEARCH" + "LASTSEARCH" "LASTWIDGET" "LBUFFER" "MARK" "MATCH" "MBEGIN" "MEND" "NUMERIC" "PENDING" + "POSTDISPLAY" "PREBUFFER" "PREDISPLAY" "PREFIX" "QIPREFIX" "QISUFFIX" "RBUFFER" "REGION_ACTIVE" + "REPLY" "SAVECURSOR" "SUFFIX" "UNDO_CHANGE_NO" "UNDO_LIMIT_NO" "WIDGET" "WIDGETFUNC" + "WIDGETSTYLE" "YANK_ACTIVE" "YANK_END" "YANK_START" "WORDS_STYLE" "ZLE_RECURSIVE" "ZLE_STATE" + ; Completion parameters - https://zsh.sourceforge.io/Doc/Release/Completion-Widgets.html + "CURRENT" "IPREFIX" "ISUFFIX" "compstate" + ; https://zsh.sourceforge.io/Doc/Release/Parameters.html#Parameters-Used-By-The-Shell + "ARGV0" "BAUD" "COLUMNS" "CORRECT_IGNORE" "CORRECT_IGNORE_FILE" "DIRSTACKSIZE" "EDITOR" "ENV" + "FCEDIT" "FIGNORE" "FPATH" "HISTCHARS" "HISTFILE" "HISTSIZE" "KEYBOARD_HACK" "KEYTIMEOUT" "LANG" + "LC_ALL" "LC_COLLATE" "LC_CTYPE" "LC_MESSAGES" "LC_NUMERIC" "LC_TIME" "LINES" "LISTMAX" + "LOGCHECK" "MAILCHECK" "MANPATH" "MODULE_PATH" "NULLCMD" "POSTEDIT" "PROMPT" "PROMPT2" "PROMPT3" + "PROMPT4" "PROMPTCHARS" "PS3" "PS4" "PSVAR" "READNULLCMD" "RPROMPT" "RPROMPT2" "RPS1" "RPS2" + "SAVEHIST" "SHELL" "SPROMPT" "STTY" "TERM" "TIMEFMT" "TMOUT" "TMPPREFIX" "VISUAL" "WATCH" + "WATCHFMT" "WORDCHARS" "ZBEEP" "ZDOTDIR" "ZLE_LINE_ABORTED" "ZLE_REMOVE_SUFFIX_CHARS" + "ZLE_RPROMPT_INDENT" "ZLE_SPACE_SUFFIX_CHARS" + ; Array/lowercase tied parameters - https://zsh.sourceforge.io/Doc/Release/Variables-Index.html + "argv" "cdpath" "dirstack" "fignore" "fpath" "funcfiletrace" "funcsourcetrace" "funcstack" + "functrace" "histchars" "killring" "mailpath" "manpath" "match" "mbegin" "mend" "module_path" + "options" "path" "pipestatus" "prompt" "psvar" "reply" "signals" "status" "watch" "words" + "zsh_eval_context")) ((command name: (command_name -- cgit v1.2.3-70-g09d2