Feat(cli): add base command-line interface #16

Merged
jakob.scheid merged 21 commits from feature/cli into main 2026-09-13 20:11:00 +02:00
21 Commits
Author SHA1 Message Date
jakob.scheid 1ce3d8f9d1 refactor(cli): remove unnecessary, redundant __all__ 2026-09-13 20:10:22 +02:00
jakob.scheid 56588e6c78 fix: jcloud_docsgen.cli instead of jcloud_docsgen.cli.cli in pyproject.toml 2026-09-13 20:09:02 +02:00
jakob.scheid bd7780f112 test(cli): add tests for Python sections list parser 2026-09-13 19:04:55 +02:00
jakob.scheid 5e84156e01 fix(cli): copy VALID_SECTIONS when parsing sections list 2026-09-13 19:04:54 +02:00
jakob.scheid 089cf5f2ff refactor(cli): move sections list parsing to function 2026-09-13 19:04:54 +02:00
jakob.scheid 8644232a00 feat: add __main__ module
Added a __main__ module that calls the CLI main function.
2026-09-13 19:04:54 +02:00
jakob.scheid 2cb99d4ca9 feat(cli): add cli module to cli package __init__ module 2026-09-13 19:04:54 +02:00
jakob.scheid 8f5dc33369 feat(cli): import languages package 2026-09-13 19:04:54 +02:00
jakob.scheid e2e6a59d13 docs(changelog): update CLI entry 2026-09-13 19:04:53 +02:00
jakob.scheid 84fe67230f test(cli): add tests for the CLI 2026-09-13 19:04:41 +02:00
jakob.scheid 348be4f07f refactor(cli): rename 'parsers' package to 'languages' 2026-09-10 15:52:05 +02:00
jakob.scheid db0d36f956 feat(cli): add __all__ to cli.cli module 2026-09-10 13:37:45 +02:00
jakob.scheid 29d1c5bced refactor(cli): move parser creation to a function 2026-09-10 13:36:06 +02:00
jakob.scheid 3ab9884be0 feat(cli): add error handling
The CLI now handles error that may result from user input and prints an
error message. Following error types are handled:
 - file not found
 - not a directory
 - directory instead of file
 - file exists
 - permission error
 - general operating system errors
 - Unicode errors
 - errors parsing project source code

Additionally, KeyboardInterrupt and BrokenPipeError are catched and an
appropriate exit code is returned.
2026-09-10 13:36:03 +02:00
jakob.scheid 60a097f0cc feat(cli): allow to pass command line arguments to function 2026-09-10 09:58:18 +02:00
jakob.scheid a8513a78e2 docs(changelog): add CLI entry to changelog 2026-09-10 09:51:55 +02:00
jakob.scheid 34457f0b9f chore: add project script
Added the script 'jcloud-docsgen' to pyproject.toml so that jCloud Docsgen can
be run directly without using 'python3 -m ...'.
2026-09-10 09:50:19 +02:00
jakob.scheid bce073746e feat(cli): add Python CLI handling
Added a subparser for Python documentation and a function to generate
Python documentation.
2026-09-10 09:46:04 +02:00
jakob.scheid 350f8f9941 refactor(cli)!: make CLI a package 2026-09-05 20:38:59 +02:00
jakob.scheid 2d6de2028f feat(cli): add output directory option 2026-09-05 20:38:58 +02:00
jakob.scheid 436dacf806 feat(cli): make project_directory argument optional 2026-09-05 20:38:19 +02:00