xref: /vim-8.2.3635/runtime/plugin/gzip.vim (revision 47e13953)
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*47e13953SBram Moolenaar  autocmd BufReadPre,FileReadPre	*.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz,*.zst,*.br,*.lzo 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")
312cfb4a2aSBram Moolenaar  autocmd BufReadPost,FileReadPost	*.br call gzip#read("brotli -d --rm")
32*47e13953SBram Moolenaar  autocmd BufReadPost,FileReadPost	*.lzo call gzip#read("lzop -d -U")
3387e25fdfSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.gz  call gzip#write("gzip")
3487e25fdfSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.bz2 call gzip#write("bzip2")
3587e25fdfSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.Z   call gzip#write("compress -f")
365c73622aSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.lzma call gzip#write("lzma -z")
3733cfa2b0SBram Moolenaar  autocmd BufWritePost,FileWritePost	*.xz  call gzip#write("xz -z")
38b4ada79aSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.lz  call gzip#write("lzip")
39c0514bf4SBram Moolenaar  autocmd BufWritePost,FileWritePost	*.zst  call gzip#write("zstd --rm")
402cfb4a2aSBram Moolenaar  autocmd BufWritePost,FileWritePost	*.br  call gzip#write("brotli --rm")
41*47e13953SBram Moolenaar  autocmd BufWritePost,FileWritePost	*.lzo  call gzip#write("lzop -U")
4287e25fdfSBram Moolenaar  autocmd FileAppendPre			*.gz  call gzip#appre("gzip -dn")
4387e25fdfSBram Moolenaar  autocmd FileAppendPre			*.bz2 call gzip#appre("bzip2 -d")
4487e25fdfSBram Moolenaar  autocmd FileAppendPre			*.Z   call gzip#appre("uncompress")
455c73622aSBram Moolenaar  autocmd FileAppendPre			*.lzma call gzip#appre("lzma -d")
4633cfa2b0SBram Moolenaar  autocmd FileAppendPre			*.xz   call gzip#appre("xz -d")
47b4ada79aSBram Moolenaar  autocmd FileAppendPre			*.lz   call gzip#appre("lzip -d")
48c0514bf4SBram Moolenaar  autocmd FileAppendPre			*.zst call gzip#appre("zstd -d --rm")
492cfb4a2aSBram Moolenaar  autocmd FileAppendPre			*.br call gzip#appre("brotli -d --rm")
50*47e13953SBram Moolenaar  autocmd FileAppendPre			*.lzo call gzip#appre("lzop -d -U")
5187e25fdfSBram Moolenaar  autocmd FileAppendPost		*.gz  call gzip#write("gzip")
5287e25fdfSBram Moolenaar  autocmd FileAppendPost		*.bz2 call gzip#write("bzip2")
5387e25fdfSBram Moolenaar  autocmd FileAppendPost		*.Z   call gzip#write("compress -f")
545c73622aSBram Moolenaar  autocmd FileAppendPost		*.lzma call gzip#write("lzma -z")
5533cfa2b0SBram Moolenaar  autocmd FileAppendPost		*.xz call gzip#write("xz -z")
56b4ada79aSBram Moolenaar  autocmd FileAppendPost		*.lz call gzip#write("lzip")
57c0514bf4SBram Moolenaar  autocmd FileAppendPost		*.zst call gzip#write("zstd --rm")
582cfb4a2aSBram Moolenaar  autocmd FileAppendPost		*.br call gzip#write("brotli --rm")
59*47e13953SBram Moolenaar  autocmd FileAppendPost		*.lzo call gzip#write("lzop -U")
60071d4279SBram Moolenaaraugroup END
61