From 2c20a3c3427befd77029fc37cbda0476f650b681 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Sat, 4 Nov 2017 18:21:16 +1300 Subject: 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. --- vim/autoload/flag_toggle.vim | 51 -------------------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 vim/autoload/flag_toggle.vim (limited to 'vim/autoload') 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 -" 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 -- cgit v1.2.3