-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use pfgrep instead of QShell grep when possible #2429
base: master
Are you sure you want to change the base?
Conversation
This is the main question. I suspect the best we can do is offer a page in our docs (under Tips) specifically for getting |
Might want to wait for next version, I'm working on |
@NattyNarwhal I don't know if you're interested, but we have a major codebase change in the last week, so it might be worth fixing up this PR. |
I'll push out an update to pfgrep this week and rebase. |
[pfgrep][pfgrep] is a fast alternative to QShell grep. It aims to be much faster and support the full spectrum of PCRE regular expression functionality. In my testing, searching for the string `Qp0l` in `QSYSINC/H` shows: - qshell grep: ~11 seconds - pfgrep v0.2: ~8 seconds - pfgrep v0.3: ~2 seconds Quite a big improvement! Questions include: - Should VS Code offer to point you to where to download pfgrep? It's not yet in the IBM repository, but we do have our own repo, RPMs available, and it can be built from source. - With faster search, doing things like regular expressions or searching across multiple files/libraries goes from tedious to quite possible. That's out of scope for this PR, but would be quite nice to add. Same deal for regular expressions instead of fixed strings. - If you do need any features in pfgrep, let me know. I can prioritize things that VS Code needs. [pfgrep]: https://github.com/SeidenGroup/pfgrep
By default pfgrep includes the full record, including whitespace. Maybe this should be changed, but this is what it does now; use -t to match semantics of qsh grep. Note that this will need pfgrep v0.3.2; there was a bug in character trimming in previous versions.
We don't have skips I think, so this may be weird.
@NattyNarwhal I think your test cases need to be moved over to the newer https://github.com/codefori/vscode-ibmi/blob/master/src/api/tests/suites/search.test.ts |
I did move the search tests over to the API tests suite; should I revert the ones in the non-API tests suite side? |
pfgrep is a fast alternative to QShell grep. It aims to be much faster and support the full spectrum of PCRE regular expression functionality.
In my testing, searching for the string
Qp0l
inQSYSINC/H
shows:Quite a big improvement!
Questions include:
Changes
Description of change here.
How to test this PR
Examples:
Checklist
console.log
s I added