.vim/autoload/vimrc.vim

Fri, 22 Nov 2019 22:58:16 -0600

author
Meredith Howard <mhoward@roomag.org>
date
Fri, 22 Nov 2019 22:58:16 -0600
changeset 831
1b8dd5465d3e
parent 829
7173f2b81a4e
child 832
8acb094e5e12
permissions
-rw-r--r--

Allow plain :Tig

631
8e07c29f2672 fix viewdoc abbrevs and cabbrevs in general
Meredith Howard <mhoward@roomag.org>
parents: 619
diff changeset
1 func! vimrc#CommandAlias(abbrev, expand) abort
632
9a87ce42aa3c getcmdpos is cursor position in expr mode here, wont work
Meredith Howard <mhoward@roomag.org>
parents: 631
diff changeset
2 execute printf('cnoreabbrev <expr> %s (getcmdtype()==":" && getcmdline()=="%s") ? "%s" : "%s"', a:abbrev, a:abbrev, a:expand, a:abbrev)
631
8e07c29f2672 fix viewdoc abbrevs and cabbrevs in general
Meredith Howard <mhoward@roomag.org>
parents: 619
diff changeset
3 endfunc
470
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
4
580
5a9e9be223f0 shorten
Meredith Howard <mhoward@roomag.org>
parents: 579
diff changeset
5 func! vimrc#AutoFmtToggle() abort
641
60b56bbfc143 use strict regex ops
Meredith Howard <mhoward@roomag.org>
parents: 640
diff changeset
6 if &formatoptions =~# 'a'
640
f8985ae54969 avoid abbreviated options
Meredith Howard <mhoward@roomag.org>
parents: 632
diff changeset
7 setl formatoptions-=a | echo '-a'
470
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
8 else
640
f8985ae54969 avoid abbreviated options
Meredith Howard <mhoward@roomag.org>
parents: 632
diff changeset
9 setl formatoptions+=a | echo '+a'
470
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
10 endif
580
5a9e9be223f0 shorten
Meredith Howard <mhoward@roomag.org>
parents: 579
diff changeset
11 endfunc
470
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
12
586
ab5763bb6ca7 improve ltag
Meredith Howard <mhoward@roomag.org>
parents: 583
diff changeset
13 func! vimrc#Ltag(term) abort
ab5763bb6ca7 improve ltag
Meredith Howard <mhoward@roomag.org>
parents: 583
diff changeset
14 exe "ltag " . a:term
ab5763bb6ca7 improve ltag
Meredith Howard <mhoward@roomag.org>
parents: 583
diff changeset
15 lopen
ab5763bb6ca7 improve ltag
Meredith Howard <mhoward@roomag.org>
parents: 583
diff changeset
16 endfunc
ab5763bb6ca7 improve ltag
Meredith Howard <mhoward@roomag.org>
parents: 583
diff changeset
17
470
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
18 " Make paths when writing, as necessary
580
5a9e9be223f0 shorten
Meredith Howard <mhoward@roomag.org>
parents: 579
diff changeset
19 func! vimrc#MkNonExDir(file, buf) abort
470
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
20 if empty(getbufvar(a:buf, '&buftype')) && a:file!~#'\v^\w+\:\/'
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
21 let dir=fnamemodify(a:file, ':h')
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
22 if !isdirectory(dir)
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
23 call mkdir(dir, 'p')
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
24 endif
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
25 endif
580
5a9e9be223f0 shorten
Meredith Howard <mhoward@roomag.org>
parents: 579
diff changeset
26 endfunc
470
4c2db769baac Move into autoload
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
27
805
59b23772424a No more unite-session
Meredith Howard <mhoward@roomag.org>
parents: 803
diff changeset
28 func! vimrc#AutoSessionCheck() abort
583
e2c2404479d3 move one more func
Meredith Howard <mhoward@roomag.org>
parents: 580
diff changeset
29 if strlen(v:servername) > 0 && match(v:servername, 'VIM') == -1
805
59b23772424a No more unite-session
Meredith Howard <mhoward@roomag.org>
parents: 803
diff changeset
30 let sessionfile = g:vimcache . "/session/" . tolower(v:servername) . ".vim"
59b23772424a No more unite-session
Meredith Howard <mhoward@roomag.org>
parents: 803
diff changeset
31
59b23772424a No more unite-session
Meredith Howard <mhoward@roomag.org>
parents: 803
diff changeset
32 if filereadable(sessionfile)
59b23772424a No more unite-session
Meredith Howard <mhoward@roomag.org>
parents: 803
diff changeset
33 execute "source " . sessionfile
59b23772424a No more unite-session
Meredith Howard <mhoward@roomag.org>
parents: 803
diff changeset
34 endif
583
e2c2404479d3 move one more func
Meredith Howard <mhoward@roomag.org>
parents: 580
diff changeset
35 endif
e2c2404479d3 move one more func
Meredith Howard <mhoward@roomag.org>
parents: 580
diff changeset
36 endfunc
728
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
37
803
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
38 func! vimrc#Ag(args) abort
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
39 let orig_t_ti = &t_ti
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
40 let orig_t_te = &t_te
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
41 let orig_shellpipe = &shellpipe
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
42
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
43 set t_ti= t_te=
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
44 let &shellpipe = substitute(&shellpipe, '| tee', ' >', '')
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
45
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
46 try
829
7173f2b81a4e Fix extra args to Ag
Meredith Howard <mhoward@roomag.org>
parents: 805
diff changeset
47 silent! execute "grep " . escape(a:args . join(a:000, ' '), '|')
803
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
48 copen
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
49
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
50 let @/ = matchstr(a:args, "\\v(-)\@<!(\<)\@<=\\w+|['\"]\\zs.{-}\\ze['\"]")
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
51 call feedkeys(":let &hlsearch=1 \| echo \<CR>", 'n')
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
52 finally
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
53 let &t_ti = orig_t_ti
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
54 let &t_te = orig_t_te
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
55 let &shellpipe = orig_shellpipe
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
56 endtry
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
57 endfunc
ffc6f9c140cd Move this Ag stuff into a function, remove flickers
Meredith Howard <mhoward@roomag.org>
parents: 750
diff changeset
58
728
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
59 func! vimrc#Gcd() abort
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
60 let root = system('git rev-parse --show-toplevel 2>/dev/null')[:-2]
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
61 if ! v:shell_error
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
62 exec 'cd ' . root
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
63 endif
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
64 pwd
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
65 endfunc
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
66
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
67 func! vimrc#Hgcd() abort
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
68 let root = system('hg root 2>/dev/null')[:-2]
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
69 if ! v:shell_error
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
70 exec 'cd ' . root
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
71 endif
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
72 pwd
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
73 endfunc
60df63f03873 I don't really use these except for the cd shortcuts
Meredith Howard <mhoward@roomag.org>
parents: 725
diff changeset
74
750
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
75 func! vimrc#SafeFilterFile(cmd)
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
76 let errors = tempname()
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
77 try
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
78 exec 'silent %!' . a:cmd . ' 2>' . shellescape(errors)
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
79 if v:shell_error
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
80 for line in readfile(errors)
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
81 echomsg line
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
82 endfor
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
83 endif
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
84 finally
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
85 call delete(errors)
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
86 endtry
36a4da0a9863 Separate errors from filter stream
Meredith Howard <mhoward@roomag.org>
parents: 728
diff changeset
87 endfunc

mercurial