comparison runtime/plugin/NetrwFileHandlers.vim @ 446:7472c565592a v7.0117

updated for version 7.0117
author vimboss
date Wed, 27 Jul 2005 21:13:01 +0000
parents 125e80798a85
children f99544c85670
comparison
equal deleted inserted replaced
445:c773cb978acf 446:7472c565592a
1 " NetrwFileHandlers: contains various extension-based file handlers for 1 " NetrwFileHandlers: contains various extension-based file handlers for
2 " netrw's browsers' x command ("eXecute launcher") 2 " netrw's browsers' x command ("eXecute launcher")
3 " Author: Charles E. Campbell, Jr. 3 " Author: Charles E. Campbell, Jr.
4 " Date: Aug 31, 2004 4 " Date: Aug 31, 2004
5 " Version: 3 5 " Version: 3
6 6
7 " --------------------------------------------------------------------- 7 " ---------------------------------------------------------------------
8 " Prevent Reloading: {{{1 8 " Prevent Reloading: {{{1
9 if exists("g:loaded_netrwfilehandlers") || &cp 9 if exists("g:loaded_netrwfilehandlers") || &cp
10 finish 10 finish
11 endif 11 endif
12 let g:loaded_netrwfilehandlers= "v3" 12 let g:loaded_netrwfilehandlers= "v3"
13 13
14 " --------------------------------------------------------------------- 14 " ---------------------------------------------------------------------
15 " NetrwFileHandler_html: handles html when the user hits "x" when the {{{1 15 " NetrwFileHandler_html: handles html when the user hits "x" when the {{{1
16 " cursor is atop a *.html file 16 " cursor is atop a *.html file
17 fun! NetrwFileHandler_html(pagefile) 17 fun! NetrwFileHandler_html(pagefile)
18 " call Dfunc("NetrwFileHandler_html(".a:pagefile.")") 18 let page = substitute(a:pagefile, '^', 'file://', '')
19
20 let page= substitute(a:pagefile,'^','file://','')
21 19
22 if executable("mozilla") 20 if executable("mozilla")
23 " call Decho("executing !mozilla ".page) 21 exe "!mozilla \"" . page . '"'
24 exe "!mozilla \"".page.'"'
25 elseif executable("netscape") 22 elseif executable("netscape")
26 " call Decho("executing !netscape ".page) 23 exe "!netscape \"" . page . '"'
27 exe "!netscape \"".page.'"' 24 else
28 else 25 return 0
29 " call Dret("NetrwFileHandler_html 0") 26 endif
30 return 0 27
31 endif
32
33 " call Dret("NetrwFileHandler_html 1")
34 return 1 28 return 1
35 endfun 29 endfun
36 30
37 " --------------------------------------------------------------------- 31 " ---------------------------------------------------------------------
38 " NetrwFileHandler_htm: handles html when the user hits "x" when the {{{1 32 " NetrwFileHandler_htm: handles html when the user hits "x" when the {{{1
39 " cursor is atop a *.htm file 33 " cursor is atop a *.htm file
40 fun! NetrwFileHandler_htm(pagefile) 34 fun! NetrwFileHandler_htm(pagefile)
41 " call Dfunc("NetrwFileHandler_htm(".a:pagefile.")") 35 let page = substitute(a:pagefile, '^', 'file://', '')
42
43 let page= substitute(a:pagefile,'^','file://','')
44 36
45 if executable("mozilla") 37 if executable("mozilla")
46 " call Decho("executing !mozilla ".page) 38 exe "!mozilla \"" . page . '"'
47 exe "!mozilla \"".page.'"'
48 elseif executable("netscape") 39 elseif executable("netscape")
49 " call Decho("executing !netscape ".page) 40 exe "!netscape \"" . page . '"'
50 exe "!netscape \"".page.'"' 41 else
51 else 42 return 0
52 " call Dret("NetrwFileHandler_htm 0") 43 endif
53 return 0 44
54 endif
55
56 " call Dret("NetrwFileHandler_htm 1")
57 return 1 45 return 1
58 endfun 46 endfun
59 47
60 " --------------------------------------------------------------------- 48 " ---------------------------------------------------------------------
61 " NetrwFileHandler_jpg: {{{1 49 " NetrwFileHandler_jpg: {{{1
62 fun! NetrwFileHandler_jpg(jpgfile) 50 fun! NetrwFileHandler_jpg(jpgfile)
63 " call Dfunc("NetrwFileHandler_jpg(jpgfile<".a:jpgfile.">)") 51 if executable("gimp")
64 52 exe "silent! !gimp -s " . a:jpgfile
65 if executable("gimp")
66 exe "silent! !gimp -s ".a:jpgfile
67 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") 53 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
68 " call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'")) 54 exe "!" . expand("$SystemRoot") . "/SYSTEM32/MSPAINT \"" . a:jpgfile . '"'
69 exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:jpgfile.'"' 55 else
70 else 56 return 0
71 " call Dret("NetrwFileHandler_jpg 0") 57 endif
72 return 0 58
73 endif
74
75 " call Dret("NetrwFileHandler_jpg 1")
76 return 1 59 return 1
77 endfun 60 endfun
78 61
79 " --------------------------------------------------------------------- 62 " ---------------------------------------------------------------------
80 " NetrwFileHandler_gif: {{{1 63 " NetrwFileHandler_gif: {{{1
81 fun! NetrwFileHandler_gif(giffile) 64 fun! NetrwFileHandler_gif(giffile)
82 " call Dfunc("NetrwFileHandler_gif(giffile<".a:giffile.">)") 65 if executable("gimp")
83 66 exe "silent! !gimp -s " . a:giffile
84 if executable("gimp") 67 elseif executable(expand("$SystemRoot") . "/SYSTEM32/MSPAINT.EXE")
85 exe "silent! !gimp -s ".a:giffile 68 exe "silent! !" . expand("$SystemRoot") . "/SYSTEM32/MSPAINT \"" . a:giffile . '"'
86 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") 69 else
87 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:giffile.'"' 70 return 0
88 else 71 endif
89 " call Dret("NetrwFileHandler_gif 0") 72
90 return 0
91 endif
92
93 " call Dret("NetrwFileHandler_gif 1")
94 return 1 73 return 1
95 endfun 74 endfun
96 75
97 " --------------------------------------------------------------------- 76 " ---------------------------------------------------------------------
98 " NetrwFileHandler_png: {{{1 77 " NetrwFileHandler_png: {{{1
99 fun! NetrwFileHandler_png(pngfile) 78 fun! NetrwFileHandler_png(pngfile)
100 " call Dfunc("NetrwFileHandler_png(pngfile<".a:pngfile.">)") 79 if executable("gimp")
101 80 exe "silent! !gimp -s " . a:pngfile
102 if executable("gimp") 81 elseif executable(expand("$SystemRoot") . "/SYSTEM32/MSPAINT.EXE")
103 exe "silent! !gimp -s ".a:pngfile 82 exe "silent! !" . expand("$SystemRoot") . "/SYSTEM32/MSPAINT \"" . a:pngfile . '"'
104 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") 83 else
105 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pngfile.'"' 84 return 0
106 else 85 endif
107 " call Dret("NetrwFileHandler_png 0") 86
108 return 0
109 endif
110
111 " call Dret("NetrwFileHandler_png 1")
112 return 1 87 return 1
113 endfun 88 endfun
114 89
115 " --------------------------------------------------------------------- 90 " ---------------------------------------------------------------------
116 " NetrwFileHandler_pnm: {{{1 91 " NetrwFileHandler_pnm: {{{1
117 fun! NetrwFileHandler_pnm(pnmfile) 92 fun! NetrwFileHandler_pnm(pnmfile)
118 " call Dfunc("NetrwFileHandler_pnm(pnmfile<".a:pnmfile.">)") 93 if executable("gimp")
119 94 exe "silent! !gimp -s " . a:pnmfile
120 if executable("gimp") 95 elseif executable(expand("$SystemRoot") . "/SYSTEM32/MSPAINT.EXE")
121 exe "silent! !gimp -s ".a:pnmfile 96 exe "silent! !" . expand("$SystemRoot") . "/SYSTEM32/MSPAINT \"" . a:pnmfile . '"'
122 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") 97 else
123 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pnmfile.'"' 98 return 0
124 else 99 endif
125 " call Dret("NetrwFileHandler_pnm 0") 100
126 return 0
127 endif
128
129 " call Dret("NetrwFileHandler_pnm 1")
130 return 1 101 return 1
131 endfun 102 endfun
132 103
133 " --------------------------------------------------------------------- 104 " ---------------------------------------------------------------------
134 " NetrwFileHandler_bmp: visualize bmp files {{{1 105 " NetrwFileHandler_bmp: visualize bmp files {{{1
135 fun! NetrwFileHandler_bmp(bmpfile) 106 fun! NetrwFileHandler_bmp(bmpfile)
136 " call Dfunc("NetrwFileHandler_bmp(bmpfile<".a:bmpfile.">)") 107 if executable("gimp")
137 108 exe "silent! !gimp -s " . a:bmpfile
138 if executable("gimp")
139 exe "silent! !gimp -s ".a:bmpfile
140 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") 109 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
141 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:bmpfile.'"' 110 exe "silent! !" . expand("$SystemRoot") . "/SYSTEM32/MSPAINT \"" . a:bmpfile . '"'
142 else 111 else
143 " call Dret("NetrwFileHandler_bmp 0") 112 return 0
144 return 0 113 endif
145 endif 114
146
147 " call Dret("NetrwFileHandler_bmp 1")
148 return 1 115 return 1
149 endfun 116 endfun
150 117
151 " --------------------------------------------------------------------- 118 " ---------------------------------------------------------------------
152 " NetrwFileHandler_pdf: visualize pdf files {{{1 119 " NetrwFileHandler_pdf: visualize pdf files {{{1
153 fun! NetrwFileHandler_pdf(pdf) 120 fun! NetrwFileHandler_pdf(pdf)
154 " " call Dfunc("NetrwFileHandler_pdf(pdf<".a:pdf.">)") 121 if executable("acroread")
155 if executable("gs") 122 exe 'silent! !acroread "' . a:pdf . '"'
156 exe 'silent! !gs "'.a:pdf.'"' 123 elseif executable("gs")
157 else 124 exe 'silent! !gs "' . a:pdf . '"'
158 " " call Dret("NetrwFileHandler_pdf 0") 125 else
159 return 0 126 return 0
160 endif 127 endif
161 128
162 " " call Dret("NetrwFileHandler_pdf 1")
163 return 1 129 return 1
164 endfun 130 endfun
165 131
166 " --------------------------------------------------------------------- 132 " ---------------------------------------------------------------------
167 " NetrwFileHandler_sxw: visualize sxw files {{{1 133 " NetrwFileHandler_sxw: visualize sxw files {{{1
168 fun! NetrwFileHandler_sxw(sxw) 134 fun! NetrwFileHandler_sxw(sxw)
169 " " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)")
170 if executable("gs") 135 if executable("gs")
171 exe 'silent! !gs "'.a:sxw.'"' 136 exe 'silent! !gs "' . a:sxw . '"'
172 else 137 else
173 " " call Dret("NetrwFileHandler_sxw 0") 138 return 0
174 return 0 139 endif
175 endif 140
176
177 " " call Dret("NetrwFileHandler_sxw 1")
178 return 1 141 return 1
179 endfun 142 endfun
180 143
181 " --------------------------------------------------------------------- 144 " ---------------------------------------------------------------------
182 " NetrwFileHandler_doc: visualize doc files {{{1 145 " NetrwFileHandler_doc: visualize doc files {{{1
183 fun! NetrwFileHandler_doc(doc) 146 fun! NetrwFileHandler_doc(doc)
184 " " call Dfunc("NetrwFileHandler_doc(doc<".a:doc.">)")
185
186 if executable("oowriter") 147 if executable("oowriter")
187 exe 'silent! !oowriter "'.a:doc.'"' 148 exe 'silent! !oowriter "' . a:doc . '"'
188 redraw! 149 redraw!
189 else 150 else
190 " " call Dret("NetrwFileHandler_doc 0") 151 return 0
191 return 0 152 endif
192 endif 153
193
194 " " call Dret("NetrwFileHandler_doc 1")
195 return 1 154 return 1
196 endfun 155 endfun
197 156
198 " --------------------------------------------------------------------- 157 " ---------------------------------------------------------------------
199 " NetrwFileHandler_sxw: visualize sxw files {{{1 158 " NetrwFileHandler_sxw: visualize sxw files {{{1
200 fun! NetrwFileHandler_sxw(sxw) 159 fun! NetrwFileHandler_sxw(sxw)
201 " " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)")
202
203 if executable("oowriter") 160 if executable("oowriter")
204 exe 'silent! !oowriter "'.a:sxw.'"' 161 exe 'silent! !oowriter "' . a:sxw . '"'
205 redraw! 162 redraw!
206 else 163 else
207 " " call Dret("NetrwFileHandler_sxw 0") 164 return 0
208 return 0 165 endif
209 endif 166
210
211 " " call Dret("NetrwFileHandler_sxw 1")
212 return 1 167 return 1
213 endfun 168 endfun
214 169
215 " --------------------------------------------------------------------- 170 " ---------------------------------------------------------------------
216 " NetrwFileHandler_xls: visualize xls files {{{1 171 " NetrwFileHandler_xls: visualize xls files {{{1
217 fun! NetrwFileHandler_xls(xls) 172 fun! NetrwFileHandler_xls(xls)
218 " " call Dfunc("NetrwFileHandler_xls(xls<".a:xls.">)")
219
220 if executable("oocalc") 173 if executable("oocalc")
221 exe 'silent! !oocalc "'.a:xls.'"' 174 exe 'silent! !oocalc "' . a:xls . '"'
222 redraw! 175 redraw!
223 else 176 else
224 " " call Dret("NetrwFileHandler_xls 0") 177 return 0
225 return 0 178 endif
226 endif 179
227
228 " " call Dret("NetrwFileHandler_xls 1")
229 return 1 180 return 1
230 endfun 181 endfun
231 182
232 " --------------------------------------------------------------------- 183 " ---------------------------------------------------------------------
233 " NetrwFileHandler_ps: handles PostScript files {{{1 184 " NetrwFileHandler_ps: handles PostScript files {{{1
234 fun! NetrwFileHandler_ps(ps) 185 fun! NetrwFileHandler_ps(ps)
235 " call Dfunc("NetrwFileHandler_ps()")
236 if executable("gs") 186 if executable("gs")
237 exe "silent! !gs ".a:ps 187 exe "silent! !gs " . a:ps
238 redraw! 188 redraw!
239 elseif executable("ghostscript") 189 elseif executable("ghostscript")
240 exe "silent! !ghostscript ".a:ps 190 exe "silent! !ghostscript " . a:ps
241 redraw! 191 redraw!
242 elseif executable("ghostscript") 192 elseif executable("ghostscript")
243 exe "silent! !ghostscript ".a:ps 193 exe "silent! !ghostscript " . a:ps
244 redraw! 194 redraw!
245 elseif executable("gswin32") 195 elseif executable("gswin32")
246 exe "silent! !gswin32 \"".a:ps.'"' 196 exe "silent! !gswin32 \"" . a:ps . '"'
247 redraw! 197 redraw!
248 else 198 else
249 " call Dret("NetrwFileHandler_ps 0") 199 return 0
250 return 0 200 endif
251 endif 201
252
253 " call Dret("NetrwFileHandler_ps 1")
254 return 1 202 return 1
255 endfun 203 endfun
256 204
257 " --------------------------------------------------------------------- 205 " ---------------------------------------------------------------------
258 " NetrwFileHandler_eps: handles encapsulated PostScript files {{{1 206 " NetrwFileHandler_eps: handles encapsulated PostScript files {{{1
259 fun! NetrwFileHandler_eps(eps) 207 fun! NetrwFileHandler_eps(eps)
260 " call Dfunc("NetrwFileHandler_ps()")
261 if executable("gs") 208 if executable("gs")
262 exe "silent! !gs ".a:eps 209 exe "silent! !gs " . a:eps
263 redraw! 210 redraw!
264 elseif executable("ghostscript") 211 elseif executable("ghostscript")
265 exe "silent! !ghostscript ".a:eps 212 exe "silent! !ghostscript " . a:eps
266 redraw! 213 redraw!
267 elseif executable("ghostscript") 214 elseif executable("ghostscript")
268 exe "silent! !ghostscript ".a:eps 215 exe "silent! !ghostscript " . a:eps
269 redraw! 216 redraw!
270 elseif executable("gswin32") 217 elseif executable("gswin32")
271 exe "silent! !gswin32 \"".a:eps.'"' 218 exe "silent! !gswin32 \"" . a:eps . '"'
272 redraw! 219 redraw!
273 else 220 else
274 " call Dret("NetrwFileHandler_ps 0")
275 return 0 221 return 0
276 endif 222 endif
277 endfun 223 endfun
278 224
279 " --------------------------------------------------------------------- 225 " ---------------------------------------------------------------------
280 " NetrwFileHandler_fig: handles xfig files {{{1 226 " NetrwFileHandler_fig: handles xfig files {{{1
281 fun! NetrwFileHandler_fig(fig) 227 fun! NetrwFileHandler_fig(fig)
282 " call Dfunc("NetrwFileHandler_fig()")
283 if executable("xfig") 228 if executable("xfig")
284 exe "silent! !xfig ".a:fig 229 exe "silent! !xfig " . a:fig
285 redraw! 230 redraw!
286 else 231 else
287 " call Dret("NetrwFileHandler_fig 0") 232 return 0
288 return 0 233 endif
289 endif 234
290
291 " call Dret("NetrwFileHandler_fig 1")
292 return 1 235 return 1
293 endfun 236 endfun
294 237
295 " --------------------------------------------------------------------- 238 " ---------------------------------------------------------------------
296 " NetrwFileHandler_obj: handles tgif's obj files {{{1 239 " NetrwFileHandler_obj: handles tgif's obj files {{{1
297 fun! NetrwFileHandler_obj(obj) 240 fun! NetrwFileHandler_obj(obj)
298 " call Dfunc("NetrwFileHandler_obj()")
299 if has("unix") && executable("tgif") 241 if has("unix") && executable("tgif")
300 exe "silent! !tgif ".a:obj 242 exe "silent! !tgif " . a:obj
301 redraw! 243 redraw!
302 else 244 else
303 " call Dret("NetrwFileHandler_obj 0") 245 return 0
304 return 0 246 endif
305 endif 247
306 248 return 1
307 " call Dret("NetrwFileHandler_obj 1") 249 endfun
308 return 1 250
309 endfun 251
310 252 " ---------------------------------------------------------------------
311 253 " vim: fdm=marker
312 " ---------------------------------------------------------------------
313 " vim: ts=4 fdm=marker