Scite Tags |
|
readtags program. See Files:wiki_insecure/editors/SciTE/ctags.lua.
readtags and is a lot faster on slow machines.
This is the original version for SciteExtMan: <=> Files:wiki_insecure/editors/SciTE/ctagsx.lua
This is an alternative version that fixes a few problems with whitespace being present in the tag file... <=> Files:wiki_insecure/editors/SciTE/ctagsx_alt.lua
Yet another alternative version that dynamically searches and uses the nearest tags file relative to $FileDir path of the opened file. This version does not require specifying ctags.path.cxx in the properties file of SciTE and it is also able to cope with non Exuberant ctags as well <=> Files:wiki_insecure/editors/SciTE/ctagsdx.lua
ctagsdx.lua is now able to cope with ctags, Exuberant or not.
ctagsx.lua or ctagsx_alt. All extended versions that work with SciteExtMan do not need the properties file:
ctags.path.cxx=<full path to tags file> command.name.14.*=Find Tag command.14.*=find_ctag $(CurrentWord) command.subsystem.14.*=3 command.mode.14.*=savebefore:no command.shortcut.14.*=Ctrl+. command.name.15.*=Go to mark command.15.*=goto_mark command.subsystem.15.*=3 command.mode.15.*=savebefore:no command.shortcut.15.*=Alt+. command.name.16.*=Set Mark command.16.*=set_mark command.subsystem.16.*=3 command.mode.16.*=savebefore:no command.shortcut.16.*=Ctrl+' command.name.17.*=Select from Mark command.17.*=select_mark command.subsystem.17.*=3 command.mode.17.*=savebefore:no command.shortcut.17.*=Ctrl+/ #ctags.exe --recurse --totals=yes --languages=c,c++ --verbose "d:\*" "c:\*" command.name.18.*=rebuildTags command.18.*=$(SciteDefaultHome)/ctags --recurse --totals=yes --languages=c,c++ "C:\Dokumente und Einstellungen\lars\Desktop\linux-2.6.15.7\*" command.subsystem.18.*=0 command.mode.18.*=savebefore:no
e:\scite> ctags src\*.cxx src\*.h win32\*.cxx win32\*.hand then set
ctags.path.cxx to e:\scite\tags
Find Tag, or Ctrl+., which works with the word under the cursor. This sets the mark, so you can immediately get back to your original position with Go to Mark, or Alt+. (I have had difficulties with setting shortcuts of this form with the GTK 1.2 version, so experiment. Your fingers will in any case find other shortcuts more comfortable).
As a bonus, Ctrl+' will Set Mark, and Ctrl+/ will select the text between the cursor and the mark position.
For the basic script, since it needs to run readtags, you will get a nasty flashing black box under Windows. A quick solution that doesn't require patching SciTE is the SciteOther library; SciteTags will automatically try to load this if it's available in the usual place. All extended versions ctagsx.lua, ctagsx_alt.lua do not have this issue, but you do have to put the script file in your scite_lua directory.
ctagsx.lua, ctagsx_alt.lua.
When the search reveals more than one matching tag, all matching multiple tags will be presented in a drop-down list for selection. There is also the Alt+C key strokes feature that allows finding tags by name. An Alt+C followed by 't' allows one to find the tag name exactly as it has been typed. An Alt+C followed by 'f' allows finding tag name with the regular expression.