xref: /vim-8.2.3635/runtime/plugin/gzip.vim (revision 2cfb4a2a)
1071d4279SBram Moolenaar" Vim plugin for editing compressed files.
2071d4279SBram Moolenaar" Maintainer: Bram Moolenaar <[email protected]>
3b4ada79aSBram Moolenaar" Last Change: 2016 Oct 30
4071d4279SBram Moolenaar
5071d4279SBram Moolenaar" Exit quickly when:
6071d4279SBram Moolenaar" - this plugin was already loaded
7071d4279SBram Moolenaar" - when 'compatible' is set
8071d4279SBram Moolenaar" - some autocommands are already taking care of compressed files
9071d4279SBram Moolenaarif exists("loaded_gzip") || &cp || exists("#BufReadPre#*.gz")
10071d4279SBram Moolenaar  finish
11071d4279SBram Moolenaarendif
12071d4279SBram Moolenaarlet loaded_gzip = 1
13071d4279SBram Moolenaar
14071d4279SBram Moolenaaraugroup gzip
15071d4279SBram Moolenaar  " Remove all gzip autocommands
16071d4279SBram Moolenaar  au!
17071d4279SBram Moolenaar
1887e25fdfSBram Moolenaar  " Enable editing of gzipped files.
1987e25fdfSBram Moolenaar  " The functions are defined in autoload/gzip.vim.
2087e25fdfSBram Moolenaar  "
2187e25fdfSBram Moolenaar  " Set binary mode before reading the file.
2287e25fdfSBram Moolenaar  " Use "gzip -d", gunzip isn't always available.
23*2cfb4a2aSBram Moolenaar  autocmd BufReadPre,FileReadPre	*.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz,*.zst,*.br setlocal bin
2487e25fdfSBram Moolenaar  autocmd BufReadPost,FileReadPost	*.gz  call gzip#read("gzip -dn")
2587e25fdfSBram Moolenaar  autocmd BufReadPost,FileReadPost	*.bz2 call gzip#read("bzip2 -d")
2687e25fdfSBram Moolenaar  autocmd BufReadPost,FileReadPost	*.Z   call gzip#read("uncompress")
275c73622aSBram Moolenaar  autocmd BufReadPost,FileReadPost	*.lzma call gzip#read("lzma -d")
2833cfa2b0SBram Moolenaar  autocmd BufReadPost,FileReadPost	*.xz  call gzip#read("xz -d")
29b4ada79aSBram Moolenaar  autocmd BufReadPost,FileReadPost	*.lz  call gzip#read("lzip -d")
30c0514bf4SBram Moolenaar  autocmd BufReadPost,FileReadPost	*.zst call gzip#read("zstd -d --rm")
31*2cfb4a2aSBram Moolenaar  autocmd BufReadPost,FileReadPost	*.br call gzip#read("brotli -d --rm")
3287e25fdfSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.gz  call gzip#write("gzip")
3387e25fdfSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.bz2 call gzip#write("bzip2")
3487e25fdfSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.Z   call gzip#write("compress -f")
355c73622aSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.lzma call gzip#write("lzma -z")
3633cfa2b0SBram Moolenaar  autocmd BufWritePost,FileWritePost	*.xz  call gzip#write("xz -z")
37b4ada79aSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.lz  call gzip#write("lzip")
38c0514bf4SBram Moolenaar  autocmd BufWritePost,FileWritePost	*.zst  call gzip#write("zstd --rm")
39*2cfb4a2aSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.br  call gzip#write("brotli --rm")
4087e25fdfSBram Moolenaar  autocmd FileAppendPre			*.gz  call gzip#appre("gzip -dn")
4187e25fdfSBram Moolenaar  autocmd FileAppendPre			*.bz2 call gzip#appre("bzip2 -d")
4287e25fdfSBram Moolenaar  autocmd FileAppendPre			*.Z   call gzip#appre("uncompress")
435c73622aSBram Moolenaar  autocmd FileAppendPre			*.lzma call gzip#appre("lzma -d")
4433cfa2b0SBram Moolenaar  autocmd FileAppendPre			*.xz   call gzip#appre("xz -d")
45b4ada79aSBram Moolenaar  autocmd FileAppendPre			*.lz   call gzip#appre("lzip -d")
46c0514bf4SBram Moolenaar  autocmd FileAppendPre			*.zst call gzip#appre("zstd -d --rm")
47*2cfb4a2aSBram Moolenaar  autocmd FileAppendPre			*.br call gzip#appre("brotli -d --rm")
4887e25fdfSBram Moolenaar  autocmd FileAppendPost		*.gz  call gzip#write("gzip")
4987e25fdfSBram Moolenaar  autocmd FileAppendPost		*.bz2 call gzip#write("bzip2")
5087e25fdfSBram Moolenaar  autocmd FileAppendPost		*.Z   call gzip#write("compress -f")
515c73622aSBram Moolenaar  autocmd FileAppendPost		*.lzma call gzip#write("lzma -z")
5233cfa2b0SBram Moolenaar  autocmd FileAppendPost		*.xz call gzip#write("xz -z")
53b4ada79aSBram Moolenaar  autocmd FileAppendPost		*.lz call gzip#write("lzip")
54c0514bf4SBram Moolenaar  autocmd FileAppendPost		*.zst call gzip#write("zstd --rm")
55*2cfb4a2aSBram Moolenaar  autocmd FileAppendPost		*.br call gzip#write("brotli --rm")
56071d4279SBram Moolenaaraugroup END
57