view runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim @ 27966:80f398bfc19f v8.2.4508

patch 8.2.4508: Vim9: cannot assign to a global variable on the command line Commit: https://github.com/vim/vim/commit/330a388e18ad6b64c3574c712db675258b0e9878 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 5 11:05:57 2022 +0000 patch 8.2.4508: Vim9: cannot assign to a global variable on the command line Problem: Vim9: cannot assign to a global variable on the command line. Solution: Allow using :vim9cmd for assignment on the command line.
author Bram Moolenaar <Bram@vim.org>
date Sat, 05 Mar 2022 12:15:04 +0100
parents 9fe2fed9bb4b
children 67f31c24291b
line wrap: on
line source

" When you're writing shell scripts and you are in doubt which test to use,
" which shell environment variables are defined, what the syntax of the case
" statement is, and you need to invoke 'man sh'?
"
" Your problems are over now!
"
" Attached is a Vim script file for turning gvim into a shell script editor.
" It may also be used as an example how to use menus in Vim.
"
" Maintainer: Ada (Haowen) Yu <me@yuhaowen.com>
" Original author: Lennart Schultz <les@dmi.min.dk> (mail unreachable)

" Make sure the '<' and 'C' flags are not included in 'cpoptions', otherwise
" <CR> would not be recognized.  See ":help 'cpoptions'".
let s:cpo_save = &cpo
set cpo&vim

imenu Stmts.for	for  in <CR>do<CR><CR>done<esc>ki	<esc>kk0elli
imenu Stmts.case	case  in<CR>) ;;<CR>esac<esc>bki	<esc>k0elli
imenu Stmts.if	if   <CR>then<CR><CR>fi<esc>ki	<esc>kk0elli
imenu Stmts.if-else	if   <CR>then<CR><CR>else<CR><CR>fi<esc>ki	<esc>kki	<esc>kk0elli
imenu Stmts.elif	elif   <CR>then<CR><CR><esc>ki	<esc>kk0elli
imenu Stmts.while	while   do<CR><CR>done<esc>ki	<esc>kk0elli
imenu Stmts.break	break 
imenu Stmts.continue	continue 
imenu Stmts.function	() {<CR><CR>}<esc>ki	<esc>k0i
imenu Stmts.return	return 
imenu Stmts.return-true	return 0
imenu Stmts.return-false	return 1
imenu Stmts.exit	exit 
imenu Stmts.shift	shift 
imenu Stmts.trap	trap 
imenu Test.existence	[ -e  ]<esc>hi
imenu Test.existence\ -\ file		[ -f  ]<esc>hi
imenu Test.existence\ -\ file\ (not\ empty)	[ -s  ]<esc>hi
imenu Test.existence\ -\ directory	[ -d  ]<esc>hi
imenu Test.existence\ -\ executable	[ -x  ]<esc>hi
imenu Test.existence\ -\ readable	[ -r  ]<esc>hi
imenu Test.existence\ -\ writable	[ -w  ]<esc>hi
imenu Test.String\ is\ empty [ x = "x$" ]<esc>hhi
imenu Test.String\ is\ not\ empty [ x != "x$" ]<esc>hhi
imenu Test.Strings\ is\ equal [ "" = "" ]<esc>hhhhhhhi
imenu Test.Strings\ is\ not\ equal [ "" != "" ]<esc>hhhhhhhhi
imenu Test.Values\ is\ greater\ than [  -gt  ]<esc>hhhhhhi
imenu Test.Values\ is\ greater\ equal [  -ge  ]<esc>hhhhhhi
imenu Test.Values\ is\ equal [  -eq  ]<esc>hhhhhhi
imenu Test.Values\ is\ not\ equal [  -ne  ]<esc>hhhhhhi
imenu Test.Values\ is\ less\ than [  -lt  ]<esc>hhhhhhi
imenu Test.Values\ is\ less\ equal [  -le  ]<esc>hhhhhhi
imenu ParmSub.Substitute\ word\ if\ parm\ not\ set ${:-}<esc>hhi
imenu ParmSub.Set\ parm\ to\ word\ if\ not\ set ${:=}<esc>hhi
imenu ParmSub.Substitute\ word\ if\ parm\ set\ else\ nothing ${:+}<esc>hhi
imenu ParmSub.If\ parm\ not\ set\ print\ word\ and\ exit ${:?}<esc>hhi
imenu SpShVars.Number\ of\ positional\ parameters ${#}
imenu SpShVars.All\ positional\ parameters\ (quoted\ spaces) ${*}
imenu SpShVars.All\ positional\ parameters\ (unquoted\ spaces) ${@}
imenu SpShVars.Flags\ set ${-}
imenu SpShVars.Return\ code\ of\ last\ command ${?}
imenu SpShVars.Process\ number\ of\ this\ shell ${$}
imenu SpShVars.Process\ number\ of\ last\ background\ command ${!}
imenu Environ.HOME ${HOME}
imenu Environ.PATH ${PATH}
imenu Environ.CDPATH ${CDPATH}
imenu Environ.MAIL ${MAIL}
imenu Environ.MAILCHECK ${MAILCHECK}
imenu Environ.PS1 ${PS1}
imenu Environ.PS2 ${PS2}
imenu Environ.IFS ${IFS}
imenu Environ.SHACCT ${SHACCT}
imenu Environ.SHELL ${SHELL}
imenu Environ.LC_CTYPE ${LC_CTYPE}
imenu Environ.LC_MESSAGES ${LC_MESSAGES}
imenu Builtins.cd cd
imenu Builtins.echo echo
imenu Builtins.eval eval
imenu Builtins.exec exec
imenu Builtins.export export
imenu Builtins.getopts getopts
imenu Builtins.hash hash
imenu Builtins.newgrp newgrp
imenu Builtins.pwd pwd
imenu Builtins.read read
imenu Builtins.readonly readonly
imenu Builtins.return return
imenu Builtins.times times
imenu Builtins.type type
imenu Builtins.umask umask
imenu Builtins.wait wait
imenu Set.set set
imenu Set.unset unset
imenu Set.mark\ modified\ or\ modified\ variables set -a
imenu Set.exit\ when\ command\ returns\ non-zero\ exit\ code set -e
imenu Set.Disable\ file\ name\ generation set -f
imenu Set.remember\ function\ commands set -h
imenu Set.All\ keyword\ arguments\ are\ placed\ in\ the\ environment set -k
imenu Set.Read\ commands\ but\ do\ not\ execute\ them set -n
imenu Set.Exit\ after\ reading\ and\ executing\ one\ command set -t
imenu Set.Treat\ unset\ variables\ as\ an\ error\ when\ substituting set -u
imenu Set.Print\ shell\ input\ lines\ as\ they\ are\ read set -v
imenu Set.Print\ commands\ and\ their\ arguments\ as\ they\ are\ executed set -x

" Restore the previous value of 'cpoptions'.
let &cpo = s:cpo_save
unlet s:cpo_save