Tags: nazdridoy/ngpt
Tags
8000
fix(shell): improve terminal input handling - [fix] Import get_terminal_input function (ngpt/cli/modes/shell.py:2) - [fix] Replace print with sys.stdout.write for prompt (shell.py:543) - [fix] Replace input() with get_terminal_input() with fallback (shell.py:546-555) - [style] Add space and final newline to basic.md example (docs/examples/basic.md:383) - [chore] Bump project version to 3.8.1 (pyproject.toml:6, uv.lock:150)
refactor(cli): standardize `--pipe` option usage - [refactor] Move `--pipe` argument definition to global group, remove `-p` alias (ngpt/cli/args.py:70,120) - [refactor] Add validation check for `--pipe` usage with `--text` or `--interactive` (args.py:169) - [refactor] Remove dedicated `--pipe` block in `main()` function (ngpt/cli/main.py:550-556) - [refactor] Create `process_piped_input` utility function for reading stdin and placeholder replacement (ngpt/utils/pipe.py:1-38) - [refactor] Add `process_piped_input` to `ngpt/utils/__init__.py` exports (ngpt/utils/__init__.py:28,38) - [refactor] Update chat, code, rewrite, and shell modes to use `process_piped_input` for `--pipe` handling (ngpt/cli/modes/chat.py:14, ngpt/cli/modes/code.py:100, ngpt/cli/modes/rewrite.py:81, ngpt/cli/modes/shell.py:399) - [feat] Add `is_git_diff` helper function and implement `--pipe` handling with diff validation in gitcommsg mode (ngpt/cli/modes/gitcommsg.py:957-966, 987+) - [docs] Update usage strings and option descriptions in README, configuration, and cli_usage docs, removing `-p` alias (README.md:216-217,252-253, docs/configuration.md:148-150,214-215, docs/usage/cli_usage.md:40-42) - [docs] Add extensive documentation and examples for `--pipe` usage with various modes, shell redirection, and git diff processing (README.md:116-137,165, docs/configuration.md:241, docs/examples/advanced.md:48,195-340, docs/examples/basic.md:168-230, docs/overview.md:90-102, docs/usage/cli_options.md, docs/usage/gitcommsg.md) - [chore] Bump project version to 3.8.0 (pyproject.toml:2, uv.lock:149,154)
refactor(shell): improve streaming, add describe cmd - [add] Add imports for streaming/rendering utilities (ngpt/cli/modes/shell.py) - [add] Add setup_streaming function (shell.py:setup_streaming()) - [add] Add generate_with_model function (shell.py:generate_with_model()) - [add] Add display_content function (shell.py:display_content()) - [refactor] Update input handling with try/except (shell.py:shell_mode()) - [refactor] Improve web search spinner handling in finally block (shell.py:shell_mode()) - [refactor] Remove old spinner start and client.chat call (shell.py:shell_mode()) - [refactor] Call setup_streaming and generate_with_model (shell.py:shell_mode()) - [refactor] Replace manual box drawing with display_content call (shell.py:shell_mode()) - [refactor] Update option printing logic (shell.py:shell_mode()) - [feat] Add 'Describe' option and logic to generate/display description (shell.py:shell_mode():335-405) - [feat] Add 'Abort' option and logic (shell.py:shell_mode():406-410) - [feat] Update option text and available options list (shell.py:shell_mode():241-248) - [chore] Bump project version to 3.7.0 (pyproject.toml:2) - [chore] Bump ngpt version to 3.7.0 (uv.lock:151)
refactor(cli): centralize ui and clipboard utilities - [refactor] Add platform import (ngpt/cli/ui.py:4) - [refactor] Add get_terminal_input function for cross-platform input (ui.py:57-78) - [refactor] Add copy_to_clipboard function for prompted copy (ui.py:80-109) - [refactor] Remove local get_terminal_input definition (ngpt/cli/modes/code.py:6-28) - [refactor] Remove platform import (code.py:11) - [refactor] Import copy_to_clipboard from ..ui (code.py:3) - [refactor] Replace clipboard copy logic with call to copy_to_clipboard (code.py:324-342) - [refactor] Relax condition for offering clipboard copy (code.py:326) - [refactor] Import copy_to_clipboard from ..ui (ngpt/cli/modes/gitcommsg.py:8) - [refactor] Replace clipboard copy logic with call to copy_to_clipboard (gitcommsg.py:1129-1139) - [chore] Update logger message after offering clipboard copy (gitcommsg.py:1132) - [refactor] Remove local get_terminal_input definition (ngpt/cli/modes/rewrite.py:11-33) - [refactor] Remove platform import (rewrite.py:8) - [refactor] Import copy_to_clipboard from ..ui (rewrite.py:10) - [refactor] Replace clipboard copy logic with call to copy_to_clipboard (rewrite.py:268-286) - [refactor] Relax condition for offering clipboard copy (rewrite.py:269) - [chore] Bump project version to 3.5.4 (pyproject.toml:2, uv.lock:150)
feat(cli): add copy to clipboard prompt for --code - [feat] Add copy to clipboard prompt and logic after code generation (ngpt/cli/modes/code.py:323-345) - [feat] Implement cross-platform get_terminal_input function (code.py:8-30) - [feat] Add platform module import (code.py:6) - [chore] Bump project version to 3.5.3 (pyproject.toml:2) - [chore] Update uv.lock version for ngpt (uv.lock:150)
fix: indent web search and update logging - [fix] Indent web search call and print into try (ngpt/cli/modes/chat.py:74,80) - [fix] Indent web search call and print into try (ngpt/cli/modes/code.py:120,126) - [fix] Indent web search call and print into try (ngpt/cli/modes/interactive.py:213,219) - [fix] Indent web search call and print into try (ngpt/cli/modes/rewrite.py:145,151) - [fix] Indent web search call and print into try (ngpt/cli/modes/shell.py:75,81) - [fix] Indent web search call and print into try (ngpt/cli/modes/text.py:45,51) - [update] Suppress error, warning, and debug in DefaultLogger (ngpt/utils/web_search.py:35-37) - [update] Update default logger comment (web_search.py:32) - [chore] Bump project version to 3.5.2 (pyproject.toml:2, uv.lock:150)
refactor(web): remove duckduckgo-search/lxml deps - [refactor] Rewrite web search using requests/BeautifulSoup, update docstring/imports (ngpt/utils/web_search.py:2,8-9,57-86) - [refactor] Modify article extraction to use BeautifulSoup exclusively (web_search.py:119-125) - [docs] Update web search function docstring (web_search.py:54) - [build] Update dependencies, remove prepare/vendor bundling (PKGBUILD:10,18-44,53-58) - [docs] Update installation docs with beautifulsoup4 dependency (docs/installation.md:60) - [docs] Update web search usage docs on extraction tech/dependencies (docs/usage/web_search.md:53,56) - [refactor] Remove duckduckgo-search dependency (pyproject.toml:11) - [chore] Bump version to 3.5.1 (pyproject.toml:2) - [chore] Update uv.lock (uv.lock) - [chore] Update poetry.lock, remove primp package (poetry.lock)