feat: redesign help
command, improve completer UX, and document Falyx CLI
- Renamed CLI subcommand from `list` to `help` for clarity and discoverability. - Added `--key` and `--tldr` support to the `help` command for detailed and example-based output. - Introduced `FalyxMode.HELP` to clearly delineate help-related behavior. - Enhanced `_render_help()` to support: - Tag filtering (`--tag`) - Per-command help (`--key`) - TLDR example rendering (`--tldr`) - Updated built-in Help command to: - Use `FalyxMode.HELP` internally - Provide fallback messages for missing help or TLDR data - Remove `LIST` alias (replaced by `help`) - Documented `FalyxCompleter`: - Improved docstrings for public methods and completions - Updated internal documentation to reflect all supported completion cases - Updated `CommandArgumentParser.render_tldr()` with fallback message for missing TLDR entries. - Updated all parser docstrings and variable names to reference `help` (not `list`) as the proper CLI entrypoint. - Added test coverage: - `tests/test_falyx/test_help.py` for CLI `help` command with `tag`, `key`, `tldr`, and fallback scenarios - `tests/test_falyx/test_run.py` for basic CLI parser integration - Bumped version to 0.1.81
This commit is contained in:
19
tests/test_falyx/test_run.py
Normal file
19
tests/test_falyx/test_run.py
Normal file
@ -0,0 +1,19 @@
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
|
||||
from falyx import Falyx
|
||||
from falyx.parser import get_arg_parsers
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_run_basic(capsys):
|
||||
sys.argv = ["falyx", "run", "-h"]
|
||||
falyx_parsers = get_arg_parsers()
|
||||
assert falyx_parsers is not None, "Falyx parsers should be initialized"
|
||||
flx = Falyx()
|
||||
with pytest.raises(SystemExit):
|
||||
await flx.run(falyx_parsers)
|
||||
|
||||
captured = capsys.readouterr()
|
||||
assert "Run a command by its key or alias." in captured.out
|
Reference in New Issue
Block a user