etags interface for Helm on Emacs
Emacs Lisp
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
helm-etags-plus.el prompt creating TAGS if no TAGS found when ctags-update is installed Jan 13, 2017
readme.md Update readme.md Jan 10, 2017

readme.md

Etags helm.el interface

MELPA

The easiest way to get started is to install the package via MELPA:

(package-install 'helm-etags-plus)

it support multiple tag files.

(setq tags-table-list '("/path/of/TAGS1"    "/path/of/TAG2"))

if there is a TAG in the root of project you needn't add this special file to 'tags-table-list'

 (require 'helm-etags-plus)
 (global-set-key "\M-." 'helm-etags-plus-select)

M-. default use symbol under point as tagname C-uM-. use pattern you typed as tagname

Go back and forward

;;list all visited tags
(global-set-key "\M-*" 'helm-etags-plus-history)
;;go back directly
(global-set-key "\M-," 'helm-etags-plus-history-go-back)
;;go forward directly
(global-set-key "\M-/" 'helm-etags-plus-history-go-forward)

if you want to use bm.el for navigating history,you could

    (setq bm-in-lifo-order t)

    (autoload 'bm-bookmark-add "bm" "add bookmark")
    
    (add-hook 'helm-etags-plus-before-jump-hook 'bm-bookmark-add)
    ;;or
    (add-hook 'helm-etags-plus-before-jump-hook '(lambda()(bm-bookmark-add nil nil t)))
    ;Auto remove bookmark after jump to it by bm-next or bm-previous

then use bm-previous bm-next to jump

Integration with etags-table.el

(require 'etags-table)
(setq etags-table-alist
        (list
        '("/home/me/Projects/foo/.*\\.[ch]$" "/home/me/Projects/lib1/TAGS" "/home/me/Projects/lib2/TAGS")
        '("/home/me/Projects/bar/.*\\.py$" "/home/me/Projects/python/common/TAGS")
        '("/tmp/.*\\.c$"  "/java/tags/linux.tag" "/tmp/TAGS" )
        '(".*\\.java$"  "/opt/sun-jdk-1.6.0.22/src/TAGS" )
        '(".*\\.[ch]$"  "/java/tags/linux.ctags")
        ))
(add-hook 'helm-etags-plus-select-hook 'etags-table-recompute)

ctags-update.el

moved to https://github.com/jixiuf/ctags-update