555
|
1 " netrwFileHandlers: contains various extension-based file handlers for
|
|
2 " netrw's browsers' x command ("eXecute launcher")
|
|
3 " Author: Charles E. Campbell, Jr.
|
798
|
4 " Date: Mar 22, 2006
|
|
5 " Version: 8
|
555
|
6 " Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
|
|
7 " Permission is hereby granted to use and distribute this code,
|
|
8 " with or without modifications, provided that this copyright
|
|
9 " notice is copied with it. Like anything else that's free,
|
|
10 " netrwFileHandlers.vim is provided *as is* and comes with no
|
|
11 " warranty of any kind, either expressed or implied. In no
|
|
12 " event will the copyright holder be liable for any damages
|
|
13 " resulting from the use of this software.
|
|
14 "
|
|
15 " Rom 6:23 (WEB) For the wages of sin is death, but the free gift of God {{{1
|
|
16 " is eternal life in Christ Jesus our Lord.
|
|
17
|
|
18 " ---------------------------------------------------------------------
|
|
19 " Load Once: {{{1
|
|
20 if exists("g:loaded_netrwFileHandlers") || &cp
|
|
21 finish
|
|
22 endif
|
|
23 let s:keepcpo= &cpo
|
|
24 set cpo&vim
|
798
|
25 let g:loaded_netrwFileHandlers= "v8"
|
555
|
26
|
|
27 " ---------------------------------------------------------------------
|
720
|
28 " netrwFileHandlers#Invoke: {{{2
|
|
29 fun! netrwFileHandlers#Invoke(exten,fname)
|
|
30 " call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")
|
|
31
|
|
32 if a:exten != "" && exists("*s:NFH_".a:exten)
|
|
33 " call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.a:fname.'")')
|
|
34 exe "let ret= s:NFH_".a:exten.'("'.a:fname.'")'
|
|
35 endif
|
|
36
|
|
37 " call Dret("netrwFileHandlers#Invoke 0 : ret=".ret)
|
|
38 return 0
|
555
|
39 endfun
|
|
40
|
|
41 " ---------------------------------------------------------------------
|
720
|
42 " s:NFH_html: handles html when the user hits "x" when the {{{1
|
555
|
43 " cursor is atop a *.html file
|
720
|
44 fun! s:NFH_html(pagefile)
|
|
45 " call Dfunc("s:NFH_html(".a:pagefile.")")
|
555
|
46
|
|
47 let page= substitute(a:pagefile,'^','file://','')
|
|
48
|
|
49 if executable("mozilla")
|
|
50 " call Decho("executing !mozilla ".page)
|
|
51 exe "!mozilla \"".page.'"'
|
|
52 elseif executable("netscape")
|
|
53 " call Decho("executing !netscape ".page)
|
|
54 exe "!netscape \"".page.'"'
|
|
55 else
|
720
|
56 " call Dret("s:NFH_html 0")
|
555
|
57 return 0
|
|
58 endif
|
|
59
|
720
|
60 " call Dret("s:NFH_html 1")
|
555
|
61 return 1
|
|
62 endfun
|
|
63
|
|
64 " ---------------------------------------------------------------------
|
720
|
65 " s:NFH_htm: handles html when the user hits "x" when the {{{1
|
555
|
66 " cursor is atop a *.htm file
|
720
|
67 fun! s:NFH_htm(pagefile)
|
|
68 " call Dfunc("s:NFH_htm(".a:pagefile.")")
|
555
|
69
|
|
70 let page= substitute(a:pagefile,'^','file://','')
|
|
71
|
|
72 if executable("mozilla")
|
|
73 " call Decho("executing !mozilla ".page)
|
|
74 exe "!mozilla \"".page.'"'
|
|
75 elseif executable("netscape")
|
|
76 " call Decho("executing !netscape ".page)
|
|
77 exe "!netscape \"".page.'"'
|
|
78 else
|
720
|
79 " call Dret("s:NFH_htm 0")
|
555
|
80 return 0
|
|
81 endif
|
|
82
|
720
|
83 " call Dret("s:NFH_htm 1")
|
555
|
84 return 1
|
|
85 endfun
|
|
86
|
|
87 " ---------------------------------------------------------------------
|
720
|
88 " s:NFH_jpg: {{{1
|
|
89 fun! s:NFH_jpg(jpgfile)
|
|
90 " call Dfunc("s:NFH_jpg(jpgfile<".a:jpgfile.">)")
|
555
|
91
|
|
92 if executable("gimp")
|
|
93 exe "silent! !gimp -s ".a:jpgfile
|
|
94 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
|
|
95 " call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'"))
|
|
96 exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:jpgfile.'"'
|
|
97 else
|
720
|
98 " call Dret("s:NFH_jpg 0")
|
555
|
99 return 0
|
|
100 endif
|
|
101
|
720
|
102 " call Dret("s:NFH_jpg 1")
|
555
|
103 return 1
|
|
104 endfun
|
|
105
|
|
106 " ---------------------------------------------------------------------
|
720
|
107 " s:NFH_gif: {{{1
|
|
108 fun! s:NFH_gif(giffile)
|
|
109 " call Dfunc("s:NFH_gif(giffile<".a:giffile.">)")
|
555
|
110
|
|
111 if executable("gimp")
|
|
112 exe "silent! !gimp -s ".a:giffile
|
|
113 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
|
|
114 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:giffile.'"'
|
|
115 else
|
720
|
116 " call Dret("s:NFH_gif 0")
|
555
|
117 return 0
|
|
118 endif
|
|
119
|
720
|
120 " call Dret("s:NFH_gif 1")
|
555
|
121 return 1
|
|
122 endfun
|
|
123
|
|
124 " ---------------------------------------------------------------------
|
720
|
125 " s:NFH_png: {{{1
|
|
126 fun! s:NFH_png(pngfile)
|
|
127 " call Dfunc("s:NFH_png(pngfile<".a:pngfile.">)")
|
555
|
128
|
|
129 if executable("gimp")
|
|
130 exe "silent! !gimp -s ".a:pngfile
|
|
131 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
|
|
132 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pngfile.'"'
|
|
133 else
|
720
|
134 " call Dret("s:NFH_png 0")
|
555
|
135 return 0
|
|
136 endif
|
|
137
|
720
|
138 " call Dret("s:NFH_png 1")
|
555
|
139 return 1
|
|
140 endfun
|
|
141
|
|
142 " ---------------------------------------------------------------------
|
720
|
143 " s:NFH_pnm: {{{1
|
|
144 fun! s:NFH_pnm(pnmfile)
|
|
145 " call Dfunc("s:NFH_pnm(pnmfile<".a:pnmfile.">)")
|
555
|
146
|
|
147 if executable("gimp")
|
|
148 exe "silent! !gimp -s ".a:pnmfile
|
|
149 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
|
|
150 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pnmfile.'"'
|
|
151 else
|
720
|
152 " call Dret("s:NFH_pnm 0")
|
555
|
153 return 0
|
|
154 endif
|
|
155
|
720
|
156 " call Dret("s:NFH_pnm 1")
|
555
|
157 return 1
|
|
158 endfun
|
|
159
|
|
160 " ---------------------------------------------------------------------
|
720
|
161 " s:NFH_bmp: visualize bmp files {{{1
|
|
162 fun! s:NFH_bmp(bmpfile)
|
|
163 " call Dfunc("s:NFH_bmp(bmpfile<".a:bmpfile.">)")
|
555
|
164
|
|
165 if executable("gimp")
|
|
166 exe "silent! !gimp -s ".a:bmpfile
|
|
167 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
|
|
168 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:bmpfile.'"'
|
|
169 else
|
720
|
170 " call Dret("s:NFH_bmp 0")
|
555
|
171 return 0
|
|
172 endif
|
|
173
|
720
|
174 " call Dret("s:NFH_bmp 1")
|
555
|
175 return 1
|
|
176 endfun
|
|
177
|
|
178 " ---------------------------------------------------------------------
|
720
|
179 " s:NFH_pdf: visualize pdf files {{{1
|
|
180 fun! s:NFH_pdf(pdf)
|
|
181 " call Dfunc("s:NFH_pdf(pdf<".a:pdf.">)")
|
555
|
182 if executable("gs")
|
|
183 exe 'silent! !gs "'.a:pdf.'"'
|
|
184 else
|
720
|
185 " call Dret("s:NFH_pdf 0")
|
555
|
186 return 0
|
|
187 endif
|
|
188
|
720
|
189 " call Dret("s:NFH_pdf 1")
|
555
|
190 return 1
|
|
191 endfun
|
|
192
|
|
193 " ---------------------------------------------------------------------
|
720
|
194 " s:NFH_doc: visualize doc files {{{1
|
|
195 fun! s:NFH_doc(doc)
|
|
196 " call Dfunc("s:NFH_doc(doc<".a:doc.">)")
|
555
|
197
|
|
198 if executable("oowriter")
|
|
199 exe 'silent! !oowriter "'.a:doc.'"'
|
|
200 redraw!
|
|
201 else
|
720
|
202 " call Dret("s:NFH_doc 0")
|
555
|
203 return 0
|
|
204 endif
|
|
205
|
720
|
206 " call Dret("s:NFH_doc 1")
|
555
|
207 return 1
|
|
208 endfun
|
|
209
|
|
210 " ---------------------------------------------------------------------
|
720
|
211 " s:NFH_sxw: visualize sxw files {{{1
|
|
212 fun! s:NFH_sxw(sxw)
|
|
213 " call Dfunc("s:NFH_sxw(sxw<".a:sxw.">)")
|
555
|
214
|
|
215 if executable("oowriter")
|
|
216 exe 'silent! !oowriter "'.a:sxw.'"'
|
|
217 redraw!
|
|
218 else
|
720
|
219 " call Dret("s:NFH_sxw 0")
|
555
|
220 return 0
|
|
221 endif
|
|
222
|
720
|
223 " call Dret("s:NFH_sxw 1")
|
555
|
224 return 1
|
|
225 endfun
|
|
226
|
|
227 " ---------------------------------------------------------------------
|
720
|
228 " s:NFH_xls: visualize xls files {{{1
|
|
229 fun! s:NFH_xls(xls)
|
|
230 " call Dfunc("s:NFH_xls(xls<".a:xls.">)")
|
555
|
231
|
|
232 if executable("oocalc")
|
|
233 exe 'silent! !oocalc "'.a:xls.'"'
|
|
234 redraw!
|
|
235 else
|
720
|
236 " call Dret("s:NFH_xls 0")
|
555
|
237 return 0
|
|
238 endif
|
|
239
|
720
|
240 " call Dret("s:NFH_xls 1")
|
555
|
241 return 1
|
|
242 endfun
|
|
243
|
|
244 " ---------------------------------------------------------------------
|
720
|
245 " s:NFH_ps: handles PostScript files {{{1
|
|
246 fun! s:NFH_ps(ps)
|
|
247 " call Dfunc("s:NFH_ps(ps<".a:ps.">)")
|
555
|
248 if executable("gs")
|
720
|
249 " call Decho("exe silent! !gs ".a:ps)
|
555
|
250 exe "silent! !gs ".a:ps
|
|
251 redraw!
|
|
252 elseif executable("ghostscript")
|
720
|
253 " call Decho("exe silent! !ghostscript ".a:ps)
|
555
|
254 exe "silent! !ghostscript ".a:ps
|
|
255 redraw!
|
|
256 elseif executable("gswin32")
|
720
|
257 " call Decho("exe silent! !gswin32 \"".a:ps.'"')
|
555
|
258 exe "silent! !gswin32 \"".a:ps.'"'
|
|
259 redraw!
|
|
260 else
|
720
|
261 " call Dret("s:NFH_ps 0")
|
555
|
262 return 0
|
|
263 endif
|
|
264
|
720
|
265 " call Dret("s:NFH_ps 1")
|
555
|
266 return 1
|
|
267 endfun
|
|
268
|
|
269 " ---------------------------------------------------------------------
|
720
|
270 " s:NFH_eps: handles encapsulated PostScript files {{{1
|
|
271 fun! s:NFH_eps(eps)
|
|
272 " call Dfunc("s:NFH_eps()")
|
555
|
273 if executable("gs")
|
|
274 exe "silent! !gs ".a:eps
|
|
275 redraw!
|
|
276 elseif executable("ghostscript")
|
|
277 exe "silent! !ghostscript ".a:eps
|
|
278 redraw!
|
|
279 elseif executable("ghostscript")
|
|
280 exe "silent! !ghostscript ".a:eps
|
|
281 redraw!
|
|
282 elseif executable("gswin32")
|
|
283 exe "silent! !gswin32 \"".a:eps.'"'
|
|
284 redraw!
|
|
285 else
|
720
|
286 " call Dret("s:NFH_eps 0")
|
555
|
287 return 0
|
|
288 endif
|
720
|
289 " call Dret("s:NFH_eps 0")
|
|
290 return 1
|
555
|
291 endfun
|
|
292
|
|
293 " ---------------------------------------------------------------------
|
720
|
294 " s:NFH_fig: handles xfig files {{{1
|
|
295 fun! s:NFH_fig(fig)
|
|
296 " call Dfunc("s:NFH_fig()")
|
555
|
297 if executable("xfig")
|
|
298 exe "silent! !xfig ".a:fig
|
|
299 redraw!
|
|
300 else
|
720
|
301 " call Dret("s:NFH_fig 0")
|
555
|
302 return 0
|
|
303 endif
|
|
304
|
720
|
305 " call Dret("s:NFH_fig 1")
|
555
|
306 return 1
|
|
307 endfun
|
|
308
|
|
309 " ---------------------------------------------------------------------
|
720
|
310 " s:NFH_obj: handles tgif's obj files {{{1
|
|
311 fun! s:NFH_obj(obj)
|
|
312 " call Dfunc("s:NFH_obj()")
|
555
|
313 if has("unix") && executable("tgif")
|
|
314 exe "silent! !tgif ".a:obj
|
|
315 redraw!
|
|
316 else
|
720
|
317 " call Dret("s:NFH_obj 0")
|
555
|
318 return 0
|
|
319 endif
|
|
320
|
720
|
321 " call Dret("s:NFH_obj 1")
|
555
|
322 return 1
|
|
323 endfun
|
|
324
|
|
325 let &cpo= s:keepcpo
|
|
326 " ---------------------------------------------------------------------
|
|
327 " Modelines: {{{1
|
|
328 " vim: ts=4 fdm=marker
|