React を使うにあたって、最近は ES6 classes を使ってJSXを書くようにしているのだけど、Componentを色んなファイルに分けて書いてるとそれぞれの定義に移動するのがつらくなってきた。
そういえば普段PerlやRubyを書くときはctags -e
でTAGSを作っておいて、Emacs内ではM-x heml-etags-select
(helm-command-prefix-key + e にbindされている)を使ってメソッド定義に飛んでいるのだけど、そういえばJSX用にそれが使えてない、というのに気付いた。
適当にググったら https://github.com/jsx/jsx.vim/blob/master/ctags/jsx.conf っていうのが見つかって、まぁこれは違うJSXなのだけど、とりあえず探したいのはclassだし変わらないや、ということでコピペして
--langdef=JSX --langmap=JSX:.jsx --regex-JSX=/^[ \t]*([a-z]+[ \t]+)*class[ \t]+([A-Za-z0-9_]+)[ \t]*([^)])/\2/c,class,classes/
というのを~/.ctags
に書いておいたら無事にJSXのComponent定義もTAGSに入って定義ジャンプできるようになった。便利。