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