Closed acdevlin closed 3 years ago
this smells like ctags problem - can you generate tags for that .h file ? eventually try to upgrade ctags to 5.9 svn(e.g. build from debian sources) or use github ctags ... (https://github.com/fishman/ctags/) if it is a javascript problem, you can easily figure out using developer console which shows javascript errors in browser (firebug, etc.) if it will throw an error (or try to trace/step the code that shows navigation bar - but all defs should be in some javascript variable if I remember correctly, so just pure show of page source code will show what comes from server and can rule out or confirm a ctag problem)
I'd first run ctags by hand to see what ends up in the tags
file.
BTW the 'Annotate across Integrations' link - what does it do ?
@tarzanek So function "asdf" was properly picked up in the tags file by running ctags on it via the CLI. I'll poke around with the page's javascript next; Doing a naive "view source" doesn't show anything fishy.
@vladak The 'Annotate across Integrations' is an inhouse feature I threw together a while back. All of our integrations are done by a handful of users, and our annotate would often only show these users' names for the blame in a file. This on the other hand traces back across integrations and finds the original author of a line, rather than just who integrated the line(s) into the latest version of the file...sadly it only works for Perforce at the moment, but if this sounds useful we can try and commit it back :)
Please retry with the latest Universal ctags + OpenGrok and reopen if the issue persists.
Hitting involving asserts with the '<' character. For some reason, after any ASSERT macro usage with said character, function definitions are not properly interpreted by either ctags or the analyzer. The end result means that we're unable to reliably find function definitions and see them in the "Navigation" box.
Sample screenshot of a test file used to isolate this problem:
Notice that the definition of function "asdf" wasn't properly interpreted. Commenting out the ASSERTRD's at lines 16 and 17 will cause it to be picked up properly though. Also notice that the definition of function "moop" is properly picked up and behaves as expected.
We're currently using OpenGrok 0.11.1 (I know, I know...we need to upgrade) and ctags 5.8, if that helps make a difference. I'm not sure where to start looking to debug this and would greatly appreciate any assistance!