diff options
| author | Thomas Voss <mail@thomasvoss.com> | 2026-03-29 23:58:30 +0200 |
|---|---|---|
| committer | Thomas Voss <mail@thomasvoss.com> | 2026-03-30 00:02:43 +0200 |
| commit | 666a8dd7d2d973d77c13415e9e99ca20a2b4fbd4 (patch) | |
| tree | 93f43ac737bbbbe660bf945c752116b1b5a24f47 /contrib/doasedit.vim | |
| parent | d7aa6db03629d0fdc8bcce0db71c24aa6a401101 (diff) | |
Add doasedit support for Emacs and Vim
Diffstat (limited to 'contrib/doasedit.vim')
| -rw-r--r-- | contrib/doasedit.vim | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/contrib/doasedit.vim b/contrib/doasedit.vim new file mode 100644 index 0000000..e6a39fa --- /dev/null +++ b/contrib/doasedit.vim @@ -0,0 +1,42 @@ +" ============================================================================== +" File: doasedit.vim +" Description: Automatic filetype detection for doasedit +" Author: Thomas Voss <mail@thomasvoss.com> +" URL: https://git.thomasvoss.com/doasutils +" License: BSD-2-Clause +" ============================================================================== +" +" Permission to use, copy, modify, and distribute this software for any +" purpose with or without fee is hereby granted, provided that the above +" copyright notice and this permission notice appear in all copies. +" +" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +" WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +" WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +" AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA +" OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +" TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +" PERFORMANCE OF THIS SOFTWARE. +" ============================================================================== + +if exists('g:loaded_doasedit_ft') + finish +endif +let g:loaded_doasedit_ft = 1 + +let s:tmpdir = empty($TMPDIR) ? '/tmp' : $TMPDIR +let s:tmpdir = substitute(s:tmpdir, '/\+$', '', '') +let s:pattern = escape(s:tmpdir . '/doasedit.*', ' ') + +augroup doasedit_filetype + autocmd! + execute 'autocmd BufNewFile,BufRead ' . s:pattern . ' call s:SetFiletype()' +augroup END + +function! s:SetFiletype() + if empty($DOASEDIT_EDITING) + return + endif + execute 'doautocmd filetypedetect BufRead ' . fnameescape($DOASEDIT_EDITING) +endfunction |