0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00
vim/runtime/plugin/NetrwFileHandlers.vim

254 lines
6.3 KiB
VimL
Raw Normal View History

2004-06-30 16:16:41 +00:00
" NetrwFileHandlers: contains various extension-based file handlers for
2004-07-29 08:43:53 +00:00
" netrw's browsers' x command ("eXecute launcher")
2005-07-27 21:13:01 +00:00
" Author: Charles E. Campbell, Jr.
" Date: Aug 31, 2004
" Version: 3
2004-09-02 19:12:26 +00:00
2004-06-30 16:16:41 +00:00
" ---------------------------------------------------------------------
2004-09-02 19:12:26 +00:00
" Prevent Reloading: {{{1
if exists("g:loaded_netrwfilehandlers") || &cp
2005-07-27 21:13:01 +00:00
finish
2004-09-02 19:12:26 +00:00
endif
2004-12-09 21:34:53 +00:00
let g:loaded_netrwfilehandlers= "v3"
2004-06-30 16:16:41 +00:00
2004-09-02 19:12:26 +00:00
" ---------------------------------------------------------------------
" NetrwFileHandler_html: handles html when the user hits "x" when the {{{1
2004-07-02 15:38:35 +00:00
" cursor is atop a *.html file
2004-07-10 09:47:34 +00:00
fun! NetrwFileHandler_html(pagefile)
2005-07-27 21:13:01 +00:00
let page = substitute(a:pagefile, '^', 'file://', '')
2004-06-30 16:16:41 +00:00
2004-07-10 09:47:34 +00:00
if executable("mozilla")
2005-07-27 21:13:01 +00:00
exe "!mozilla \"" . page . '"'
2004-07-10 09:47:34 +00:00
elseif executable("netscape")
2005-07-27 21:13:01 +00:00
exe "!netscape \"" . page . '"'
2004-06-30 16:16:41 +00:00
else
2005-07-27 21:13:01 +00:00
return 0
2004-06-30 16:16:41 +00:00
endif
2004-07-02 15:38:35 +00:00
2004-07-10 09:47:34 +00:00
return 1
endfun
" ---------------------------------------------------------------------
2004-09-02 19:12:26 +00:00
" NetrwFileHandler_htm: handles html when the user hits "x" when the {{{1
2004-07-10 09:47:34 +00:00
" cursor is atop a *.htm file
fun! NetrwFileHandler_htm(pagefile)
2005-07-27 21:13:01 +00:00
let page = substitute(a:pagefile, '^', 'file://', '')
2004-07-10 09:47:34 +00:00
2004-07-02 15:38:35 +00:00
if executable("mozilla")
2005-07-27 21:13:01 +00:00
exe "!mozilla \"" . page . '"'
2004-07-02 15:38:35 +00:00
elseif executable("netscape")
2005-07-27 21:13:01 +00:00
exe "!netscape \"" . page . '"'
2004-07-10 09:47:34 +00:00
else
2005-07-27 21:13:01 +00:00
return 0
2004-07-10 09:47:34 +00:00
endif
return 1
endfun
" ---------------------------------------------------------------------
2004-09-02 19:12:26 +00:00
" NetrwFileHandler_jpg: {{{1
2004-07-10 09:47:34 +00:00
fun! NetrwFileHandler_jpg(jpgfile)
if executable("gimp")
2005-07-27 21:13:01 +00:00
exe "silent! !gimp -s " . a:jpgfile
2004-07-10 09:47:34 +00:00
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
2005-07-27 21:13:01 +00:00
exe "!" . expand("$SystemRoot") . "/SYSTEM32/MSPAINT \"" . a:jpgfile . '"'
2004-07-10 09:47:34 +00:00
else
2005-07-27 21:13:01 +00:00
return 0
2004-07-10 09:47:34 +00:00
endif
return 1
endfun
" ---------------------------------------------------------------------
2004-09-02 19:12:26 +00:00
" NetrwFileHandler_gif: {{{1
2004-07-10 09:47:34 +00:00
fun! NetrwFileHandler_gif(giffile)
if executable("gimp")
2005-07-27 21:13:01 +00:00
exe "silent! !gimp -s " . a:giffile
elseif executable(expand("$SystemRoot") . "/SYSTEM32/MSPAINT.EXE")
exe "silent! !" . expand("$SystemRoot") . "/SYSTEM32/MSPAINT \"" . a:giffile . '"'
2004-07-10 09:47:34 +00:00
else
return 0
endif
return 1
endfun
" ---------------------------------------------------------------------
2004-09-02 19:12:26 +00:00
" NetrwFileHandler_png: {{{1
fun! NetrwFileHandler_png(pngfile)
if executable("gimp")
2005-07-27 21:13:01 +00:00
exe "silent! !gimp -s " . a:pngfile
elseif executable(expand("$SystemRoot") . "/SYSTEM32/MSPAINT.EXE")
exe "silent! !" . expand("$SystemRoot") . "/SYSTEM32/MSPAINT \"" . a:pngfile . '"'
2004-09-02 19:12:26 +00:00
else
return 0
endif
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_pnm: {{{1
2004-07-10 09:47:34 +00:00
fun! NetrwFileHandler_pnm(pnmfile)
if executable("gimp")
2005-07-27 21:13:01 +00:00
exe "silent! !gimp -s " . a:pnmfile
elseif executable(expand("$SystemRoot") . "/SYSTEM32/MSPAINT.EXE")
exe "silent! !" . expand("$SystemRoot") . "/SYSTEM32/MSPAINT \"" . a:pnmfile . '"'
2004-07-10 09:47:34 +00:00
else
return 0
endif
return 1
endfun
" ---------------------------------------------------------------------
2004-09-02 19:12:26 +00:00
" NetrwFileHandler_bmp: visualize bmp files {{{1
2004-07-10 09:47:34 +00:00
fun! NetrwFileHandler_bmp(bmpfile)
if executable("gimp")
2005-07-27 21:13:01 +00:00
exe "silent! !gimp -s " . a:bmpfile
2004-07-10 09:47:34 +00:00
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
2005-07-27 21:13:01 +00:00
exe "silent! !" . expand("$SystemRoot") . "/SYSTEM32/MSPAINT \"" . a:bmpfile . '"'
2004-07-10 09:47:34 +00:00
else
return 0
2004-07-02 15:38:35 +00:00
endif
2004-06-30 16:16:41 +00:00
2004-07-10 09:47:34 +00:00
return 1
2004-06-30 16:16:41 +00:00
endfun
" ---------------------------------------------------------------------
2004-09-02 19:12:26 +00:00
" NetrwFileHandler_pdf: visualize pdf files {{{1
2004-07-29 08:43:53 +00:00
fun! NetrwFileHandler_pdf(pdf)
2005-07-27 21:13:01 +00:00
if executable("acroread")
exe 'silent! !acroread "' . a:pdf . '"'
elseif executable("gs")
exe 'silent! !gs "' . a:pdf . '"'
2004-07-29 08:43:53 +00:00
else
return 0
endif
return 1
endfun
" ---------------------------------------------------------------------
2004-09-02 19:12:26 +00:00
" NetrwFileHandler_sxw: visualize sxw files {{{1
2004-07-29 08:43:53 +00:00
fun! NetrwFileHandler_sxw(sxw)
if executable("gs")
2005-07-27 21:13:01 +00:00
exe 'silent! !gs "' . a:sxw . '"'
2004-07-29 08:43:53 +00:00
else
return 0
endif
return 1
endfun
" ---------------------------------------------------------------------
2004-09-02 19:12:26 +00:00
" NetrwFileHandler_doc: visualize doc files {{{1
2004-07-29 08:43:53 +00:00
fun! NetrwFileHandler_doc(doc)
if executable("oowriter")
2005-07-27 21:13:01 +00:00
exe 'silent! !oowriter "' . a:doc . '"'
2004-07-29 08:43:53 +00:00
redraw!
else
return 0
endif
return 1
endfun
" ---------------------------------------------------------------------
2004-09-02 19:12:26 +00:00
" NetrwFileHandler_sxw: visualize sxw files {{{1
2004-07-29 08:43:53 +00:00
fun! NetrwFileHandler_sxw(sxw)
if executable("oowriter")
2005-07-27 21:13:01 +00:00
exe 'silent! !oowriter "' . a:sxw . '"'
2004-07-29 08:43:53 +00:00
redraw!
else
return 0
endif
return 1
endfun
" ---------------------------------------------------------------------
2004-09-02 19:12:26 +00:00
" NetrwFileHandler_xls: visualize xls files {{{1
2004-07-29 08:43:53 +00:00
fun! NetrwFileHandler_xls(xls)
if executable("oocalc")
2005-07-27 21:13:01 +00:00
exe 'silent! !oocalc "' . a:xls . '"'
2004-07-29 08:43:53 +00:00
redraw!
else
2004-09-02 19:12:26 +00:00
return 0
endif
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_ps: handles PostScript files {{{1
fun! NetrwFileHandler_ps(ps)
if executable("gs")
2005-07-27 21:13:01 +00:00
exe "silent! !gs " . a:ps
2004-09-02 19:12:26 +00:00
redraw!
elseif executable("ghostscript")
2005-07-27 21:13:01 +00:00
exe "silent! !ghostscript " . a:ps
2004-09-02 19:12:26 +00:00
redraw!
elseif executable("ghostscript")
2005-07-27 21:13:01 +00:00
exe "silent! !ghostscript " . a:ps
2004-09-02 19:12:26 +00:00
redraw!
elseif executable("gswin32")
2005-07-27 21:13:01 +00:00
exe "silent! !gswin32 \"" . a:ps . '"'
2004-09-02 19:12:26 +00:00
redraw!
2004-09-13 20:26:32 +00:00
else
2004-07-29 08:43:53 +00:00
return 0
endif
return 1
endfun
2004-09-13 20:26:32 +00:00
" ---------------------------------------------------------------------
" NetrwFileHandler_eps: handles encapsulated PostScript files {{{1
fun! NetrwFileHandler_eps(eps)
if executable("gs")
2005-07-27 21:13:01 +00:00
exe "silent! !gs " . a:eps
2004-09-13 20:26:32 +00:00
redraw!
elseif executable("ghostscript")
2005-07-27 21:13:01 +00:00
exe "silent! !ghostscript " . a:eps
2004-09-13 20:26:32 +00:00
redraw!
elseif executable("ghostscript")
2005-07-27 21:13:01 +00:00
exe "silent! !ghostscript " . a:eps
2004-09-13 20:26:32 +00:00
redraw!
elseif executable("gswin32")
2005-07-27 21:13:01 +00:00
exe "silent! !gswin32 \"" . a:eps . '"'
2004-09-13 20:26:32 +00:00
redraw!
else
return 0
endif
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_fig: handles xfig files {{{1
fun! NetrwFileHandler_fig(fig)
if executable("xfig")
2005-07-27 21:13:01 +00:00
exe "silent! !xfig " . a:fig
2004-09-13 20:26:32 +00:00
redraw!
else
return 0
endif
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_obj: handles tgif's obj files {{{1
fun! NetrwFileHandler_obj(obj)
if has("unix") && executable("tgif")
2005-07-27 21:13:01 +00:00
exe "silent! !tgif " . a:obj
2004-09-13 20:26:32 +00:00
redraw!
else
return 0
endif
return 1
endfun
2004-07-29 08:43:53 +00:00
" ---------------------------------------------------------------------
2005-07-27 21:13:01 +00:00
" vim: fdm=marker