Remove pathgen and use native vim packages. https://micro.quietmisdreavus.net/code/2020/03/15/vim8-packages/
David Blume

David Blume commited on 2021-03-11 19:45:57
Showing 99 changed files, with 6 additions and 264 deletions.

... ...
@@ -1,254 +0,0 @@
1
-" pathogen.vim - path option manipulation
2
-" Maintainer:   Tim Pope <http://tpo.pe/>
3
-" Version:      2.0
4
-
5
-" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
6
-"
7
-" For management of individually installed plugins in ~/.vim/bundle (or
8
-" ~\vimfiles\bundle), adding `call pathogen#infect()` to your .vimrc
9
-" prior to `filetype plugin indent on` is the only other setup necessary.
10
-"
11
-" The API is documented inline below.  For maximum ease of reading,
12
-" :set foldmethod=marker
13
-
14
-if exists("g:loaded_pathogen") || &cp
15
-  finish
16
-endif
17
-let g:loaded_pathogen = 1
18
-
19
-" Point of entry for basic default usage.  Give a directory name to invoke
20
-" pathogen#runtime_append_all_bundles() (defaults to "bundle"), or a full path
21
-" to invoke pathogen#runtime_prepend_subdirectories().  Afterwards,
22
-" pathogen#cycle_filetype() is invoked.
23
-function! pathogen#infect(...) abort " {{{1
24
-  let source_path = a:0 ? a:1 : 'bundle'
25
-  if source_path =~# '[\\/]'
26
-    call pathogen#runtime_prepend_subdirectories(source_path)
27
-  else
28
-    call pathogen#runtime_append_all_bundles(source_path)
29
-  endif
30
-  call pathogen#cycle_filetype()
31
-endfunction " }}}1
32
-
33
-" Split a path into a list.
34
-function! pathogen#split(path) abort " {{{1
35
-  if type(a:path) == type([]) | return a:path | endif
36
-  let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,')
37
-  return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
38
-endfunction " }}}1
39
-
40
-" Convert a list to a path.
41
-function! pathogen#join(...) abort " {{{1
42
-  if type(a:1) == type(1) && a:1
43
-    let i = 1
44
-    let space = ' '
45
-  else
46
-    let i = 0
47
-    let space = ''
48
-  endif
49
-  let path = ""
50
-  while i < a:0
51
-    if type(a:000[i]) == type([])
52
-      let list = a:000[i]
53
-      let j = 0
54
-      while j < len(list)
55
-        let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
56
-        let path .= ',' . escaped
57
-        let j += 1
58
-      endwhile
59
-    else
60
-      let path .= "," . a:000[i]
61
-    endif
62
-    let i += 1
63
-  endwhile
64
-  return substitute(path,'^,','','')
65
-endfunction " }}}1
66
-
67
-" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
68
-function! pathogen#legacyjoin(...) abort " {{{1
69
-  return call('pathogen#join',[1] + a:000)
70
-endfunction " }}}1
71
-
72
-" Remove duplicates from a list.
73
-function! pathogen#uniq(list) abort " {{{1
74
-  let i = 0
75
-  let seen = {}
76
-  while i < len(a:list)
77
-    if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i])
78
-      call remove(a:list,i)
79
-    elseif a:list[i] ==# ''
80
-      let i += 1
81
-      let empty = 1
82
-    else
83
-      let seen[a:list[i]] = 1
84
-      let i += 1
85
-    endif
86
-  endwhile
87
-  return a:list
88
-endfunction " }}}1
89
-
90
-" \ on Windows unless shellslash is set, / everywhere else.
91
-function! pathogen#separator() abort " {{{1
92
-  return !exists("+shellslash") || &shellslash ? '/' : '\'
93
-endfunction " }}}1
94
-
95
-" Convenience wrapper around glob() which returns a list.
96
-function! pathogen#glob(pattern) abort " {{{1
97
-  let files = split(glob(a:pattern),"\n")
98
-  return map(files,'substitute(v:val,"[".pathogen#separator()."/]$","","")')
99
-endfunction "}}}1
100
-
101
-" Like pathogen#glob(), only limit the results to directories.
102
-function! pathogen#glob_directories(pattern) abort " {{{1
103
-  return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
104
-endfunction "}}}1
105
-
106
-" Turn filetype detection off and back on again if it was already enabled.
107
-function! pathogen#cycle_filetype() " {{{1
108
-  if exists('g:did_load_filetypes')
109
-    filetype off
110
-    filetype on
111
-  endif
112
-endfunction " }}}1
113
-
114
-" Checks if a bundle is 'disabled'. A bundle is considered 'disabled' if
115
-" its 'basename()' is included in g:pathogen_disabled[]' or ends in a tilde.
116
-function! pathogen#is_disabled(path) " {{{1
117
-  if a:path =~# '\~$'
118
-    return 1
119
-  elseif !exists("g:pathogen_disabled")
120
-    return 0
121
-  endif
122
-  let sep = pathogen#separator()
123
-  return index(g:pathogen_disabled, strpart(a:path, strridx(a:path, sep)+1)) != -1
124
-endfunction "}}}1
125
-
126
-" Prepend all subdirectories of path to the rtp, and append all 'after'
127
-" directories in those subdirectories.
128
-function! pathogen#runtime_prepend_subdirectories(path) " {{{1
129
-  let sep    = pathogen#separator()
130
-  let before = filter(pathogen#glob_directories(a:path.sep."*"), '!pathogen#is_disabled(v:val)')
131
-  let after  = filter(pathogen#glob_directories(a:path.sep."*".sep."after"), '!pathogen#is_disabled(v:val[0:-7])')
132
-  let rtp = pathogen#split(&rtp)
133
-  let path = expand(a:path)
134
-  call filter(rtp,'v:val[0:strlen(path)-1] !=# path')
135
-  let &rtp = pathogen#join(pathogen#uniq(before + rtp + after))
136
-  return &rtp
137
-endfunction " }}}1
138
-
139
-" For each directory in rtp, check for a subdirectory named dir.  If it
140
-" exists, add all subdirectories of that subdirectory to the rtp, immediately
141
-" after the original directory.  If no argument is given, 'bundle' is used.
142
-" Repeated calls with the same arguments are ignored.
143
-function! pathogen#runtime_append_all_bundles(...) " {{{1
144
-  let sep = pathogen#separator()
145
-  let name = a:0 ? a:1 : 'bundle'
146
-  if "\n".s:done_bundles =~# "\\M\n".name."\n"
147
-    return ""
148
-  endif
149
-  let s:done_bundles .= name . "\n"
150
-  let list = []
151
-  for dir in pathogen#split(&rtp)
152
-    if dir =~# '\<after$'
153
-      let list +=  filter(pathogen#glob_directories(substitute(dir,'after$',name,'').sep.'*[^~]'.sep.'after'), '!pathogen#is_disabled(v:val[0:-7])') + [dir]
154
-    else
155
-      let list +=  [dir] + filter(pathogen#glob_directories(dir.sep.name.sep.'*[^~]'), '!pathogen#is_disabled(v:val)')
156
-    endif
157
-  endfor
158
-  let &rtp = pathogen#join(pathogen#uniq(list))
159
-  return 1
160
-endfunction
161
-
162
-let s:done_bundles = ''
163
-" }}}1
164
-
165
-" Invoke :helptags on all non-$VIM doc directories in runtimepath.
166
-function! pathogen#helptags() " {{{1
167
-  let sep = pathogen#separator()
168
-  for dir in pathogen#split(&rtp)
169
-    if (dir.sep)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir.sep.'doc') == 2 && !empty(filter(split(glob(dir.sep.'doc'.sep.'*'),"\n>"),'!isdirectory(v:val)')) && (!filereadable(dir.sep.'doc'.sep.'tags') || filewritable(dir.sep.'doc'.sep.'tags'))
170
-      helptags `=dir.'/doc'`
171
-    endif
172
-  endfor
173
-endfunction " }}}1
174
-
175
-command! -bar Helptags :call pathogen#helptags()
176
-
177
-" Like findfile(), but hardcoded to use the runtimepath.
178
-function! pathogen#runtime_findfile(file,count) "{{{1
179
-  let rtp = pathogen#join(1,pathogen#split(&rtp))
180
-  let file = findfile(a:file,rtp,a:count)
181
-  if file ==# ''
182
-    return ''
183
-  else
184
-    return fnamemodify(file,':p')
185
-  endif
186
-endfunction " }}}1
187
-
188
-" Backport of fnameescape().
189
-function! pathogen#fnameescape(string) " {{{1
190
-  if exists('*fnameescape')
191
-    return fnameescape(a:string)
192
-  elseif a:string ==# '-'
193
-    return '\-'
194
-  else
195
-    return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','')
196
-  endif
197
-endfunction " }}}1
198
-
199
-if exists(':Vedit')
200
-  finish
201
-endif
202
-
203
-function! s:find(count,cmd,file,lcd) " {{{1
204
-  let rtp = pathogen#join(1,pathogen#split(&runtimepath))
205
-  let file = pathogen#runtime_findfile(a:file,a:count)
206
-  if file ==# ''
207
-    return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'"
208
-  elseif a:lcd
209
-    let path = file[0:-strlen(a:file)-2]
210
-    execute 'lcd `=path`'
211
-    return a:cmd.' '.pathogen#fnameescape(a:file)
212
-  else
213
-    return a:cmd.' '.pathogen#fnameescape(file)
214
-  endif
215
-endfunction " }}}1
216
-
217
-function! s:Findcomplete(A,L,P) " {{{1
218
-  let sep = pathogen#separator()
219
-  let cheats = {
220
-        \'a': 'autoload',
221
-        \'d': 'doc',
222
-        \'f': 'ftplugin',
223
-        \'i': 'indent',
224
-        \'p': 'plugin',
225
-        \'s': 'syntax'}
226
-  if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0])
227
-    let request = cheats[a:A[0]].a:A[1:-1]
228
-  else
229
-    let request = a:A
230
-  endif
231
-  let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*'
232
-  let found = {}
233
-  for path in pathogen#split(&runtimepath)
234
-    let path = expand(path, ':p')
235
-    let matches = split(glob(path.sep.pattern),"\n")
236
-    call map(matches,'isdirectory(v:val) ? v:val.sep : v:val')
237
-    call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]')
238
-    for match in matches
239
-      let found[match] = 1
240
-    endfor
241
-  endfor
242
-  return sort(keys(found))
243
-endfunction " }}}1
244
-
245
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve       :execute s:find(<count>,'edit<bang>',<q-args>,0)
246
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit    :execute s:find(<count>,'edit<bang>',<q-args>,0)
247
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen    :execute s:find(<count>,'edit<bang>',<q-args>,1)
248
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit   :execute s:find(<count>,'split',<q-args>,<bang>1)
249
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit  :execute s:find(<count>,'vsplit',<q-args>,<bang>1)
250
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(<count>,'tabedit',<q-args>,<bang>1)
251
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit   :execute s:find(<count>,'pedit',<q-args>,<bang>1)
252
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread    :execute s:find(<count>,'read',<q-args>,<bang>1)
253
-
254
-" vim:set et sw=2:
... ...
@@ -336,6 +336,3 @@ let g:airline_symbols.linenr = 'Ξ'
336 336
 let g:airline_theme = 'powerlineish'
337 337
 let g:airline#extensions#wordcount#enabled = 0
338 338
 " let g:airline_exclude_filetypes = []
339
-
340
-" Install Pathogen for this next call to work
341
-call pathogen#infect()
... ...
@@ -43,13 +43,12 @@ See [config.dlma.com](http://config.dlma.com) for more.
43 43
     1. .vimrc
44 44
     2. An empty .vim\_undo directory
45 45
     3. .vim with the following plugins:
46
-        1. [pathogen](https://github.com/tpope/vim-pathogen), the Vim plugin manager.
47
-        2. [vim-airline](https://github.com/vim-airline/vim-airline), for a better Vim statusline.
48
-        3. [bbye for :Bdelete](https://github.com/moll/vim-bbye), to delete buffers without affecting windows.
49
-        4. [taglist](http://www.vim.org/scripts/script.php?script_id=273), a ctags tree-view explorer.
50
-        5. [file-line](http://www.vim.org/scripts/script.php?script_id=2184), to open file:line as from a compiler error.
51
-        6. [visual-star-search](http://got-ravings.blogspot.com/2008/07/vim-pr0n-visual-search-mappings.html), so * and # work in visual mode too.
52
-        7. Assorted favorite colors like [desert](https://github.com/dblume/desert.vim).
46
+        1. [vim-airline](https://github.com/vim-airline/vim-airline), for a better Vim statusline.
47
+        2. [bbye for :Bdelete](https://github.com/moll/vim-bbye), to delete buffers without affecting windows.
48
+        3. [taglist](http://www.vim.org/scripts/script.php?script_id=273), a ctags tree-view explorer.
49
+        4. [file-line](http://www.vim.org/scripts/script.php?script_id=2184), to open file:line as from a compiler error.
50
+        5. [visual-star-search](http://got-ravings.blogspot.com/2008/07/vim-pr0n-visual-search-mappings.html), so * and # work in visual mode too.
51
+        6. Assorted favorite colors like [desert](https://github.com/dblume/desert.vim).
53 52
 3. .gitconfig and .gitignore
54 53
 4. .tmux.conf
55 54
 5. .inputrc, for a [partially matched command history traversal](http://askubuntu.com/questions/59846/bash-history-search-partial-up-arrow/59855#59855).
56 55