comparison README.md @ 22:4e1b0253f71a

Renamed project to "Gutentags" (thanks Sylvain!).
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 02 Sep 2014 10:31:09 -0700
parents b13e1141aa5c
children 5c1baa6007d8
comparison
equal deleted inserted replaced
21:1f6ecd4258d7 22:4e1b0253f71a
1 1
2 # Autotags 2 # Gutentags
3 3
4 Autotags is a plugin that takes care of the much needed management of tags 4 Gutentags is a plugin that takes care of the much needed management of tags
5 files in Vim. It will (re)generate tag files as you work while staying 5 files in Vim. It will (re)generate tag files as you work while staying
6 completely out of your way. It will even do its best to keep those tag files 6 completely out of your way. It will even do its best to keep those tag files
7 out of your way too. It has no dependencies and just works. 7 out of your way too. It has no dependencies and just works.
8 8
9 ## How? 9 ## How?
10 10
11 Install Autotags like any other Vim plugin. I recommend something like 11 Install Gutentags like any other Vim plugin. I recommend something like
12 [Pathogen][], so you can go: 12 [Pathogen][], so you can go:
13 13
14 cd ~/.vim/bundle 14 cd ~/.vim/bundle
15 hg clone https://bitbucket.org/ludovicchabant/vim-autotags 15 hg clone https://bitbucket.org/ludovicchabant/vim-gutentags
16 16
17 Then you only need to do a `:call pathogen#helptags()` to generate the 17 Then you only need to do a `:call pathogen#helptags()` to generate the
18 documentation tags (how ironic, eh?) and you can access Autotag's help pages 18 documentation tags (how ironic, eh?) and you can access Autotag's help pages
19 with `help autotags`. 19 with `help gutentags`.
20 20
21 21
22 ## What? 22 ## What?
23 23
24 In order to generate tag files, Autotags will have to figure out what's in 24 In order to generate tag files, Gutentags will have to figure out what's in
25 your project. To do this, it will locate well-known project root markers like 25 your project. To do this, it will locate well-known project root markers like
26 SCM folders (`.git`, `.hg`, etc.), any custom tags you define (with 26 SCM folders (`.git`, `.hg`, etc.), any custom tags you define (with
27 `autotags_project_root`), and even things you may have defined already with 27 `gutentags_project_root`), and even things you may have defined already with
28 other plugins, like [CtrlP][]. 28 other plugins, like [CtrlP][].
29 29
30 If the current file you're editing is found to be in such a project, Autotags 30 If the current file you're editing is found to be in such a project, Gutentags
31 will make sure the tag file for that project is up to date. Then, as you work 31 will make sure the tag file for that project is up to date. Then, as you work
32 in files in that project, it will partially re-generate the tag file. Every 32 in files in that project, it will partially re-generate the tag file. Every
33 time you save, it will silently, in the background, update the tags for that 33 time you save, it will silently, in the background, update the tags for that
34 file. 34 file.
35 35
36 Usually, ctags can only append tags to an existing tag file, so Autotags 36 Usually, ctags can only append tags to an existing tag file, so Gutentags
37 removes the tags for the current file first, to make sure the tag file is 37 removes the tags for the current file first, to make sure the tag file is
38 always consistent with the source code. 38 always consistent with the source code.
39 39
40 Also, Autotags is clever enough to not stumble upon itself by triggering 40 Also, Gutentags is clever enough to not stumble upon itself by triggering
41 multiple ctags processes if you save files to fast, or your project is really 41 multiple ctags processes if you save files to fast, or your project is really
42 big. 42 big.
43 43
44 44
45 ## Why? 45 ## Why?
46 46
47 There are some similar Vim plugins out there ("vim-tags", "vim-autotag", 47 There are some similar Vim plugins out there ("vim-tags", "vim-autotag",
48 "vim-automatic-ctags", etc.). They all fail on one or more of the requirements 48 "vim-automatic-ctags", etc.). They all fail on one or more of the requirements
49 I set for myself with Autotags: 49 I set for myself with Gutentags:
50 50
51 * No other dependency than running Vim: no Python, Ruby, or whatever. 51 * No other dependency than running Vim: no Python, Ruby, or whatever.
52 * Cross-platform: should work on at least Mac and Windows. 52 * Cross-platform: should work on at least Mac and Windows.
53 * Incremental tags generation: don't re-generate the whole project all the time. 53 * Incremental tags generation: don't re-generate the whole project all the time.
54 This may be fine for small projects, but it doesn't scale. 54 This may be fine for small projects, but it doesn't scale.
59 and functions. 59 and functions.
60 * Automatically create the tag file: you open something from a freshly forked 60 * Automatically create the tag file: you open something from a freshly forked
61 project, it should start indexing it automatically, just like in Sublime Text 61 project, it should start indexing it automatically, just like in Sublime Text
62 or Visual Studio or any other IDE. 62 or Visual Studio or any other IDE.
63 63
64 I hope Autotags will bring you as much closure as me regarding tag files. I know 64 I hope Gutentags will bring you as much closure as me regarding tag files. I know
65 I don't want to have to think about it, and probably neither do you. 65 I don't want to have to think about it, and probably neither do you.
66 66
67 67
68 [ctrlp]: https://github.com/kien/ctrlp.vim 68 [ctrlp]: https://github.com/kien/ctrlp.vim
69 69