diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2017-11-04 18:21:16 +1300 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2017-11-04 18:21:16 +1300 |
commit | 2c20a3c3427befd77029fc37cbda0476f650b681 (patch) | |
tree | 7fa7e1050de2a660e71da37d347786371a53b689 /vim/autoload | |
parent | Add short documentation for new custom plugins (diff) | |
download | dotfiles-2c20a3c3427befd77029fc37cbda0476f650b681.tar.gz dotfiles-2c20a3c3427befd77029fc37cbda0476f650b681.zip |
Rename toggle plugin again, use commands not funcs
This method makes a bit more sense, and amounts to slightly less verbose
mapping commands. It does really on the +user_commands feature being
available, however.
Diffstat (limited to 'vim/autoload')
-rw-r--r-- | vim/autoload/flag_toggle.vim | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/vim/autoload/flag_toggle.vim b/vim/autoload/flag_toggle.vim deleted file mode 100644 index 2ff4584d..00000000 --- a/vim/autoload/flag_toggle.vim +++ /dev/null @@ -1,51 +0,0 @@ -" -" flag_toggle.vim: Provide functions to toggle flags in single-char grouped -" options like 'formatoptions', 'shortmess', 'complete' etc. -" -" This will fail hilariously if you try to set e.g. 'switchbuf' with it! -" -" Author: Tom Ryder <tom@sanctum.geek.nz> -" License: Same as Vim itself -" - -" Public wrapper function to toggle a flag with 'set' -function! flag_toggle#Toggle(option, flag) - call s:Toggle(a:option, a:flag, 0) -endfunction - -" Public wrapper function to toggle a flag with 'setlocal' -function! flag_toggle#ToggleLocal(option, flag) - call s:Toggle(a:option, a:flag, 1) -endfunction - -" Internal function to do the toggling -function! s:Toggle(option, flag, local) - - " Check for weird options, we don't want to eval() anything funny - if a:option =~# '[^a-z]' - echoerr 'Illegal option name' - return - endif - - " Weird flags, too; should be a single inoffensive char - if a:flag !~# '^[a-z0-9.]$' - echoerr 'Illegal flag' - return - endif - - " Choose which set command to use - if a:local - let l:set = 'setlocal ' - else - let l:set = 'set ' - endif - - " Use eval() to assign -= or += to l:op for the option toggle - " (I couldn't get {curly braces} indirection to work) - let l:op = '' - execute 'let l:op = &'.a:option.' =~# a:flag ? "-=" : "+="' - - " Use eval() to perform the option toggle and then print the value - execute l:set . ' ' . a:option . l:op . a:flag . ' ' . a:option . '?' - -endfunction |