blob: 619115b99f2969e72b4487513878a6ec99206c6f [file] [log] [blame]
Bram Moolenaar843ee412004-06-30 16:16:41 +00001" NetrwFileHandlers: contains various extension-based file handlers for
Bram Moolenaar269ec652004-07-29 08:43:53 +00002" netrw's browsers' x command ("eXecute launcher")
Bram Moolenaar843ee412004-06-30 16:16:41 +00003" Author: Charles E. Campbell, Jr.
Bram Moolenaar269ec652004-07-29 08:43:53 +00004" Date: Jul 09, 2004
5" Version: 1
Bram Moolenaar843ee412004-06-30 16:16:41 +00006" ---------------------------------------------------------------------
7
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00008" NetrwFileHandler_html: handles html when the user hits "x" when the
9" cursor is atop a *.html file
Bram Moolenaar8299df92004-07-10 09:47:34 +000010fun! NetrwFileHandler_html(pagefile)
11" call Dfunc("NetrwFileHandler_html(".a:pagefile.")")
Bram Moolenaar843ee412004-06-30 16:16:41 +000012
Bram Moolenaar8299df92004-07-10 09:47:34 +000013 let page= substitute(a:pagefile,'^','file://','')
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000014
15 if executable("mozilla")
Bram Moolenaar8299df92004-07-10 09:47:34 +000016" call Decho("executing !mozilla ".page)
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000017 exe "!mozilla ".page
18 elseif executable("netscape")
Bram Moolenaar8299df92004-07-10 09:47:34 +000019" call Decho("executing !netscape ".page)
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000020 exe "!netscape ".page
Bram Moolenaar8299df92004-07-10 09:47:34 +000021 else
22" call Dret("NetrwFileHandler_html 0")
23 return 0
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000024 endif
Bram Moolenaar843ee412004-06-30 16:16:41 +000025
Bram Moolenaar8299df92004-07-10 09:47:34 +000026" call Dret("NetrwFileHandler_html 1")
27 return 1
28endfun
29
30" ---------------------------------------------------------------------
31" NetrwFileHandler_htm: handles html when the user hits "x" when the
32" cursor is atop a *.htm file
33fun! NetrwFileHandler_htm(pagefile)
34" call Dfunc("NetrwFileHandler_htm(".a:pagefile.")")
35
36 let page= substitute(a:pagefile,'^','file://','')
37
38 if executable("mozilla")
39" call Decho("executing !mozilla ".page)
40 exe "!mozilla ".page
41 elseif executable("netscape")
42" call Decho("executing !netscape ".page)
43 exe "!netscape ".page
44 else
45" call Dret("NetrwFileHandler_htm 0")
46 return 0
47 endif
48
49" call Dret("NetrwFileHandler_htm 1")
50 return 1
51endfun
52
53" ---------------------------------------------------------------------
54" NetrwFileHandler_jpg:
55fun! NetrwFileHandler_jpg(jpgfile)
56" call Dfunc("NetrwFileHandler_jpg(jpgfile<".a:jpgfile.">)")
57
58 if executable("gimp")
59 exe "silent! !gimp -s ".a:jpgfile
60 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
61 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".a:jpgfile
62 else
63" call Dret("NetrwFileHandler_jpg 0")
64 return 0
65 endif
66
67" call Dret("NetrwFileHandler_jpg 1")
68 return 1
69endfun
70
71" ---------------------------------------------------------------------
72" NetrwFileHandler_gif:
73fun! NetrwFileHandler_gif(giffile)
74" call Dfunc("NetrwFileHandler_gif(giffile<".a:giffile.">)")
75
76 if executable("gimp")
77 exe "silent! !gimp -s ".a:giffile
78 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
79 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".a:giffile
80 else
81" call Dret("NetrwFileHandler_gif 0")
82 return 0
83 endif
84
85" call Dret("NetrwFileHandler_gif 1")
86 return 1
87endfun
88
89" ---------------------------------------------------------------------
90" NetrwFileHandler_pnm:
91fun! NetrwFileHandler_pnm(pnmfile)
92" call Dfunc("NetrwFileHandler_pnm(pnmfile<".a:pnmfile.">)")
93
94 if executable("gimp")
95 exe "silent! !gimp -s ".a:pnmfile
96 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
97 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".a:pnmfile
98 else
99" call Dret("NetrwFileHandler_pnm 0")
100 return 0
101 endif
102
103" call Dret("NetrwFileHandler_pnm 1")
104 return 1
105endfun
106
107" ---------------------------------------------------------------------
Bram Moolenaar269ec652004-07-29 08:43:53 +0000108" NetrwFileHandler_bmp: visualize bmp files
Bram Moolenaar8299df92004-07-10 09:47:34 +0000109fun! NetrwFileHandler_bmp(bmpfile)
110" call Dfunc("NetrwFileHandler_bmp(bmpfile<".a:bmpfile.">)")
111
112 if executable("gimp")
113 exe "silent! !gimp -s ".a:bmpfile
114 elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
115 exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".a:bmpfile
116 else
117" call Dret("NetrwFileHandler_bmp 0")
118 return 0
119 endif
120
121" call Dret("NetrwFileHandler_bmp 1")
122 return 1
Bram Moolenaar843ee412004-06-30 16:16:41 +0000123endfun
124
125" ---------------------------------------------------------------------
Bram Moolenaar269ec652004-07-29 08:43:53 +0000126" NetrwFileHandler_pdf: visualize pdf files
127fun! NetrwFileHandler_pdf(pdf)
128 " call Dfunc("NetrwFileHandler_pdf(pdf<".a:pdf.">)")
129 if executable("gs")
130 exe "silent! !gs ".a:pdf
131 else
132 " call Dret("NetrwFileHandler_pdf 0")
133 return 0
134 endif
135
136 " call Dret("NetrwFileHandler_pdf 1")
137 return 1
138endfun
139
140" ---------------------------------------------------------------------
141" NetrwFileHandler_sxw: visualize sxw files
142fun! NetrwFileHandler_sxw(sxw)
143 " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)")
144 if executable("gs")
145 exe "silent! !gs ".a:sxw
146 else
147 " call Dret("NetrwFileHandler_sxw 0")
148 return 0
149 endif
150
151 " call Dret("NetrwFileHandler_sxw 1")
152 return 1
153endfun
154
155" ---------------------------------------------------------------------
156" NetrwFileHandler_doc: visualize doc files
157fun! NetrwFileHandler_doc(doc)
158 " call Dfunc("NetrwFileHandler_doc(doc<".a:doc.">)")
159
160 if executable("oowriter")
161 exe "silent! !oowriter ".a:doc
162 redraw!
163 else
164 " call Dret("NetrwFileHandler_doc 0")
165 return 0
166 endif
167
168 " call Dret("NetrwFileHandler_doc 1")
169 return 1
170endfun
171
172" ---------------------------------------------------------------------
173" NetrwFileHandler_sxw: visualize sxw files
174fun! NetrwFileHandler_sxw(sxw)
175 " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)")
176
177 if executable("oowriter")
178 exe "silent! !oowriter ".a:sxw
179 redraw!
180 else
181 " call Dret("NetrwFileHandler_sxw 0")
182 return 0
183 endif
184
185 " call Dret("NetrwFileHandler_sxw 1")
186 return 1
187endfun
188
189" ---------------------------------------------------------------------
190" NetrwFileHandler_xls: visualize xls files
191fun! NetrwFileHandler_xls(xls)
192 " call Dfunc("NetrwFileHandler_xls(xls<".a:xls.">)")
193
194 if executable("oocalc")
195 exe "silent! !oocalc ".a:xls
196 redraw!
197 else
198 " call Dret("NetrwFileHandler_xls 0")
199 return 0
200 endif
201
202 " call Dret("NetrwFileHandler_xls 1")
203 return 1
204endfun
205
206" ---------------------------------------------------------------------