diff --git a/paperforge/cli.py b/paperforge/cli.py index 6e8abaa3..636c1c6b 100644 --- a/paperforge/cli.py +++ b/paperforge/cli.py @@ -116,10 +116,13 @@ def _import_worker_functions() -> None: # Build parser # --------------------------------------------------------------------------- def build_parser() -> argparse.ArgumentParser: + from paperforge import __version__ + parser = argparse.ArgumentParser( prog="paperforge", - description="PaperForge — Obsidian + Zotero literature pipeline CLI", + description="PaperForge \u2014 Obsidian + Zotero literature pipeline CLI", ) + parser.add_argument("--version", action="version", version=f"paperforge {__version__}") parser.add_argument( "--vault", metavar="VAULT", diff --git a/paperforge/plugin/main.js b/paperforge/plugin/main.js index f150a835..606a0865 100644 --- a/paperforge/plugin/main.js +++ b/paperforge/plugin/main.js @@ -335,7 +335,7 @@ class PaperForgeStatusView extends ItemView { _fetchVersion() { const vp = this.app.vault.adapter.basePath; const pythonExe = resolvePythonExecutable(vp); - execFile(pythonExe, ['-m', 'paperforge', '--version'], { cwd: vp, timeout: 10000 }, (err, stdout) => { + execFile(pythonExe, ['-c', 'import paperforge; print(paperforge.__version__)'], { cwd: vp, timeout: 10000 }, (err, stdout) => { if (!err && stdout) { const v = stdout.trim(); this._paperforgeVersion = v.startsWith('v') ? v : 'v' + v; @@ -2157,7 +2157,7 @@ class PaperForgeSetupModal extends Modal { try { let hasPaperforge = true; try { - await runPython(['-m', 'paperforge', '--version']); + await runPython(['-c', 'import paperforge']); } catch { hasPaperforge = false; }