blob: 825b7ae17fb4f815d942b537aba72b8b9e381c32 [file] [log] [blame]
Bram Moolenaar58071af2005-09-14 21:41:18 +00001" tarPlugin.vim -- a Vim plugin for browsing tarfiles
Corpulent Robinb69cd522025-02-06 21:10:49 +01002"
Bram Moolenaar83e138c2007-05-05 18:27:07 +00003" Original was copyright (c) 2002, Michael C. Toren <mct@toren.net>
Bram Moolenaarff034192013-04-24 18:51:19 +02004" Modified by Charles E. Campbell
Bram Moolenaar58071af2005-09-14 21:41:18 +00005" Distributed under the GNU General Public License.
6"
7" Updates are available from <http://michael.toren.net/code/>. If you
8" find this script useful, or have suggestions for improvements, please
9" let me know.
10" Also look there for further comments and documentation.
11"
12" This part only sets the autocommands. The functions are in autoload/tar.vim.
Bram Moolenaar83e138c2007-05-05 18:27:07 +000013" ---------------------------------------------------------------------
14" Load Once: {{{1
15if &cp || exists("g:loaded_tarPlugin")
16 finish
17endif
Bram Moolenaar29634562020-01-09 21:46:04 +010018let g:loaded_tarPlugin = "v32"
Bram Moolenaar83e138c2007-05-05 18:27:07 +000019let s:keepcpo = &cpo
20set cpo&vim
Bram Moolenaar58071af2005-09-14 21:41:18 +000021
Bram Moolenaar83e138c2007-05-05 18:27:07 +000022" ---------------------------------------------------------------------
23" Public Interface: {{{1
Bram Moolenaara5792f52005-11-23 21:25:05 +000024augroup tar
25 au!
Bram Moolenaar8c8de832008-06-24 22:58:06 +000026 au BufReadCmd tarfile::* call tar#Read(expand("<amatch>"), 1)
27 au FileReadCmd tarfile::* call tar#Read(expand("<amatch>"), 0)
28 au BufWriteCmd tarfile::* call tar#Write(expand("<amatch>"))
29 au FileWriteCmd tarfile::* call tar#Write(expand("<amatch>"))
Bram Moolenaar58071af2005-09-14 21:41:18 +000030
Bram Moolenaara5792f52005-11-23 21:25:05 +000031 if has("unix")
Bram Moolenaar8c8de832008-06-24 22:58:06 +000032 au BufReadCmd tarfile::*/* call tar#Read(expand("<amatch>"), 1)
33 au FileReadCmd tarfile::*/* call tar#Read(expand("<amatch>"), 0)
34 au BufWriteCmd tarfile::*/* call tar#Write(expand("<amatch>"))
35 au FileWriteCmd tarfile::*/* call tar#Write(expand("<amatch>"))
Bram Moolenaara5792f52005-11-23 21:25:05 +000036 endif
Bram Moolenaar58071af2005-09-14 21:41:18 +000037
Bram Moolenaar5c736222010-01-06 20:54:52 +010038 au BufReadCmd *.lrp call tar#Browse(expand("<amatch>"))
Corpulent Robinb69cd522025-02-06 21:10:49 +010039 au BufReadCmd *.tar call tar#Browse(expand("<amatch>"))
Bram Moolenaar5c736222010-01-06 20:54:52 +010040 au BufReadCmd *.tar.bz2 call tar#Browse(expand("<amatch>"))
Jim Zhou56957ed2025-02-28 18:06:14 +010041 au BufReadCmd *.tar.bz3 call tar#Browse(expand("<amatch>"))
Corpulent Robinb69cd522025-02-06 21:10:49 +010042 au BufReadCmd *.tar.gz call tar#Browse(expand("<amatch>"))
43 au BufReadCmd *.tar.lz4 call tar#Browse(expand("<amatch>"))
44 au BufReadCmd *.tar.lzma call tar#Browse(expand("<amatch>"))
45 au BufReadCmd *.tar.xz call tar#Browse(expand("<amatch>"))
Bram Moolenaar5c736222010-01-06 20:54:52 +010046 au BufReadCmd *.tar.Z call tar#Browse(expand("<amatch>"))
Corpulent Robinb69cd522025-02-06 21:10:49 +010047 au BufReadCmd *.tar.zst call tar#Browse(expand("<amatch>"))
Bram Moolenaar214641f2017-03-05 17:04:09 +010048 au BufReadCmd *.tbz call tar#Browse(expand("<amatch>"))
Bram Moolenaar29634562020-01-09 21:46:04 +010049 au BufReadCmd *.tgz call tar#Browse(expand("<amatch>"))
Corpulent Robinb69cd522025-02-06 21:10:49 +010050 au BufReadCmd *.tlz4 call tar#Browse(expand("<amatch>"))
Bram Moolenaar477db062010-07-28 18:17:41 +020051 au BufReadCmd *.txz call tar#Browse(expand("<amatch>"))
Corpulent Robinb69cd522025-02-06 21:10:49 +010052 au BufReadCmd *.tzst call tar#Browse(expand("<amatch>"))
Bram Moolenaara5792f52005-11-23 21:25:05 +000053augroup END
Bram Moolenaar5c736222010-01-06 20:54:52 +010054com! -nargs=? -complete=file Vimuntar call tar#Vimuntar(<q-args>)
Bram Moolenaar58071af2005-09-14 21:41:18 +000055
Bram Moolenaar83e138c2007-05-05 18:27:07 +000056" ---------------------------------------------------------------------
57" Restoration And Modelines: {{{1
58" vim: fdm=marker
59let &cpo= s:keepcpo
60unlet s:keepcpo