You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My proposal, and I hope it will be considered, is to replace the first column of the results (consisting in the name of the searched function), with the function name where the call occurs.
This improved output could be applied by adding a new command line switch to the cqsearch.exe executable so that a user could decide if to enable it or not.
Moreover, when searching for symbol occurrences with cqsearch.exe, the possible values for the n switch are:
1: Symbol (default) -> V
2: Function or macro definition -> ?
3: Class or struct -> ?
4: Files including this file -> X
5: Full file path -> X
6: Functions calling this function -> X
7: Functions called by this function -> X
8: Calls of this function or macro -> V
9: Members and methods of this class -> ?
10: Class which owns this member or method -> ?
11: Children of this class (inheritance) -> ?
12: Parent of this class (inheritance) -> ?
13: Functions or macros inside this file -> X
My proposal is to enhance the output for the types marked with V. With the ? symbol I marked the kinds for which I'm not sure the new output format should be applied. Finally, X marks those types for which, in my opinion, the new output format would not make sense.
Hi @pidgeon777
It's a bit hard because existing plugins for vim and visual studio code depend on the current output format of cqsearch CLI.
Do you have any use cases for this, from cqsearch CLI?
i think you can get the same information from CodeQuery GUI.
@pidgeon777
The first column is not redundant. If you do a non-exact search for "button", it will also show "clickbutton", "smallbutton", "buttonclick" and so on.
It's a bit hard because existing plugins for vim and visual studio code depend on the current output format of cqsearch CLI.
I think it could be easily solved by adding a further option argument to cqsearch. For example:
-F : Show the function name where the searched symbol/function call occurs.
By doing so, my proposed "enhanced" output format would be enabled only when specifying that switch, leaving the default cqsearch behaviour untouched.
Do you have any use cases for this, from cqsearch CLI?
Yes, cqsearch is very useful for example to look for symbol references or function calls.
Anyway, by also displaying the function where the symbol is referenced and applying some further filtering (for example with grep), it would be very easy to detect:
Functions where a symbol is read.
Functions where a symbol is written.
Functions where a function is called (also doable with Graph mode, but textual through CLI is more powerful under certain circumstances).
For example, one could want to verify that a variable is read or written only in one function, and not in more of them.
Or check in which functions, and how many times, a function is called.
With my proposed output, it would be much easier to check for that, for example.
Finally, with CodeQuery GUI you are limited to the GUI itself.
With cqsearch output results being pure text could be further processed with interesting results.
The first column is not redundant. If you do a non-exact search for "button", it will also show "clickbutton", "smallbutton", "buttonclick" and so on.
My fault. If then, a new column could be added and resulting in this new output:
<Symbol Name> <Function where it occurs> <File:line> <Line Text>
Where <Symbol Name> could be partial or exact.
Again, all of this could be enabled by specifying the -F switch, for example.
Activity
ruben2020 commentedon Nov 2, 2021
Hi @pidgeon777
It's a bit hard because existing plugins for vim and visual studio code depend on the current output format of cqsearch CLI.
Do you have any use cases for this, from cqsearch CLI?
i think you can get the same information from CodeQuery GUI.
ruben2020 commentedon Nov 2, 2021
@pidgeon777
The first column is not redundant. If you do a non-exact search for "button", it will also show "clickbutton", "smallbutton", "buttonclick" and so on.
pidgeon777 commentedon Nov 3, 2021
Hi @ruben2020
I think it could be easily solved by adding a further option argument to
cqsearch. For example:By doing so, my proposed "enhanced" output format would be enabled only when specifying that switch, leaving the default
cqsearchbehaviour untouched.Yes,
cqsearchis very useful for example to look for symbol references or function calls.Anyway, by also displaying the function where the symbol is referenced and applying some further filtering (for example with
grep), it would be very easy to detect:For example, one could want to verify that a variable is read or written only in one function, and not in more of them.
Or check in which functions, and how many times, a function is called.
With my proposed output, it would be much easier to check for that, for example.
Finally, with
CodeQuery GUIyou are limited to the GUI itself.With
cqsearchoutput results being pure text could be further processed with interesting results.My fault. If then, a new column could be added and resulting in this new output:
Where
<Symbol Name>could be partial or exact.Again, all of this could be enabled by specifying the
-Fswitch, for example.