from subprocess import run import sys import json from common import format_timestamp journal = json.load(open('journal.json')) matches = [] keyword = sys.argv[1].lower() for day, obj in journal.items(): for entry in obj['entries']: for block in entry['blocks']: if isinstance(block, str): if keyword in block.lower().split(): matches.append((format_timestamp(entry['timestamp']), block)) buf = '' for (ts, c) in matches: c = c.replace('\n', ' ').strip() buf += (f'[[{ts}]] {c}')[:80] + '\n' run(['nvim', '-'], input=buf.encode('utf-8'))