- Fixed various crashers for permission errors or broken files
- Documented API for use as a library.
- Improved help text
- Added color, enabled by default, see
--color
flag.
- Fixed bug with searching for unicode characters
- Fixed various bugs handling illegal XML characters and byte literals
- Better
--help
text - Fixed bug with printing of decorators when using
--context=statement
- Internal refactorings
- Added lots of flags/features:
--heading
--debug
--no-global-ignores
--no-ignore-vcs
--context=statement
- Handle Ctrl-C cleanly
- Auto-dedenting of code when using
--heading --context=statement
- Dropped support for Python 3.7
- Fixed crasher when global ~/.gitignore does not exist
- Added convenience
Match.matching_line
for library usage. - Fixed mypy errors.
- In recursive filesystem walk, ignore symlinks (as per ripgrep) instead of crashing
- Automatic dedenting of code from stdin
- Added
pyastdump
command to more easily see the XML structure.
- Added
--css
option to support CSS selectors instead of XPath.
- Fixed crasher if global gitignore path contained
~
(tilde). Thanks @lost-theory!
- Fixed several cases where .gitignore patterns were not being interpreted correctly.
- Fixed bug with XPath expression that don’t select XML nodes. See hchasestevens/astpath#20
- Handle non-UTF8 encodings
- Automatically apply .gitignore for ignoring files
- Fixed various error handling issues
- Changed dev status to ’Beta’
First release. This is a fork of astpath with the following major changes:
- Changed CLI interface and behaviour to match grep/ripgrep as far as that is sensible
- Significant rewrite of parts of code to untangling the filesystem/XML/printing work
- Many bugs fixed, various features added.