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