Mercurial > vim
annotate runtime/autoload/netrwFileHandlers.vim @ 35229:925475d6ebae default tip
runtime(matchit): update matchit plugin to v1.20
Commit: https://github.com/vim/vim/commit/8cf29e4c4a2af75bf31ef16ef108aea61c165af8
Author: Christian Brabandt <cb@256bit.org>
Date: Mon May 20 20:02:16 2024 +0200
runtime(matchit): update matchit plugin to v1.20
fixes: https://github.com/vim/vim/issues/14814
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 20 May 2024 20:15:02 +0200 |
parents | 02bd0fe77c68 |
children |
rev | line source |
---|---|
555 | 1 " netrwFileHandlers: contains various extension-based file handlers for |
2 " netrw's browsers' x command ("eXecute launcher") | |
34375
02bd0fe77c68
runtime(misc): announce adoption of various runtime files
Christian Brabandt <cb@256bit.org>
parents:
22328
diff
changeset
|
3 " Maintainer: This runtime file is looking for a new maintainer. |
02bd0fe77c68
runtime(misc): announce adoption of various runtime files
Christian Brabandt <cb@256bit.org>
parents:
22328
diff
changeset
|
4 " Original Author: Charles E. Campbell |
22328 | 5 " Date: Sep 18, 2020 |
6 " Version: 11 | |
4339 | 7 " Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1 |
555 | 8 " Permission is hereby granted to use and distribute this code, |
9 " with or without modifications, provided that this copyright | |
10 " notice is copied with it. Like anything else that's free, | |
11 " netrwFileHandlers.vim is provided *as is* and comes with no | |
12 " warranty of any kind, either expressed or implied. In no | |
13 " event will the copyright holder be liable for any damages | |
14 " resulting from the use of this software. | |
15 " | |
16 " Rom 6:23 (WEB) For the wages of sin is death, but the free gift of God {{{1 | |
17 " is eternal life in Christ Jesus our Lord. | |
18 | |
19 " --------------------------------------------------------------------- | |
20 " Load Once: {{{1 | |
21 if exists("g:loaded_netrwFileHandlers") || &cp | |
22 finish | |
23 endif | |
22328 | 24 let g:loaded_netrwFileHandlers= "v11" |
2034 | 25 if v:version < 702 |
26 echohl WarningMsg | |
27 echo "***warning*** this version of netrwFileHandlers needs vim 7.2" | |
28 echohl Normal | |
29 finish | |
30 endif | |
555 | 31 let s:keepcpo= &cpo |
32 set cpo&vim | |
33 | |
34 " --------------------------------------------------------------------- | |
857 | 35 " netrwFileHandlers#Invoke: {{{1 |
720 | 36 fun! netrwFileHandlers#Invoke(exten,fname) |
37 " call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)") | |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
38 let exten= a:exten |
1125 | 39 " list of supported special characters. Consider rcs,v --- that can be |
40 " supported with a NFH_rcsCOMMAv() handler | |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
41 if exten =~ '[@:,$!=\-+%?;~]' |
1125 | 42 let specials= { |
43 \ '@' : 'AT', | |
44 \ ':' : 'COLON', | |
45 \ ',' : 'COMMA', | |
46 \ '$' : 'DOLLAR', | |
47 \ '!' : 'EXCLAMATION', | |
48 \ '=' : 'EQUAL', | |
49 \ '-' : 'MINUS', | |
50 \ '+' : 'PLUS', | |
51 \ '%' : 'PERCENT', | |
52 \ '?' : 'QUESTION', | |
53 \ ';' : 'SEMICOLON', | |
54 \ '~' : 'TILDE'} | |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
55 let exten= substitute(a:exten,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge') |
1125 | 56 " call Decho('fname<'.fname.'> done with dictionary') |
57 endif | |
720 | 58 |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
59 if a:exten != "" && exists("*NFH_".exten) |
1125 | 60 " support user NFH_*() functions |
61 " call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")') | |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
62 exe "let ret= NFH_".exten.'("'.a:fname.'")' |
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
63 elseif a:exten != "" && exists("*s:NFH_".exten) |
1125 | 64 " use builtin-NFH_*() functions |
65 " call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")') | |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4339
diff
changeset
|
66 exe "let ret= s:NFH_".a:exten.'("'.a:fname.'")' |
720 | 67 endif |
3456 | 68 |
720 | 69 " call Dret("netrwFileHandlers#Invoke 0 : ret=".ret) |
70 return 0 | |
555 | 71 endfun |
72 | |
73 " --------------------------------------------------------------------- | |
720 | 74 " s:NFH_html: handles html when the user hits "x" when the {{{1 |
555 | 75 " cursor is atop a *.html file |
720 | 76 fun! s:NFH_html(pagefile) |
77 " call Dfunc("s:NFH_html(".a:pagefile.")") | |
555 | 78 |
79 let page= substitute(a:pagefile,'^','file://','') | |
80 | |
81 if executable("mozilla") | |
82 " call Decho("executing !mozilla ".page) | |
2034 | 83 exe "!mozilla ".shellescape(page,1) |
555 | 84 elseif executable("netscape") |
85 " call Decho("executing !netscape ".page) | |
2034 | 86 exe "!netscape ".shellescape(page,1) |
555 | 87 else |
720 | 88 " call Dret("s:NFH_html 0") |
555 | 89 return 0 |
90 endif | |
91 | |
720 | 92 " call Dret("s:NFH_html 1") |
555 | 93 return 1 |
94 endfun | |
95 | |
96 " --------------------------------------------------------------------- | |
720 | 97 " s:NFH_htm: handles html when the user hits "x" when the {{{1 |
555 | 98 " cursor is atop a *.htm file |
720 | 99 fun! s:NFH_htm(pagefile) |
100 " call Dfunc("s:NFH_htm(".a:pagefile.")") | |
555 | 101 |
102 let page= substitute(a:pagefile,'^','file://','') | |
103 | |
104 if executable("mozilla") | |
105 " call Decho("executing !mozilla ".page) | |
2034 | 106 exe "!mozilla ".shellescape(page,1) |
555 | 107 elseif executable("netscape") |
108 " call Decho("executing !netscape ".page) | |
2034 | 109 exe "!netscape ".shellescape(page,1) |
555 | 110 else |
720 | 111 " call Dret("s:NFH_htm 0") |
555 | 112 return 0 |
113 endif | |
114 | |
720 | 115 " call Dret("s:NFH_htm 1") |
555 | 116 return 1 |
117 endfun | |
118 | |
119 " --------------------------------------------------------------------- | |
720 | 120 " s:NFH_jpg: {{{1 |
121 fun! s:NFH_jpg(jpgfile) | |
122 " call Dfunc("s:NFH_jpg(jpgfile<".a:jpgfile.">)") | |
555 | 123 |
124 if executable("gimp") | |
2034 | 125 exe "silent! !gimp -s ".shellescape(a:jpgfile,1) |
555 | 126 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") |
127 " call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'")) | |
2034 | 128 exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:jpgfile,1) |
555 | 129 else |
720 | 130 " call Dret("s:NFH_jpg 0") |
555 | 131 return 0 |
132 endif | |
133 | |
720 | 134 " call Dret("s:NFH_jpg 1") |
555 | 135 return 1 |
136 endfun | |
137 | |
138 " --------------------------------------------------------------------- | |
720 | 139 " s:NFH_gif: {{{1 |
140 fun! s:NFH_gif(giffile) | |
141 " call Dfunc("s:NFH_gif(giffile<".a:giffile.">)") | |
555 | 142 |
143 if executable("gimp") | |
2034 | 144 exe "silent! !gimp -s ".shellescape(a:giffile,1) |
555 | 145 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") |
2034 | 146 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:giffile,1) |
555 | 147 else |
720 | 148 " call Dret("s:NFH_gif 0") |
555 | 149 return 0 |
150 endif | |
151 | |
720 | 152 " call Dret("s:NFH_gif 1") |
555 | 153 return 1 |
154 endfun | |
155 | |
156 " --------------------------------------------------------------------- | |
720 | 157 " s:NFH_png: {{{1 |
158 fun! s:NFH_png(pngfile) | |
159 " call Dfunc("s:NFH_png(pngfile<".a:pngfile.">)") | |
555 | 160 |
161 if executable("gimp") | |
2034 | 162 exe "silent! !gimp -s ".shellescape(a:pngfile,1) |
555 | 163 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") |
2034 | 164 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pngfile,1) |
555 | 165 else |
720 | 166 " call Dret("s:NFH_png 0") |
555 | 167 return 0 |
168 endif | |
169 | |
720 | 170 " call Dret("s:NFH_png 1") |
555 | 171 return 1 |
172 endfun | |
173 | |
174 " --------------------------------------------------------------------- | |
720 | 175 " s:NFH_pnm: {{{1 |
176 fun! s:NFH_pnm(pnmfile) | |
177 " call Dfunc("s:NFH_pnm(pnmfile<".a:pnmfile.">)") | |
555 | 178 |
179 if executable("gimp") | |
2034 | 180 exe "silent! !gimp -s ".shellescape(a:pnmfile,1) |
555 | 181 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") |
2034 | 182 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pnmfile,1) |
555 | 183 else |
720 | 184 " call Dret("s:NFH_pnm 0") |
555 | 185 return 0 |
186 endif | |
187 | |
720 | 188 " call Dret("s:NFH_pnm 1") |
555 | 189 return 1 |
190 endfun | |
191 | |
192 " --------------------------------------------------------------------- | |
720 | 193 " s:NFH_bmp: visualize bmp files {{{1 |
194 fun! s:NFH_bmp(bmpfile) | |
195 " call Dfunc("s:NFH_bmp(bmpfile<".a:bmpfile.">)") | |
555 | 196 |
197 if executable("gimp") | |
198 exe "silent! !gimp -s ".a:bmpfile | |
199 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") | |
2034 | 200 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:bmpfile,1) |
555 | 201 else |
720 | 202 " call Dret("s:NFH_bmp 0") |
555 | 203 return 0 |
204 endif | |
205 | |
720 | 206 " call Dret("s:NFH_bmp 1") |
555 | 207 return 1 |
208 endfun | |
209 | |
210 " --------------------------------------------------------------------- | |
720 | 211 " s:NFH_pdf: visualize pdf files {{{1 |
212 fun! s:NFH_pdf(pdf) | |
213 " call Dfunc("s:NFH_pdf(pdf<".a:pdf.">)") | |
555 | 214 if executable("gs") |
2034 | 215 exe 'silent! !gs '.shellescape(a:pdf,1) |
1125 | 216 elseif executable("pdftotext") |
2034 | 217 exe 'silent! pdftotext -nopgbrk '.shellescape(a:pdf,1) |
555 | 218 else |
720 | 219 " call Dret("s:NFH_pdf 0") |
555 | 220 return 0 |
221 endif | |
222 | |
720 | 223 " call Dret("s:NFH_pdf 1") |
555 | 224 return 1 |
225 endfun | |
226 | |
227 " --------------------------------------------------------------------- | |
720 | 228 " s:NFH_doc: visualize doc files {{{1 |
229 fun! s:NFH_doc(doc) | |
230 " call Dfunc("s:NFH_doc(doc<".a:doc.">)") | |
555 | 231 |
232 if executable("oowriter") | |
2034 | 233 exe 'silent! !oowriter '.shellescape(a:doc,1) |
555 | 234 redraw! |
235 else | |
720 | 236 " call Dret("s:NFH_doc 0") |
555 | 237 return 0 |
238 endif | |
239 | |
720 | 240 " call Dret("s:NFH_doc 1") |
555 | 241 return 1 |
242 endfun | |
243 | |
244 " --------------------------------------------------------------------- | |
720 | 245 " s:NFH_sxw: visualize sxw files {{{1 |
246 fun! s:NFH_sxw(sxw) | |
247 " call Dfunc("s:NFH_sxw(sxw<".a:sxw.">)") | |
555 | 248 |
249 if executable("oowriter") | |
2034 | 250 exe 'silent! !oowriter '.shellescape(a:sxw,1) |
555 | 251 redraw! |
252 else | |
720 | 253 " call Dret("s:NFH_sxw 0") |
555 | 254 return 0 |
255 endif | |
256 | |
720 | 257 " call Dret("s:NFH_sxw 1") |
555 | 258 return 1 |
259 endfun | |
260 | |
261 " --------------------------------------------------------------------- | |
720 | 262 " s:NFH_xls: visualize xls files {{{1 |
263 fun! s:NFH_xls(xls) | |
264 " call Dfunc("s:NFH_xls(xls<".a:xls.">)") | |
555 | 265 |
266 if executable("oocalc") | |
2034 | 267 exe 'silent! !oocalc '.shellescape(a:xls,1) |
555 | 268 redraw! |
269 else | |
720 | 270 " call Dret("s:NFH_xls 0") |
555 | 271 return 0 |
272 endif | |
273 | |
720 | 274 " call Dret("s:NFH_xls 1") |
555 | 275 return 1 |
276 endfun | |
277 | |
278 " --------------------------------------------------------------------- | |
720 | 279 " s:NFH_ps: handles PostScript files {{{1 |
280 fun! s:NFH_ps(ps) | |
281 " call Dfunc("s:NFH_ps(ps<".a:ps.">)") | |
555 | 282 if executable("gs") |
720 | 283 " call Decho("exe silent! !gs ".a:ps) |
2034 | 284 exe "silent! !gs ".shellescape(a:ps,1) |
555 | 285 redraw! |
286 elseif executable("ghostscript") | |
720 | 287 " call Decho("exe silent! !ghostscript ".a:ps) |
2034 | 288 exe "silent! !ghostscript ".shellescape(a:ps,1) |
555 | 289 redraw! |
290 elseif executable("gswin32") | |
2034 | 291 " call Decho("exe silent! !gswin32 ".shellescape(a:ps,1)) |
292 exe "silent! !gswin32 ".shellescape(a:ps,1) | |
555 | 293 redraw! |
294 else | |
720 | 295 " call Dret("s:NFH_ps 0") |
555 | 296 return 0 |
297 endif | |
298 | |
720 | 299 " call Dret("s:NFH_ps 1") |
555 | 300 return 1 |
301 endfun | |
302 | |
303 " --------------------------------------------------------------------- | |
720 | 304 " s:NFH_eps: handles encapsulated PostScript files {{{1 |
305 fun! s:NFH_eps(eps) | |
306 " call Dfunc("s:NFH_eps()") | |
555 | 307 if executable("gs") |
2034 | 308 exe "silent! !gs ".shellescape(a:eps,1) |
555 | 309 redraw! |
310 elseif executable("ghostscript") | |
2034 | 311 exe "silent! !ghostscript ".shellescape(a:eps,1) |
555 | 312 redraw! |
313 elseif executable("ghostscript") | |
2034 | 314 exe "silent! !ghostscript ".shellescape(a:eps,1) |
555 | 315 redraw! |
316 elseif executable("gswin32") | |
2034 | 317 exe "silent! !gswin32 ".shellescape(a:eps,1) |
555 | 318 redraw! |
319 else | |
720 | 320 " call Dret("s:NFH_eps 0") |
555 | 321 return 0 |
322 endif | |
720 | 323 " call Dret("s:NFH_eps 0") |
324 return 1 | |
555 | 325 endfun |
326 | |
327 " --------------------------------------------------------------------- | |
720 | 328 " s:NFH_fig: handles xfig files {{{1 |
329 fun! s:NFH_fig(fig) | |
330 " call Dfunc("s:NFH_fig()") | |
555 | 331 if executable("xfig") |
332 exe "silent! !xfig ".a:fig | |
333 redraw! | |
334 else | |
720 | 335 " call Dret("s:NFH_fig 0") |
555 | 336 return 0 |
337 endif | |
338 | |
720 | 339 " call Dret("s:NFH_fig 1") |
555 | 340 return 1 |
341 endfun | |
342 | |
343 " --------------------------------------------------------------------- | |
720 | 344 " s:NFH_obj: handles tgif's obj files {{{1 |
345 fun! s:NFH_obj(obj) | |
346 " call Dfunc("s:NFH_obj()") | |
555 | 347 if has("unix") && executable("tgif") |
348 exe "silent! !tgif ".a:obj | |
349 redraw! | |
350 else | |
720 | 351 " call Dret("s:NFH_obj 0") |
555 | 352 return 0 |
353 endif | |
354 | |
720 | 355 " call Dret("s:NFH_obj 1") |
555 | 356 return 1 |
357 endfun | |
358 | |
359 let &cpo= s:keepcpo | |
3456 | 360 unlet s:keepcpo |
555 | 361 " --------------------------------------------------------------------- |
362 " Modelines: {{{1 | |
1125 | 363 " vim: fdm=marker |