How to use exuberant CTAGS with ActionScript and Flex
How to fix CTAGS to work with ActionScript, from the vim-taglist project:
- ActionScript
Add the following lines to the $HOME/.ctags or $HOME/ctags.conf file:
--langdef=actionscript --langmap=actionscript:.as --regex-actionscript=/^[ \t]*[(private| public|static) ( \t)]*function[ \t]+([A-Za-z0-9_]+)[ \t]*\(/\1/f, function, functions/ --regex-actionscript=/^[ \t]*[(public) ( \t)]*function[ \t]+(set|get) [ \t]+([A-Za-z0-9_]+)[ \t]*\(/\1 \2/p,property, properties/ --regex-actionscript=/^[ \t]*[(private| public|static) ( \t)]*var[ \t]+([A-Za-z0-9_]+)[ \t]*/\1/v,variable, variables/ --regex-actionscript=/.*\.prototype \.([A-Za-z0-9 ]+)=([ \t]?)function( [ \t]?)*\(/\1/ f,function, functions/ --regex-actionscript=/^[ \t]*class[ \t]+([A-Za-z0-9_]+)[ \t]*/\1/c,class, classes/
Add the following lines to the ~/.vimrc or $HOME\_vimrc file:" actionscript language let tlist_actionscript_settings = 'actionscript;c:class;f:method;p:property;v:variable'
Take off the -e (CTAGLANGS = --langdef=actionscript \ --langmap=actionscript:.as \ --regex-actionscript='/^[ \t]*[(private| public|static) ( \t)]*function[\t]+([A-Za-z0-9_]+)[ \t]*\(/\1/f, function, functions/' \ --regex-actionscript='/^[ \t]*[(public) ( \t)]*function[ \t]+(set|get) [ \t]+([A-Za-z0-9_]+)[ \t]*\(/\1 \2/p,property, properties/' \ --regex-actionscript='/^[ \t]*[(private| public|static) ( \t)]*var[ \t]+([A-Za-z0-9_]+)[\t]*/\1/v,variable, variables/' \ --regex-actionscript='/.*\.prototype \.([A-Za-z0-9 ]+)=([ \t]?)function( [ \t]?)*\(/\1/f,function, functions/' \ --regex-actionscript='/^[ \t]*class[ \t]+([A-Za-z0-9_]+)[ \t]*/\1/c,class, classes/' .PHONY: ctags ctags: -rm -f TAGS find . -name "*.as" -or -name "*.mxml" | ctags -eL - $(CTAGLANGS)
ctags -L - $(CTAGLANGS)
) if you're one of those vi users (I'm being polite because, after all, it's from them comes this tip)Labels: actionscript, ctags, emacs, flex, make, Makefile, regex, TAGS, vi
Ah, great - this is just what I was looking for. Thanks!
Posted by
David Wolever
|
January 4, 2010 at 2:42 PM
This comment has been removed by the author.
Posted by
Unknown
|
September 16, 2010 at 3:49 AM
Silly question, can you explain the concept of a 'maintenance Makefile'?
Is this something Vim will call when files are saved?
Posted by
Unknown
|
September 16, 2010 at 3:50 AM
Should the 2nd line read:
^[ \t]*[(public) ( \t)]*function[ \t]+(set|get)[ \t]+([A-Za-z0-9_]+)[ \t]*\(
It's missing properties because of an extra space after the "get)" bit
Posted by
Derek
|
February 2, 2011 at 9:08 AM
The function line wasn't working either when I have multiple modifiers like:
public static function foo()
I think this fixes it:
--regex-actionscript=/^([ \t]*(private|public|protected|internal|static))*[ \t]+function[ \t]+([A-Za-z0-9_]+)[ \t]*\(/\3/f, function, functions/
Posted by
winston
|
February 14, 2013 at 1:20 PM