diff options
Diffstat (limited to 'ftplugin/awk.vim')
-rw-r--r-- | ftplugin/awk.vim | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/ftplugin/awk.vim b/ftplugin/awk.vim index fbccec1c..4425ac47 100644 --- a/ftplugin/awk.vim +++ b/ftplugin/awk.vim @@ -3,9 +3,10 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'awk') == -1 " Vim filetype plugin " Language: awk, nawk, gawk, mawk " Maintainer: Antonio Colombo <azc100@gmail.com> -" Last Change: 2017 Feb 17 +" Last Change: 2020 Sep 28 " 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") @@ -15,8 +16,44 @@ endif " Don't load another plugin for this buffer let b:did_ftplugin = 1 -let b:undo_ftplugin = "setl commentstring<" +let s:cpo_save = &cpo +set cpo&vim +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<" . + \ " | unlet! b:browsefilter" + +" TODO: set this in scripts.vim? +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 + + let path = system("gawk 'BEGIN { printf ENVIRON[\"AWKPATH\"] }'") + let path = substitute(path, '^\.\=:\|:\.\=$\|:\.\=:', ',,', 'g') " POSIX cwd + let path = substitute(path, ':', ',', 'g') + + let &l:path = path + 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" . + \ "All Files (*.*)\t*.*\n" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: nowrap sw=2 sts=2 ts=8 endif |