From 666a8dd7d2d973d77c13415e9e99ca20a2b4fbd4 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Sun, 29 Mar 2026 23:58:30 +0200 Subject: Add doasedit support for Emacs and Vim --- contrib/doasedit.vim | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 contrib/doasedit.vim (limited to 'contrib/doasedit.vim') 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 +" 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 -- cgit v1.2.3