diff options
| author | Anton Bobov <abobov@gmail.com> | 2021-03-16 20:45:57 +0500 |
|---|---|---|
| committer | Anton Bobov <abobov@gmail.com> | 2021-03-20 20:14:45 +0500 |
| commit | 1f0ace5cb8cfcd1f4316d59681e2bc61c283f39c (patch) | |
| tree | 16f4d935619923611dd849e10c6da3822e617a1e /files/.vim | |
| parent | 013ee40d4ee7b6d014649c263ab6828261cb4e62 (diff) | |
vim: change snippets to ultisnips.
Diffstat (limited to 'files/.vim')
| -rw-r--r-- | files/.vim/UltiSnips/all.snippets | 3 | ||||
| -rw-r--r-- | files/.vim/UltiSnips/ledger.snippets | 58 | ||||
| -rw-r--r-- | files/.vim/UltiSnips/remind.snippets | 18 | ||||
| -rw-r--r-- | files/.vim/snippets/ledger.snippets | 4 |
4 files changed, 79 insertions, 4 deletions
diff --git a/files/.vim/UltiSnips/all.snippets b/files/.vim/UltiSnips/all.snippets new file mode 100644 index 0000000..ba709bd --- /dev/null +++ b/files/.vim/UltiSnips/all.snippets @@ -0,0 +1,3 @@ +snippet date "current date" +`date +%F` +endsnippet diff --git a/files/.vim/UltiSnips/ledger.snippets b/files/.vim/UltiSnips/ledger.snippets new file mode 100644 index 0000000..80c4a51 --- /dev/null +++ b/files/.vim/UltiSnips/ledger.snippets @@ -0,0 +1,58 @@ +global !p +def ledger_list(args): + import subprocess + res = subprocess.run(['ledger'] + args, capture_output=True) + return res.stdout.decode('utf-8').split('\n') + +def list_payees(filter): + return ledger_list(['payees', '-p', 'last 6 months'] + filter) + +def list_commodities(filter): + res = ledger_list(['commodities', '-p', 'last 6 months'] + filter) + return [m.strip('"') for m in res] + +def complete(base, matches): + matches = [m for m in matches if m != ''] + if base: + matches = [m[len(base):] for m in matches if m.startswith(base)] + if not matches: + return '' + elif len(matches) == 1: + return matches[0] + elif len(matches) > 5: + return '[' + ' | '.join(matches[:5]) + ' | ...]' + else: + return '[' + ' | '.join(matches) + ']' +endglobal + +snippet ent "new entry" b +`date +%F` ${1:Transaction} + ${2:Expenses} ${3:R0.00} + ${4:Assets} +endsnippet + +snippet div "new dividend" b +`date +%F` * ${1:broker} + ; Stock: ${2:stock} + Assets:${3:Broker:$1:Cash} ${4:\$10.00} + Income:Broker:Dividend +endsnippet + +snippet coupon "new coupon" b +`date +%F` * ${1:broker} + ; Bond: ${2:bond} + Assets:${3:Broker:$1:Cash} ${4:\$10.00} + Income:Broker:Coupons +endsnippet + +snippet broker "broker payee" +$1`!p snip.rv = complete(t[1], list_payees(['Assets:Broker']))`$0 +endsnippet + +snippet stock "stock ticket" +$1`!p snip.rv = complete(t[1], list_commodities(['Assets:Broker', 'and', 'Stock']))`$0 +endsnippet + +snippet bond "bond ticket" +$1`!p snip.rv = complete(t[1], list_commodities(['Assets:Broker', 'and', 'Bond']))`$0 +endsnippet diff --git a/files/.vim/UltiSnips/remind.snippets b/files/.vim/UltiSnips/remind.snippets new file mode 100644 index 0000000..055407a --- /dev/null +++ b/files/.vim/UltiSnips/remind.snippets @@ -0,0 +1,18 @@ +snippet rem "new reminder" b +REM ${1:`date "+%d %b %Y"`} MSG ${2}% +endsnippet + +snippet remt "new reminder with time" b +REM ${1:`date "+%d %b %Y"`} AT ${2:12:00} DURATION 1:00 MSG ${3}% +endsnippet + +snippet % +%"${0:${VISUAL}}%" +endsnippet + +priority 1 + +snippet date "insert date" +`date "+%d %b %Y"` +endsnippet + diff --git a/files/.vim/snippets/ledger.snippets b/files/.vim/snippets/ledger.snippets deleted file mode 100644 index 68c2a1f..0000000 --- a/files/.vim/snippets/ledger.snippets +++ /dev/null @@ -1,4 +0,0 @@ -snippet ent - `system("date +%F")` ${1:transaction} - ${2:account} R${3:vaule} - ${4:Liabilities:Visa} |
