Allow different type of pre-processing guards to be included in C
headers. This commit introduces the `c_include_guard_style` option, which can take one of the following values: "ifdef", "pragma", "none". The corresponding type of guard will be used accordingly to the value of this variable.
This commit is contained in:
parent
8f7c2ac636
commit
cbfc6d3cd0
|
@ -145,8 +145,19 @@ hook global WinSetOption filetype=(?!cpp$).* %[ rmhl cpp ]
|
||||||
hook global WinSetOption filetype=objc %[ addhl ref objc ]
|
hook global WinSetOption filetype=objc %[ addhl ref objc ]
|
||||||
hook global WinSetOption filetype=(?!objc$).* %[ rmhl objc ]
|
hook global WinSetOption filetype=(?!objc$).* %[ rmhl objc ]
|
||||||
|
|
||||||
|
decl str c_include_guard_style "ifdef"
|
||||||
def -hidden _c-family-insert-include-guards %{
|
def -hidden _c-family-insert-include-guards %{
|
||||||
exec ggi<c-r>%<ret><esc>ggxs\.<ret>c_<esc><space>A_INCLUDED<esc>ggxyppI#ifndef<space><esc>jI#define<space><esc>jI#endif<space>//<space><esc>O<esc>
|
%sh{
|
||||||
|
case "${kak_opt_c_include_guard_style,,}" in
|
||||||
|
ifdef)
|
||||||
|
echo "exec ggi<c-r>%<ret><esc>ggxs\.<ret>c_<esc><space>A_INCLUDED<esc>ggxyppI#ifndef<space><esc>jI#define<space><esc>jI#endif<space>//<space><esc>O<esc>"
|
||||||
|
;;
|
||||||
|
pragma)
|
||||||
|
echo "exec ggi#pragma<space>once<esc>"
|
||||||
|
;;
|
||||||
|
*);;
|
||||||
|
esac
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
hook global BufNew .*\.(h|hh|hpp|hxx|H) _c-family-insert-include-guards
|
hook global BufNew .*\.(h|hh|hpp|hxx|H) _c-family-insert-include-guards
|
||||||
|
|
Loading…
Reference in New Issue
Block a user