completions/vim.ps1
|
<# # vim completion #> Import-Module NativeCommandCompleter.psm -ErrorAction SilentlyContinue $msg = data { ConvertFrom-StringData @' vim = Vi IMproved - enhanced vi editor command = Execute Ex command after loading arabic_mode = Start in Arabic mode binary_mode = Start in binary mode compatible_mode = Behave mostly like vi (compatible mode) diff_mode = Start in diff mode debug_mode = Debugging mode ex_mode = Start in Ex mode exim_mode = Start in improved Ex mode gui_mode = Start in GUI mode hebrew_mode = Start in Hebrew mode viminfo = Set the viminfo file location lisp_mode = Start in lisp mode list_swap = List swap files disable_modify = Disable file modification (set nowrite) disallow_modify = Disallow file modification (set nomodifiable) no_swap = Don't use swap files no_compatible = Not compatible with Vi horizontally_split = Open horizontally split for each file vertical_split = Open vertical split for each file open_tab = Open tab for each file recovery = Use swap files for recovery readonly_mode = Readonly mode source = Source and execute script file source_after_load = Source script after loading terminal = Terminal name vimrc = Use alternative vimrc gvimrc = Use alternative gvimrc vi_mode = Start in vi mode verbose_mode = Start in verbose mode write_script = Record all typed characters write_script2 = Record all typed characters (overwrite file) encrypt = Use encryption when writing files no_XServer = Don't connect to X server no_wayland = Don't connect to the wayland compositor easy_mode = Start in easy mode (modeless) restrict_mode = Start in restricted mode clean = Factory defaults: skip vimrc, plugins, viminfo command_before_load = Execute Ex command before loading help = Print help and exit literal = Do not expand wildcards noplugin = Skip loading plugins remote = Edit files in a Vim server remote_expr = Evaluate expression in a Vim server remote_send = Send keys to a Vim server remote_silent = Remote without complaining remote_wait = Wait for files to be edited in server remote_wait_silent = Wait silently serverlist = List all Vim servers that can be found servername = Set server name startuptime = Write startup timing to file ttyfail = Exit if not a tty version = Print version and exit '@ } Import-LocalizedData -BindingVariable localizedMessages -ErrorAction SilentlyContinue; foreach ($key in $localizedMessages.Keys) { $msg[$key] = $localizedMessages[$key] } Register-NativeCompleter -Name vim -Description $msg.vim -Parameters @( New-ParamCompleter -ShortName c -Description $msg.command -Type Required -VariableName 'command' New-ParamCompleter -ShortName A -Description $msg.arabic_mode New-ParamCompleter -ShortName b -Description $msg.binary_mode New-ParamCompleter -ShortName C -Description $msg.compatible_mode New-ParamCompleter -ShortName d -Description $msg.diff_mode New-ParamCompleter -ShortName D -Description $msg.debug_mode New-ParamCompleter -ShortName e -Description $msg.ex_mode New-ParamCompleter -ShortName E -Description $msg.exim_mode New-ParamCompleter -ShortName g -Description $msg.gui_mode New-ParamCompleter -ShortName H -Description $msg.hebrew_mode New-ParamCompleter -ShortName i -Description $msg.viminfo -Type File -VariableName 'viminfo' New-ParamCompleter -ShortName l -Description $msg.lisp_mode New-ParamCompleter -ShortName L -Description $msg.list_swap New-ParamCompleter -ShortName m -Description $msg.disable_modify New-ParamCompleter -ShortName M -Description $msg.disallow_modify New-ParamCompleter -ShortName n -Description $msg.no_swap New-ParamCompleter -ShortName N -Description $msg.no_compatible New-ParamCompleter -ShortName o -Description $msg.horizontally_split -Type FlagOrValue -VariableName 'N' New-ParamCompleter -ShortName O -Description $msg.vertical_split -Type FlagOrValue -VariableName 'N' New-ParamCompleter -ShortName p -Description $msg.open_tab -Type FlagOrValue -VariableName 'N' New-ParamCompleter -ShortName r -Description $msg.recovery -Type File -VariableName 'file.swp' New-ParamCompleter -ShortName R -Description $msg.readonly_mode New-ParamCompleter -ShortName s -Description $msg.source -Type File -VariableName 'scriptin' New-ParamCompleter -ShortName S -Description $msg.source_after_load -Type File -VariableName 'source' New-ParamCompleter -ShortName T -Description $msg.terminal -Type Required -VariableName 'terminal' New-ParamCompleter -ShortName u -Description $msg.vimrc -Type File -VariableName 'vimrc' New-ParamCompleter -ShortName U -Description $msg.gvimrc -Type File -VariableName 'gvimrc' New-ParamCompleter -ShortName v -Description $msg.vi_mode New-ParamCompleter -ShortName V -Description $msg.verbose_mode -Type FlagOrValue -VariableName 'N' New-ParamCompleter -ShortName w -Description $msg.write_script -Type File -VariableName 'scriptout' New-ParamCompleter -ShortName W -Description $msg.write_script2 -Type File -VariableName 'scriptout' New-ParamCompleter -ShortName x -Description $msg.encrypt New-ParamCompleter -ShortName X -Description $msg.no_XServer New-ParamCompleter -ShortName Y -Description $msg.no_wayland New-ParamCompleter -ShortName y -Description $msg.easy_mode New-ParamCompleter -ShortName Z -Description $msg.restrict_mode New-ParamCompleter -LongName clean -Description $msg.clean New-ParamCompleter -LongName cmd -Description $msg.command_before_load -Type Required -VariableName 'command' New-ParamCompleter -ShortName h -LongName help -Description $msg.help New-ParamCompleter -LongName literal -Description $msg.literal New-ParamCompleter -LongName noplugin -Description $msg.noplugin New-ParamCompleter -LongName remote -Description $msg.remote -Type Required -VariableName 'files' New-ParamCompleter -LongName remote-expr -Description $msg.remote_expr -Type Required -VariableName 'expr' New-ParamCompleter -LongName remote-send -Description $msg.remote_send -Type Required -VariableName 'keys' New-ParamCompleter -LongName remote-silent -Description $msg.remote_silent -Type Required -VariableName 'files' New-ParamCompleter -LongName remote-wait -Description $msg.remote_wait -Type Required -VariableName 'files' New-ParamCompleter -LongName remote-wait-silent -Description $msg.remote_wait_silent -Type Required -VariableName 'files' New-ParamCompleter -LongName serverlist -Description $msg.serverlist New-ParamCompleter -LongName servername -Description $msg.servername -Type Required -VariableName 'name' New-ParamCompleter -LongName startuptime -Description $msg.startuptime -Type File -VariableName 'file' New-ParamCompleter -LongName ttyfail -Description $msg.ttyfail New-ParamCompleter -LongName version -Description $msg.version ) |