Releases: vrothberg/vgrep
Releases · vrothberg/vgrep
v2.4.0
- selectors: add a "all" selector to process all results
- splitMatch: fail gracefully on failure to parse output
- (new) grep: add filename completion
- (new) grep: add a command to trigger a new search from interactive shell
- refine: add a command to refine match list based on a regular expression
- keep: add a new command to keep selected indices
- show: fix a typo ("douldn't" -> "couldn't")
- colwriter: prevent panic on --no-header and no result found
- interactive: close command-line editor on early os.Exit()
- interactive: switch from bufio Scanner to (readline-like) liner
- delete: fix index update for multi-line deletions
- git grep: Run 'git rev-parse' only if not selecting ripgrep
- grep output: expect no more than 2 substrings when splitting on NUL-byte
- grep output: force printing filename for grep/ripgrep
- grep commands: Do not pass '.' as an argument to grep/ripgrep
- README: mention Homebrew package on Mac OS
Thanks to all contributors, with a special thanks to @Qeole for adding many new features and improvements.
v2.3.3
v2.3.2
v2.3.1
A number of fixes and maintenance changes.
Thanks to all contributors and reporters!
Changelog
- README: clarify search/show
- README: add install instructions
- replace string literals with constants
- remove redundant flags
- gnu uses different format than bsd and git grep
- linter error fix for regex
- fix #79, define a new greptype bsd to select : seperator
- use golangci-lint v1.26.0
- CI: use golang:1.14
- update dependencies
- build(deps): bump github.com/sirupsen/logrus from 1.5.0 to 1.6.0
- Update chmod command
- Cross-platform
make install
v2.3.0
A couple of clean ups and minor bug fixes along with Windows and ripgrep support. Also note that the -i
short flag has been dropped to fix a conflict with (git) grep flags.
Thanks to all contributors!
Changelog
- pin golangci-lint version
- Use a standard variable for setting the installation path
- Ripgrep support
- Cache file mode 0644
- drop interactive -i short flag
- Enable basic functionality on windows
- build(deps): bump github.com/sirupsen/logrus from 1.4.2 to 1.5.0
- resolve symlinks in cache
v2.2.0
User-visible changes
- Changed yellow to magenta to improve readability on light color schemes
(e.g., tango). - Auto-detect VSCode terminal and print line column in a clickable format
for easy browing. - Vgrep has a logo.
Miscellaneous and janitorial changes
- update x/sys to latest commit
- check all errors
- Dockerfile: pin to golang:1.13
- update dependencies
- enable Cirrus CI
- Makefile: go and tools clean ups
- Travis: bump go to 1.13.x
- support vscode
- change email address
- add a simple logo
- Makefile: use go proxy
- update dependencies
- Travis: use go 1.12.x instead of tip
- build(deps): bump github.com/sirupsen/logrus from 1.4.0 to 1.4.2
- regex: fix escpaces
- add
make .install.tools
to install dependencies for CI - make check: add golangci-lint
- regex: use raw strings
- switch to go mod for dependency management
v2.1.0
Changes since v2.0.2:
- colwriter: panic on cmd execution
- Travis: check vendor
- add hack/tree_status.sh to check the tree status
- README: spell checks, minor rewording
- fix regression of
vgrep -s $SELECTORS
- update integration-test
- fix interactive regression
- fix regression for empty input
- interactive: print help on empty input
- append additional args to show command
- make output/logs consistent
- embed cli args into vgrep type
- move state into a vgrep type
- remove Log variable in favor logrus API
- Fix some spelling mistakes in comments
- Add missing return for 'show' command
- Avoid race conditions when reading/writing cache file
- Makefile: refactor container build targets
- move ansi & colwriter to ./internal
- update vendored libraries
- Makefile: add
vendor
target - bump Travis to go 1.11.x
- don't error out if cache file doesn't exist
- fix travis
- add integration tests
- README: remove notes about 2.0.0 release
- logging: use string instead of *os.File
- Update vendor/
- README: add Travis CI build status
- add Travis CI
v2.0.2
v2.0.1
golang
v2.0.0 The old vgrep implementation in Python can be found in the "python" branch for historical reasons. The main changes include: - The `--no-git-submodules` flag has been removed as git-grep supports recursing into submodules (see ``--recurse-submodules``) since git v2.12. - The code highlighting of context lines (`--show c`) has been dropped as pygments doesn't perform well with some widely used color schemes, such as solarized. Code highlighting may be re-added in a future release. - The grammar to execute vgrep commands has changed from ``[selectors] command`` to ``command[context] [selectors]``. This change was necessary to discriminate context lines from selectors, what did not work properly before. Extending the selectors also doesn't require to delete the entire line anymore. - Regex selectors were broken and have been removed for now. As vgrep pipes its output to `less`, there are various alternatives to further search in and navigate through the output. - The versioning scheme changed from the Ubuntu-like versioning of ``month.year-patch`` to semantic versioning of ``major.minor.patch``. Please refer to http://semver.org/ to read about the benefits of this versioning scheme. There are two main reasons for having ported vgrep from Python to golang. First, although the previous code base was Python on steroids, the language has certain performance penalties that became a bottleneck when operating on large amounts of data; the implementation in golang is several factors faster and easier to maintain. Second, although there are valid arguments to use even more performant programming languages than golang, such as C, C++ or Rust, but C and C++ are hard to maintain dinosaurs and I simply prefer golang over Rust. Please open an issue in case you experience any troubles after upgrading to the golang version. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com>