diff options
Diffstat (limited to 'mnv/runtime/ftplugin/awk.mnv')
| -rw-r--r-- | mnv/runtime/ftplugin/awk.mnv | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/mnv/runtime/ftplugin/awk.mnv b/mnv/runtime/ftplugin/awk.mnv new file mode 100644 index 0000000000..a6f2ae6a04 --- /dev/null +++ b/mnv/runtime/ftplugin/awk.mnv @@ -0,0 +1,63 @@ +" MNV filetype plugin +" Language: awk, nawk, gawk, mawk +" Maintainer: Doug Kearns <dougkearns@gmail.com> +" Previous Maintainer: Antonio Colombo <azc100@gmail.com> +" Last Change: 2024 Jan 14 + +" This plugin was prepared by Mark Sikora +" This plugin was updated as proposed by Doug Kearns + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&mnv + +setlocal comments=:# +setlocal commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +setlocal define=function +setlocal suffixesadd+=.awk + +let b:undo_ftplugin = "setl fo< com< cms< def< sua<" + +" TODO: set this in scripts.mnv? +if exists("g:awk_is_gawk") + setlocal include=@include + setlocal suffixesadd+=.gawk + if has("unix") || has("win32unix") + setlocal formatprg=gawk\ -f-\ -o/dev/stdout + let b:undo_ftplugin .= " | setl fp<" + endif + + " Disabled by default for security reasons. + if dist#mnv#IsSafeExecutable('awk', 'gawk') + let path = system("gawk 'BEGIN { printf ENVIRON[\"AWKPATH\"] }'") + let path = substitute(path, '^\.\=:\|:\.\=$\|:\.\=:', ',,', 'g') " POSIX cwd + let path = substitute(path, ':', ',', 'g') + + let &l:path = path + endif + let b:undo_ftplugin .= " | setl inc< path<" +endif + +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + let b:browsefilter = "Awk Source Files (*.awk, *.gawk)\t*.awk;*.gawk\n" + if has("win32") + let b:browsefilter .= "All Files (*.*)\t*\n" + else + let b:browsefilter .= "All Files (*)\t*\n" + endif + let b:undo_ftplugin .= " | unlet! b:browsefilter" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: nowrap sw=2 sts=2 ts=8 |
