xref: /vim-8.2.3635/runtime/ftplugin/awk.vim (revision 3132cddd)
13df0173fSBram Moolenaar" Vim filetype plugin
23df0173fSBram Moolenaar" Language:		awk, nawk, gawk, mawk
3*3132cdddSBram Moolenaar" Maintainer:		Doug Kearns <[email protected]>
4*3132cdddSBram Moolenaar" Previous Maintainer:	Antonio Colombo <[email protected]>
5d58a3bf7SBram Moolenaar" Last Change:		2020 Sep 28
63df0173fSBram Moolenaar
73df0173fSBram Moolenaar" This plugin was prepared by Mark Sikora
8d58a3bf7SBram Moolenaar" This plugin was updated as proposed by Doug Kearns
93df0173fSBram Moolenaar
103df0173fSBram Moolenaar" Only do this when not done yet for this buffer
113df0173fSBram Moolenaarif exists("b:did_ftplugin")
123df0173fSBram Moolenaar  finish
133df0173fSBram Moolenaarendif
143df0173fSBram Moolenaar
153df0173fSBram Moolenaar" Don't load another plugin for this buffer
163df0173fSBram Moolenaarlet b:did_ftplugin = 1
173df0173fSBram Moolenaar
18d58a3bf7SBram Moolenaarlet s:cpo_save = &cpo
19d58a3bf7SBram Moolenaarset cpo&vim
203df0173fSBram Moolenaar
21d58a3bf7SBram Moolenaarsetlocal comments=:#
223df0173fSBram Moolenaarsetlocal commentstring=#\ %s
23d58a3bf7SBram Moolenaarsetlocal formatoptions-=t formatoptions+=croql
24d58a3bf7SBram Moolenaar
25d58a3bf7SBram Moolenaarsetlocal define=function
26d58a3bf7SBram Moolenaarsetlocal suffixesadd+=.awk
27d58a3bf7SBram Moolenaar
28d58a3bf7SBram Moolenaarlet b:undo_ftplugin = "setl fo< com< cms< def< sua<" .
29d58a3bf7SBram Moolenaar		    \ " | unlet! b:browsefilter"
30d58a3bf7SBram Moolenaar
31d58a3bf7SBram Moolenaar" TODO: set this in scripts.vim?
32d58a3bf7SBram Moolenaarif exists("g:awk_is_gawk")
33d58a3bf7SBram Moolenaar  setlocal include=@include
34d58a3bf7SBram Moolenaar  setlocal suffixesadd+=.gawk
35d58a3bf7SBram Moolenaar  if has("unix") || has("win32unix")
36d58a3bf7SBram Moolenaar    setlocal formatprg=gawk\ -f-\ -o/dev/stdout
37d58a3bf7SBram Moolenaar    let b:undo_ftplugin .= " | setl fp<"
38d58a3bf7SBram Moolenaar  endif
39d58a3bf7SBram Moolenaar
40d58a3bf7SBram Moolenaar  let path = system("gawk 'BEGIN { printf ENVIRON[\"AWKPATH\"] }'")
41d58a3bf7SBram Moolenaar  let path = substitute(path, '^\.\=:\|:\.\=$\|:\.\=:', ',,', 'g') " POSIX cwd
42d58a3bf7SBram Moolenaar  let path = substitute(path, ':', ',', 'g')
43d58a3bf7SBram Moolenaar
44d58a3bf7SBram Moolenaar  let &l:path = path
45d58a3bf7SBram Moolenaar  let b:undo_ftplugin .= " | setl inc< path<"
46d58a3bf7SBram Moolenaarendif
47d58a3bf7SBram Moolenaar
48d58a3bf7SBram Moolenaarif (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
49d58a3bf7SBram Moolenaar  let b:browsefilter = "Awk Source Files (*.awk,*.gawk)\t*.awk;*.gawk\n" .
50d58a3bf7SBram Moolenaar		     \ "All Files (*.*)\t*.*\n"
51d58a3bf7SBram Moolenaarendif
52d58a3bf7SBram Moolenaar
53d58a3bf7SBram Moolenaarlet &cpo = s:cpo_save
54d58a3bf7SBram Moolenaarunlet s:cpo_save
55d58a3bf7SBram Moolenaar
56d58a3bf7SBram Moolenaar" vim: nowrap sw=2 sts=2 ts=8
57