ctags: Difference between revisions
(→Moodle 1.9.6 and newer: Update contents of tags.txt) |
|||
Line 12: | Line 12: | ||
---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ||
ctags -R --languages=php | ctags -R --languages=php --php-kinds=f \ | ||
--regex-PHP='/abstract class ([^ ]*)/\1/c/' \ | --regex-PHP='/abstract +class +([^ ]*)/\1/c/' \ | ||
--regex-PHP='/interface ([^ ]*)/\1/c/' \ | --regex-PHP='/interface +([^ ]*)/\1/c/' \ | ||
--regex-PHP='/(public |static |abstract |protected |private )+function ([^ (]*)/\2/f/' | --regex-PHP='/(public |static |abstract |protected |private )+ *function +([^ (]*)/\2/f/' | ||
BSD ctags (Default on Mac OS X): | |||
------------------------------- | |||
(TODO) | |||
</pre> | </pre> | ||
Revision as of 10:29, 12 May 2017
Moodle 1.9.6 and newer
As of Moodle 1.9.6 the tags file is no longer included in the Moodle distribution. Instead a file tags.txt is included providing instructions on creating the tag file yourself. The text of this file is as follows:
Generating a tags file ====================== If you need a tags file so that you can jump around Moodle code easily in your editor (eg vim or emacs), you can generate one: Exuberant ctags (default on Linux, can be compiled on other platforms): ---------------------------------------------------------------------- ctags -R --languages=php --php-kinds=f \ --regex-PHP='/abstract +class +([^ ]*)/\1/c/' \ --regex-PHP='/interface +([^ ]*)/\1/c/' \ --regex-PHP='/(public |static |abstract |protected |private )+ *function +([^ (]*)/\2/f/' BSD ctags (Default on Mac OS X): ------------------------------- (TODO)
Using tags with Vim
In order to use the tags file with the Vim editor (on a Unix style system), you should first add the following line to the file .vimrc in your home directory:
set tags=tags;/
If .vimrc does not exist you should create it. This directive will force Vim to search for the tags file in the directory tree in which you are working (it searches up from where you are) so it will work for multiple versions of the code automatically.
How to jump to a tag with Vim
There are a number of things you can do:
- Place the cursor over the tag (e.g., function name) and press CTRL+].
- Type the command :tag <tagname>
- To open in a new editor window type the command :stag <tagname>
- To return to your previous location type CTRL+t
Using tags with Emacs
To create the TAGS file add a -e to the command of tags.txt, like this:
ctags -e -R --languages=php --exclude="CVS" --php-kinds=f \ --regex-PHP='/abstract class ([^ ]*)/\1/c/' \ --regex-PHP='/interface ([^ ]*)/\1/c/' \ --regex-PHP='/(public |static |abstract |protected |private )+function ([^ (]*)/\2/f/'
For instructions about how to use it look to the emacs wiki page EmacsTags