sysrename: fix to take full paths. Currently not quite there
[akaros.git] / scripts / tagging / README
1 scripts/tagging holds a few utilities for code tagging.
2
3 MAKETAGS is Ron's script for ctags.
4
5 The other stuff is for brho's Gnu Global setup.  If you want to use it, add the
6 bashrc chunk to your bashrc, and put the scripts in your path.  I put them in
7 ~/scripts.
8
9 The global scripts are made to work similar to git grep, allowing you to run
10 global on a subdirectory.  For instance, you can run gl (the bash alias for
11 global) on kern/ to limit your search to only kernel files.
12
13 I commonly run something like:
14 $ gl functi(TAB TAB) (uses the tab complete)
15 $ gl function
16
17 To see info about 'function'.  Add -x for "explicit" info, and -r for
18 "references" (who calls function).  Check out
19 http://www.gnu.org/software/global/ for more info.
20
21 Whenever you change files, you need to update the GTAGS database, otherwise the
22 system will be out of date.  It's not a huge deal, but you'll be off by a
23 couple lines.  This hurts more when integrated with your editor.
24
25 To update, run 'gtu' (my alias for scripts/tagging/gtags-update.sh)
26
27 Global integrates nicely with vi (and other editors).  For instance, in my
28 vimrc, I have:
29
30 noremap <c-k> :GtagsCursor<CR>
31
32 Which binds the global command to Ctrl-K.
33
34 I also use:
35
36 noremap <c-h> :nohlsearch<CR> :ccl<CR>
37
38 to clear my highlighted search and to close the little search window opened by
39 global.