-
Notifications
You must be signed in to change notification settings - Fork 14
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
GrepWithShell #17
Comments
Anything is possible if the desire is there :-). The question is how much effort is involved and where do we stop? Vim has dozens of commands that invoke external programs and I have to draw the line somewhere. I haven't decided yet on which side of the line I'm not familiar with ack.vim (haven't used it so far). If I add the |
I just browsed through the source code of ack.vim and I guess we would predefine I'm wondering if it isn't possible to build a |
Yup, the limitation is there. So the remaining options:
Edit: If there was a way to intercept / hook into all attempts to run a child process, we could hide the console windows without having to patch Vim or convert hundreds of Vim plug-ins to use |
I'm now reading about MS Detours (very expensive, have to sign NDAs, etc) and MHook (free and MIT licensed just like vim-shell :-D). I still don't know if this approach can work, but I'm willing to try. I might have some time this weekend. |
Certainly I could change ack.vim myself -- I just bothered you after checking how to do that. If you want to try out Ack, which is a great replacement for grep, you can find some info about it here.. After understanding the way you implemented But even if that is possible & easy to implement I agree that it would be a lot of work to patch some of others plugins to be compatible with those commands (e.g.: I was about to browse SingleCompile to check how to change it). So I believe that is a very good idea to somehow intercept all attempts to run an external command (if it is possible :-D). |
After getting used to |
From
My knowledge in Windows APIs and gVim source code is very limited; so this is probably a dumb question: instead of trying to intercept the calls, is it possible & easier to change the Or create a fake |
I was indeed thinking of "overriding" So the only remaining option is to tell Windows that we want to hide (but not remove) the console window before we start the external program. To do that I will have to intercept and override all calls from Vim to Windows API functions like MS Detours and MHook provide a way to intercept Windows API calls, but MS Detours is not an option (licensing) and so far I haven't gotten MHook to compile. |
Does changing
|
(I know that you already use it in this plugin, but I doesn't understand how) |
It seems that there is another option to hiding the console window: using a Gui application.. |
Following the same idea of
:MakeWithShell
and:LMakeWithShell
, is it possible to create:GrepWithShell
?This would make possible to integrate
:Fullscreen
with ack.vim.The text was updated successfully, but these errors were encountered: