priority -1 snippet me "Identify me" Kenneth Benzie (Benie) endsnippet global !p class Comment(object): def __init__(self): # Get the commentstring. commentstring = snip.opt('&commentstring').strip() # Slipt it into before and after parts. commentparts = [part.strip() for part in commentstring.split('%s')] self.commentbefore = commentparts[0] + ' ' self.commentafter = ' ' + commentparts[1] if commentparts[1] else '' # Determine if we are in an existing comment. line = vim.current.buffer[vim.current.window.cursor[0] - 1].strip() # If interpolation has not occcured and the current line starts with the # comment leader, we are in a comment. self.incomment = not snip.c and line.startswith(commentparts[0]) def before(self): return '' if self.incomment else self.commentbefore def after(self): return '' if self.incomment else self.commentafter endglobal snippet todo "TODO commment" `!p comment=Comment() snip.rv=comment.before()`TODO${1/.+/(/}$1${1/.+/)/}: $0`!p snip.rv=comment.after()` endsnippet snippet fixme "FIXME comment" `!p comment=Comment() snip.rv=comment.before()`FIXME${1/.+/(/}$1${1/.+/)/}: $0`!p snip.rv=comment.after()` endsnippet snippet note "NOTE comment" `!p comment=Comment() snip.rv=comment.before()`NOTE: $0`!p snip.rv=comment.after()` endsnippet global !p from datetime import datetime, timedelta, tzinfo from time import daylight, gmtime, localtime, timezone, tzname class LocalTZ(tzinfo): """Query OS for local timezone offset.""" def __init__(self): """Initialize LocalTZ.""" tzinfo.__init__(self) self.unixEpochOrdinal = datetime.utcfromtimestamp( 0).toordinal() def dst(self, _): return timedelta(0) def utcoffset(self, dt): t = ((dt.toordinal() - self.unixEpochOrdinal) * 86400 + dt.hour * 3600 + dt.second + timezone) utc = datetime(*gmtime(t)[:6]) local = datetime(*localtime(t)[:6]) return local - utc def tzname(self, dt): if daylight and localtime().tm_isdst: return tzname[daylight] return tzname[0] endglobal snippet date "date now" `!p snip.rv=datetime.now().strftime('%a %d %b %Y')` endsnippet snippet time "time now" `!p snip.rv=datetime.now().strftime('%H:%M:%S')` endsnippet snippet datetime "date and time now" `!p snip.rv=datetime.now(LocalTZ()).strftime('%a %d %b %Y %H:%M:%S %Z')` endsnippet snippet utc "UTC date time now" i `!p snip.rv=datetime.now(LocalTZ()).strftime('%Y-%m-%dT%H:%M:%S%z')` endsnippet snippet *x "GitHub style checkbox" * [${1:x}] $0 endsnippet snippet "* [" "GitHub style checkbox" * [${1: }] $0 endsnippet snippet *[ "GitHub style checkbox" * [${1: }] $0 endsnippet snippet shrug "¯\\_(ツ)_/¯" i ¯\_(ツ)_/¯ endsnippet snippet tableflip "(╯°▪°)╯︵┻━┻" i (╯°▪°)╯︵┻━┻ endsnippet