xref: /vim-8.2.3635/runtime/plugin/gzip.vim (revision 47e13953)
1" Vim plugin for editing compressed files.
2" Maintainer: Bram Moolenaar <[email protected]>
3" Last Change: 2016 Oct 30
4
5" Exit quickly when:
6" - this plugin was already loaded
7" - when 'compatible' is set
8" - some autocommands are already taking care of compressed files
9if exists("loaded_gzip") || &cp || exists("#BufReadPre#*.gz")
10  finish
11endif
12let loaded_gzip = 1
13
14augroup gzip
15  " Remove all gzip autocommands
16  au!
17
18  " Enable editing of gzipped files.
19  " The functions are defined in autoload/gzip.vim.
20  "
21  " Set binary mode before reading the file.
22  " Use "gzip -d", gunzip isn't always available.
23  autocmd BufReadPre,FileReadPre	*.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz,*.zst,*.br,*.lzo setlocal bin
24  autocmd BufReadPost,FileReadPost	*.gz  call gzip#read("gzip -dn")
25  autocmd BufReadPost,FileReadPost	*.bz2 call gzip#read("bzip2 -d")
26  autocmd BufReadPost,FileReadPost	*.Z   call gzip#read("uncompress")
27  autocmd BufReadPost,FileReadPost	*.lzma call gzip#read("lzma -d")
28  autocmd BufReadPost,FileReadPost	*.xz  call gzip#read("xz -d")
29  autocmd BufReadPost,FileReadPost	*.lz  call gzip#read("lzip -d")
30  autocmd BufReadPost,FileReadPost	*.zst call gzip#read("zstd -d --rm")
31  autocmd BufReadPost,FileReadPost	*.br call gzip#read("brotli -d --rm")
32  autocmd BufReadPost,FileReadPost	*.lzo call gzip#read("lzop -d -U")
33  autocmd BufWritePost,FileWritePost	*.gz  call gzip#write("gzip")
34  autocmd BufWritePost,FileWritePost	*.bz2 call gzip#write("bzip2")
35  autocmd BufWritePost,FileWritePost	*.Z   call gzip#write("compress -f")
36  autocmd BufWritePost,FileWritePost	*.lzma call gzip#write("lzma -z")
37  autocmd BufWritePost,FileWritePost	*.xz  call gzip#write("xz -z")
38  autocmd BufWritePost,FileWritePost	*.lz  call gzip#write("lzip")
39  autocmd BufWritePost,FileWritePost	*.zst  call gzip#write("zstd --rm")
40  autocmd BufWritePost,FileWritePost	*.br  call gzip#write("brotli --rm")
41  autocmd BufWritePost,FileWritePost	*.lzo  call gzip#write("lzop -U")
42  autocmd FileAppendPre			*.gz  call gzip#appre("gzip -dn")
43  autocmd FileAppendPre			*.bz2 call gzip#appre("bzip2 -d")
44  autocmd FileAppendPre			*.Z   call gzip#appre("uncompress")
45  autocmd FileAppendPre			*.lzma call gzip#appre("lzma -d")
46  autocmd FileAppendPre			*.xz   call gzip#appre("xz -d")
47  autocmd FileAppendPre			*.lz   call gzip#appre("lzip -d")
48  autocmd FileAppendPre			*.zst call gzip#appre("zstd -d --rm")
49  autocmd FileAppendPre			*.br call gzip#appre("brotli -d --rm")
50  autocmd FileAppendPre			*.lzo call gzip#appre("lzop -d -U")
51  autocmd FileAppendPost		*.gz  call gzip#write("gzip")
52  autocmd FileAppendPost		*.bz2 call gzip#write("bzip2")
53  autocmd FileAppendPost		*.Z   call gzip#write("compress -f")
54  autocmd FileAppendPost		*.lzma call gzip#write("lzma -z")
55  autocmd FileAppendPost		*.xz call gzip#write("xz -z")
56  autocmd FileAppendPost		*.lz call gzip#write("lzip")
57  autocmd FileAppendPost		*.zst call gzip#write("zstd --rm")
58  autocmd FileAppendPost		*.br call gzip#write("brotli --rm")
59  autocmd FileAppendPost		*.lzo call gzip#write("lzop -U")
60augroup END
61