2f20b96a50
Add an 'all' and a 'help' snippet for vim modelines. The 'all' snippet implements the advice in tabstop's docs about setting softtabstop when using noexpandtab what other variables (expandtab, shiftwidth, and tabstop) to set. It sets these variables to their current values. Vim supports two forms of modelines, but only the second (that includes the 'set') works in languages with comment terminators (/* like C */). The 'help' snippet uses exactly what vim help files use (including the leading space -- I expect users will insert the modeline at the start of a line). Does some unnecessary interpolation ('set' and 'vim') to prevent vim from interpreting the snippet definition as a modeline for the snippets file.
38 lines
828 B
Plaintext
38 lines
828 B
Plaintext
# Snippets for VIM Help Files
|
|
|
|
priority -50
|
|
|
|
global !p
|
|
def sec_title(snip, t):
|
|
file_start = snip.fn.split('.')[0]
|
|
sec_name = t[1].strip("1234567890. ").lower().replace(' ', '-')
|
|
return ("*%s-%s*" % (file_start, sec_name)).rjust(78-len(t[1]))
|
|
endglobal
|
|
|
|
snippet sec "Section marker" b
|
|
==============================================================================
|
|
${1:SECTION}`!p snip.rv = sec_title(snip, t)`
|
|
|
|
$0
|
|
endsnippet
|
|
|
|
snippet ssec "Sub section marker" b
|
|
${1:Subsection}`!p snip.rv = sec_title(snip, t)
|
|
snip += "-"*len(t[1])`
|
|
|
|
$0
|
|
endsnippet
|
|
|
|
snippet sssec "Subsub Section marker" b
|
|
${1:SubSubsection}:`!p snip.rv = sec_title(snip, t)`
|
|
|
|
$0
|
|
endsnippet
|
|
|
|
# For vim help, follow the same settings as the official docs.
|
|
snippet modeline "Vim help modeline"
|
|
`!v 'vim'`:tw=78:ts=8:ft=help:norl:
|
|
endsnippet
|
|
|
|
# vim:ft=snippets:
|