new targets, TAGS.emacs and TAGS.vi. they must be manually made.

This commit is contained in:
Niko Matsakis 2011-10-12 12:10:21 -07:00 committed by Brian Anderson
parent 99f876e3a8
commit e1c470c9ed
3 changed files with 26 additions and 2 deletions

View File

@ -332,7 +332,6 @@ include $(CFG_SRC_DIR)/mk/autodep.mk
include $(CFG_SRC_DIR)/mk/tools.mk
include $(CFG_SRC_DIR)/mk/docs.mk
######################################################################
# Secondary makefiles, conditionalized for speed
######################################################################
@ -378,4 +377,10 @@ endif
ifneq ($(findstring install,$(MAKECMDGOALS)),)
CFG_INFO := $(info cfg: including install rules)
include $(CFG_SRC_DIR)/mk/install.mk
endif
endif
ifneq ($(strip $(findstring TAGS.emacs,$(MAKECMDGOALS)) \
$(findstring TAGS.vi,$(MAKECMDGOALS))),)
CFG_INFO := $(info cfg: including ctags rules)
include $(CFG_SRC_DIR)/mk/ctags.mk
endif

12
mk/ctags.mk Normal file
View File

@ -0,0 +1,12 @@
######################################################################
# TAGS file creation. No dependency tracking, just do it on demand.
# Requires Exuberant Ctags: http://ctags.sourceforge.net/index.html
######################################################################
CTAGS_OPTS=--options=${CFG_SRC_DIR}/mk/ctags.rust -R ${CFG_SRC_DIR}/src
TAGS.emacs:
ctags -e -f $@ ${CTAGS_OPTS}
TAGS.vi:
ctags -f $@ ${CTAGS_OPTS}

7
mk/ctags.rust Normal file
View File

@ -0,0 +1,7 @@
--langdef=rust
--langmap=rust:.rs
--regex-rust=/[ \t]*fn[ \t]+([a-zA-Z0-9_]+)/\1/f,function/
--regex-rust=/[ \t]*type[ \t]+([a-zA-Z0-9_]+)/\1/T,types/
--regex-rust=/[ \t]*tag[ \t]+([a-zA-Z0-9_]+)/\1/T,types/
--regex-rust=/[ \t]*resource[ \t]+([a-zA-Z0-9_]+)/\1/T,types/
--regex-rust=/[ \t]*mod[ \t]+([a-zA-Z0-9_]+)/\1/m,modules/