HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

ctags for jass

03-26-2009, 06:32 AM#1
PipeDream
In an effort to win Vexorian back to the vim fold I've assembled instructions for using ctags on jass, so that you can use the taglist plugin:

http://vim.sourceforge.net/scripts/s...?script_id=273

Install exuberant-ctags
Add to .ctags
Code:
--langdef=jass
--langmap=jass:.j
--regex-jass=/^[ \t]*((private|public|constant)[ \t]+)*function[ \t]+([a-zA-z][a-zA-Z0-9_]*[a-zA-Z0-9]?)/\3/f,function/
--regex-jass=/^[ \t]*struct[ \t]+([a-zA-z][a-zA-Z0-9_]*[a-zA-Z]?)/\1/s,struct/
--regex-jass=/^[ \t]*library[ \t]+([a-zA-z][a-zA-Z0-9_]*[a-zA-Z]?)/\1/l,library/
--regex-jass=/^[ \t]*(static[ \t]+)?method[ \t]+(operator[ \t]+)?([a-zA-z][a-zA-Z0-9_]*[a-zA-Z0-9]?)/\3/m,method/
--regex-jass=/^[ \t]*\/\/![ \t]+textmacro[ \t]+([a-zA-Z][a-zA-Z0-9_]*[a-zA-Z0-9]?)/\1/t,textmacro/

Wherever you installed taglist.vim to, add to it below the definition for s:tlist_def_yacc_settings
Code:
let s:tlist_def_jass_settings = 'jass;l:library;s:struct;m:method;f:function;t:textmacro'

I also have in my .vimrc in order to toggle taglist with F8
Code:
nnoremap <silent> <F8> :TlistToggle<CR>
And if you don't know, ctrl-w w switches windows, but you can also use the mouse to hop around, click on definitions and jump to them.
Attached Images
File type: pngtaglist.png (62.2 KB)
03-27-2009, 03:37 PM#2
Vexorian
That's very nice actually, I'll have to take a look once I am out of this netbook thing.