From 56c6c3a3ec7621d5a7572af11d5b1a28b50e3610 Mon Sep 17 00:00:00 2001 From: Shrutik Vankundre Date: Sun, 29 Jun 2025 21:37:45 +0530 Subject: [PATCH] Added --version flag to CLI Introduces a --version flag to display the CodeVault version. --- .../__pycache__/__init__.cpython-312.pyc | Bin 147 -> 178 bytes codevault/__pycache__/cli.cpython-312.pyc | Bin 1065 -> 4951 bytes codevault/__pycache__/crypto.cpython-312.pyc | Bin 1857 -> 1888 bytes codevault/__pycache__/storage.cpython-312.pyc | Bin 2323 -> 2386 bytes codevault/cli.py | 20 +++++++++++++++--- 5 files changed, 17 insertions(+), 3 deletions(-) diff --git a/codevault/__pycache__/__init__.cpython-312.pyc b/codevault/__pycache__/__init__.cpython-312.pyc index 6a1a7c693cbe214f9973eba1d382dfc2cb15e6eb..0fb563759ea78d09cdb88a28844530d03c39c264 100644 GIT binary patch delta 107 zcmbQtxQUVbG%qg~0}%KmBu?ZuHVkyOiU}=FEh>&F&L}D^(F+EVnb|S^d8sZ%nPsUl zF8Rr&xv6<2#WC)gB_5?o69W{LesS33=BJeAq}mm+0*zt>;$jfvBQql-V-Yiu1pp7` B9^3!` delta 46 zcmdnQIGK_AG%qg~0}yzsgiho(7BX_NipeN0&QFdnD9X=DO)e>(n6JoqYvM#j02f6L A82|tP diff --git a/codevault/__pycache__/cli.cpython-312.pyc b/codevault/__pycache__/cli.cpython-312.pyc index b7e9c1bed3f2c1bd77d1e81b905e247a3f465c8f..96774fc0f98fe3f07aa4b75633bd03efd27205b4 100644 GIT binary patch literal 4951 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 delta 513 zcmX|7OG_g`5U%QZ#b{>*7@FE`l1Kz!?L=mFs#fvwW?9GeSF{YrZyS}f!>W{uloJH)bSS$(@J&CoAM|NcQ zr6;L71`Zta-~(q|%VUB0tf2W?LHBh81_3))A_@d46RRcA6qC3+gd0iytx2j4?JA*451vDsfLXXN%~sT72wmyj+>IYOlj56<9e^v+FQyUD7X z`a6`WI%DPZgEMsUv+5+u>HiTh;(xxJq;K_M;gH0`dCw9Ny45Th7DaYF5b7ryCO+)g z%c@rook2tMVIwkGDDs_rFeUnlQXe8+Dz6$M-h=%FGuJTl&jjqefp}eyVyfO}VxqC( E9e+t@s{&}e`MVV!( hF)sPZrManjCB-rBnI#^jNt@f5R9F~)OK}|ViGcNv5LtkF3wMmFDS~-N=+^)-n@)Sg@y6fIQ=Cy$TA~*WA~UmN{PR*>iZaVm zV_fo+OLJ56N{VCLGfO;5lQy4X+|R@~VR9FXs?B9i`40??tkMe%Z*Xw-vv;yj;Jm^i z^_>|g^n{bQCv%3#WllMe3b6%>FcmC4ydVW)lOM9k2?G^^4fyq)1tK|t%P3^%Vil87T%4aAUr>~vm6}{qy!j>LekR6-$tzh@ zjjnLYFEG5p!P(E=$v%Pe3WwBpW(F>WC!D-JnKMMLaLO%Egh{gW@Pg#zCv&mN@dDLc z;FSOMoKx-sr`%?1)?_Bep2_psWep+biHJ^jo9H&#qk|LEIDUctvd*&ZiVhZtao^b$ RP>q|c#j%X>*5r#EjR0B7Lc9O~ diff --git a/codevault/cli.py b/codevault/cli.py index 49df308..4b62344 100644 --- a/codevault/cli.py +++ b/codevault/cli.py @@ -3,7 +3,10 @@ from pathlib import Path from .storage import initialize_vault, save_snippets, load_snippets -# Initialize vault directory +# 🔖 Version info +VERSION = "v0.1.0" + +# 🔐 Vault setup VAULT_DIR = Path.home() / ".codevault" VAULT_FILE = VAULT_DIR / "snippets.enc" SALT_FILE = VAULT_DIR / "salt.bin" @@ -23,6 +26,16 @@ def get_password(confirm=False): def main(): parser = argparse.ArgumentParser(prog="codevault", description="Secure code snippet manager") + parser.add_argument('--version', action='store_true', help="Show CodeVault version") + + # Parse known args first to check for version + args, remaining_args = parser.parse_known_args() + + if args.version: + print(f"CodeVault {VERSION}") + return + + # Only now require subcommands subparsers = parser.add_subparsers(dest="command", required=True) # Add command @@ -38,7 +51,8 @@ def main(): # List command subparsers.add_parser("list", help="List all snippets") - args = parser.parse_args() + # Now parse full args + args = parser.parse_args(remaining_args) try: if not VAULT_FILE.exists(): @@ -84,4 +98,4 @@ def main(): print(f"Error: {str(e)}") if __name__ == "__main__": - main() \ No newline at end of file + main()