From f6110f5ae807c1b5c7427ff5bb43cb202d812782 Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Thu, 18 Jun 2026 22:33:17 +0200 Subject: Better diagnostics and rework -w --- build.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/build.py b/build.py index 15fe9b8..3e72993 100644 --- a/build.py +++ b/build.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 +import itertools as it import json import os import shutil @@ -135,19 +136,22 @@ def main() -> None: os.environ['TYPST_FEATURES'] = 'html' builder = Builder(site_dir, static_dir, public_dir, temp_dir) - builder.build() if args.watch: - logger.info('Watching for changes...') - watch_filter = DefaultFilter(ignore_paths=[temp_dir]) + iterator = it.chain(range(1), watch(site_dir, watch_filter=watch_filter)) - for changes in watch(site_dir, watch_filter=watch_filter): - print(changes) - try: - builder.build() - except TypstError as e: - logger.exception(e) + logger.info('Watching for changes...') + else: + iterator = range(1) + + for _ in iterator: + try: + builder.build() + except TypstError as e: + logger.error('Typst failed:\n' + e.diagnostic) + if not args.watch: + raise if __name__ == '__main__': -- cgit