global !p from datetime import datetime, timedelta def relative_date(days = 0): time_difference = timedelta(days=int(days)) calculated_date = datetime.today() + time_difference return calculated_date endglobal snippet "reldate (\d+)( ".+")?" "Prints out the relative date in ISO format." ri `!p reldate = relative_date(match.group(1)) date_format = match.group(2).strip(" \"") if match.group(2) is not None else "%F" snip.rv = reldate.strftime(date_format) ` endsnippet snippet today "Prints out today's date in ISO format" i `!p from datetime import datetime snip.rv = datetime.today().strftime("%F") ` endsnippet # Quick formatting. snippet sign "Quick signature" i ${1:Sincerely,} ${2:Gabriel Arazas} $0 endsnippet snippet retrieve "Quick retrieval date in informal format" i (retrieved `!p snip.rv = datetime.today().strftime("%F")`) endsnippet snippet ie "Parenthetical material Latin 'id est' (ie)" iw (i.e., $1) $0 endsnippet snippet eg "Parenthetical material Latin 'exempli gratia' (eg)" iw (e.g., $1) $0 endsnippet # Em dashes (I've these dedicated snippets for some reason). snippet em "Quick em dash" — endsnippet snippet em-mat "Em dash material" iw — $1 — $0 endsnippet snippet em-ie "'id est' surrounded with em dash" iw — i.e., $1 — $0 endsnippet snippet em-eg "'exempli gratia' surrounded with em dash" iw — e.g., $1 — $0 endsnippet # Quick word snippets # Each of these quick word snippets has a prefix of `qw-` snippet qw-lx "LaTeX" iw LaTeX endsnippet snippet qw-as "Asciidoctor" iw Asciidoctor endsnippet # Miscellaneous snippets snippet #! "Quick snippet for a shebang." bi #!${1:/usr/bin/env} ${2:sh} endsnippet # This is only useful for decorative comment boxes and all of the jazz. snippet "boxen '(.*)'" "Create a box of stuff" ir `!p snip.rv = (match.group(1) * (len(t[1]) + 4)).strip()[0:(len(t[1]) + 4)]` `!p snip.rv = match.group(1)[0]` $1 `!p snip.rv = match.group(1)[0]` `!p snip.rv = (match.group(1) * (len(t[1]) + 4)).strip()[0:(len(t[1]) + 4)]` $0 endsnippet # Also stolen from Gilles Castel's post at https://castel.dev/post/lecture-notes-1/. snippet box "More box (that looks more like a box)." `!p snip.rv = '┌' + '─' * (len(t[1]) + 2) + '┐'` │ $1 │ `!p snip.rv = '└' + '─' * (len(t[1]) + 2) + '┘'` $0 endsnippet