Author Topic: VI-Like tag stack  (Read 3250 times)

Offline kfs1

  • Multiple posting newcomer
  • *
  • Posts: 18
VI-Like tag stack
« on: June 13, 2007, 05:21:09 am »
VI has a feature like CBs "Find Implementation", CTRL-] jumps to the tag of the function under the cursor. VI compliments this with an unwind feature - pressing CTRL-T returns to previous point from which you CTRL-].

This is implemented as a stack, which makes tracing non-running code incredibly easy: You can descend down thru a dozen calls and then unwind - like returning up the stack in the debugger.

Is there a plugin for CB that does something like this?

Offline kfs1

  • Multiple posting newcomer
  • *
  • Posts: 18
Re: VI-Like tag stack
« Reply #1 on: June 13, 2007, 10:55:00 am »
Doesn't have to be a plugin. Unfortunately the systems I'm working with use an awful lot of glue/api/interface layers so tracking code frequently involves branching across 3 files only to suddenly land back in the file I started at, but at a different position, and then revisit one or more of the other files.

An unwind capability would be a god send. If there's no such capability at the minute, you can bet I'll be suggesting it :)

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2775
« Last Edit: June 13, 2007, 01:49:19 pm by Pecan »

Offline kfs1

  • Multiple posting newcomer
  • *
  • Posts: 18
Re: VI-Like tag stack
« Reply #3 on: June 14, 2007, 02:28:51 am »
That's definitely a help, but quite often I'm moving back and forth between points in the same modules.

E.g.

mod1.cpp:outerCall -> mod2.h:member -> mod3.cpp:innerCall -> mod1.cpp:referenceCall -> mod1.h:member -> mod1.cpp:member -> mod2.h:member -> mod2.cpp:member ... etc

FWIW - I'm trying to refactor reasonably good code, its just grown into spaghetti code over 6 years of active maintenance.