Commit Graph

8 Commits

Author SHA1 Message Date
0f93d3a095 Add watch mode for live file monitoring
All checks were successful
CI / lint (push) Successful in -26s
CI / typecheck (push) Successful in -23s
CI / test (3.12) (push) Successful in -25s
CI / test (3.13) (push) Successful in -24s
CI / test (3.14) (push) Successful in -24s
CI / lint (pull_request) Successful in -28s
CI / test (3.14) (pull_request) Successful in -24s
CI / typecheck (pull_request) Successful in -24s
CI / test (3.12) (pull_request) Successful in -25s
CI / test (3.13) (pull_request) Successful in -24s
Add --watch flag that polls a file and redraws the terminal when its
content changes. Useful for monitoring log files, configuration files,
or any file that changes over time.

Features:
- Polls file every 1 second for changes
- Disables pager (pager would block the watch loop)
- File-only: rejects stdin or - input
- Error recovery: retries when file is missing or temporarily unreadable
- State comparison: only redraws when content actually changes
2026-04-04 05:23:28 -07:00
93c777cf6a Add opt-in debug logging across the CLI pipeline
Thread RP_DEBUG-driven logging through input, detection, rendering, and pager decisions so CLI behavior is inspectable without polluting stdout. Add focused coverage for debug wiring, env parsing, and stderr-only output.
2026-04-03 19:09:24 -07:00
37502c3083 Add script detection, env shebang parser, and opt-in content guessing 2026-04-03 13:55:54 -07:00
32a8a1d4ad Improve documentation and modernize type hints 2026-04-01 21:06:34 -07:00
5b336f2ce0 Add LICENSE, fix PEP 639 classifier warning, enhance --version output, add dev dependencies
- Create MIT LICENSE file
- Remove deprecated License classifier, add license-files to pyproject.toml
- Add __license__ constant to __init__.py
- Show full name, copyright, and license in rp --version
- Add ruff and mypy as dev dependencies
2026-04-01 18:40:03 -07:00
dd45fb05f7 Handle unknown lexer, remove dead _THEMES list, tighten JSON detection - Catch unknown Pygments lexer names and fall back to plain text - Remove unused _THEMES list from cli.py - Only auto-detect JSON when content starts with { or [ to avoid false positives on trivial values like strings or numbers 2026-04-01 16:10:21 -07:00
5db15a8a17 Fix review issues: error handling, stdin TTY hint, narrow exceptions - Handle UnicodeDecodeError and PermissionError for file reading - Show hint when stdin is a TTY and no file given - Narrow JSON fallback exception from Exception to (SyntaxError, ValueError) - Rename 'type' parameter to 'file_type' to avoid shadowing builtin - Remove dead '.R' entry from EXTENSION_MAP 2026-04-01 16:02:56 -07:00
1abfcebc24 Implement rp CLI: rich-print markdown, JSON, code, and more
- Add typer CLI with auto file-type detection by extension
- Support markdown (rich.Markdown), JSON (rich.JSON), and 30+ code
  languages via Pygments syntax highlighting
- Features: line numbers toggle, pager support, stdin input,
  configurable color themes
- Project metadata: MIT license, author, classifiers, entry point
2026-04-01 15:56:57 -07:00