global !p def smart_space(next_str, auto_str=" ", loose=False): next_word = "" if next_str: if loose == True: next_word = auto_str elif next_str[0] in [",", ".", "-", "!", "?", " "]: next_word = auto_str return next_word endglobal # Text formatting snippet "h(\d)" "Quick header snippet" biw `!p header_level = int(match.group(1)) legit_header_level = True if header_level >= 1 and header_level <= 6 else False snip.rv = "#" * header_level if legit_header_level else "" ` $0 endsnippet snippet tt "Monospace" biw `$1` $0 endsnippet snippet hl "Highlighted text" biw #$1# $0 endsnippet snippet sp "Superscript" biw ^$1^ $0 endsnippet snippet sb "Subscript" biw ~$1~ $0 endsnippet snippet dt "Definition term" bi ${1:<term>}:: ${2:<definition>} $0 endsnippet snippet ul "Unordered list item" bi * ${1:<list item>} $0 endsnippet snippet ol "Ordered list item" bi . ${1:<list item>} $0 endsnippet snippet -ol "Reversed ordered list (use it only once in a list)" bi [%reversed] . ${1:<list item>} endsnippet snippet bquote "Blockquote" bi ---- $1 ---- $0 endsnippet snippet src "Source code listings" bi [source,${1:<language>}] ---- ${2:<source code>} ---- $0 endsnippet snippet "-table (\d+)-" "Make a quick table" bir [cols="`!p snip.rv = match.group(1)`*"] |=== $1 |=== $0 endsnippet # Multimedia blocks snippet figure "Image block with caption" bi .${2:<caption>} image::${1:<image path>}[${3:width=100%,height=100%}] $0 endsnippet snippet -figure "Inline image" i image:${1:<image path>}[${2}] $0 endsnippet snippet video "Video block" bi video::${1:<image path>}[$2] $0 endsnippet snippet youtube "YouTube video block" bi video::${1:<YouTube video ID>}[youtube] $0 endsnippet snippet vimeo "Vimeo video block" bi video::${1:<Vimeo video ID>}[vimeo] $0 endsnippet snippet audio "Audio block" bi audio::${1:<image path>}[`!p snip.rv=smart_space(t[2], "options=", loose=True)`$2] $0 endsnippet # Other features snippet incl "Include document" bi include::${1:<file path>}[${2:<options>}] $0 endsnippet snippet oblock "Open block" bi -- $1 -- $0 endsnippet snippet sidebar "Sidebar as an open block" bi [sidebar] .${1:<title>} -- $2 -- $0 endsnippet snippet abstract "Abstract block" bi [abstract] == ${1:Summary} $0 endsnippet