Mercurial > vim-gutentags
annotate doc/gutentags.txt @ 136:286e5b3095d0
Allow restricting tag generation to files listed by custom commands
This adds a new setting, g:gutentags_file_list_command, which specifies
command(s) to use to list files for which tags should be generated,
instead of recursively examining all files within the project root.
This is useful in projects using source control to restrict tag
generation to only files tracked in the repository.
This setting is conceptually similar to CtrlP's ctrlp_user_command
option.
This implements the feature requested in
https://github.com/ludovicchabant/vim-gutentags/issues/90
author | Stephen Kent <smkent@smkent.net> |
---|---|
date | Fri, 22 Jul 2016 19:25:05 -0700 |
parents | a6ef1c860d07 |
children | 851aec42057d |
rev | line source |
---|---|
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
1 *gutentags.txt* Automatic ctags management for VIM |
24 | 2 ___ ___ ___ ___ |
3 /\__\ /\ \ /\__\ /\ \ | |
4 /:/ _/_ \:\ \ ___ /:/ _/_ \:\ \ | |
5 /:/ /\ \ \:\ \ /\__\ /:/ /\__\ \:\ \ | |
6 /:/ /::\ \ ___ \:\ \ /:/ / /:/ /:/ _/_ _____\:\ \ | |
7 /:/__\/\:\__\ /\ \ \:\__\ /:/__/ /:/_/:/ /\__\ /::::::::\__\ | |
8 \:\ \ /:/ / \:\ \ /:/ / /::\ \ \:\/:/ /:/ / \:\~~\~~\/__/ | |
9 \:\ /:/ / \:\ /:/ / /:/\:\ \ \::/_/:/ / \:\ \ | |
10 \:\/:/ / \:\/:/ / \/__\:\ \ \:\/:/ / \:\ \ | |
11 \::/ / \::/ / \:\__\ \::/ / \:\__\ | |
12 \/__/ \/__/ \/__/ \/__/ \/__/ | |
13 ___ ___ ___ | |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
14 /\ \ /\__\ /\__\ |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
15 ___ /::\ \ /:/ _/_ /:/ _/_ |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
16 /\__\ /:/\:\ \ /:/ /\ \ /:/ /\ \ |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
17 /:/ / /:/ /::\ \ /:/ /::\ \ /:/ /::\ \ |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
18 /:/__/ /:/_/:/\:\__\ /:/__\/\:\__\ /:/_/:/\:\__\ |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
19 /::\ \ \:\/:/ \/__/ \:\ \ /:/ / \:\/:/ /:/ / |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
20 /:/\:\ \ \::/__/ \:\ /:/ / \::/ /:/ / |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
21 \/__\:\ \ \:\ \ \:\/:/ / \/_/:/ / |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
22 \:\__\ \:\__\ \::/ / /:/ / |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
23 \/__/ \/__/ \/__/ \/__/ |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
24 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
25 |
24 | 26 GUTENTAGS REFERENCE MANUAL |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
27 by Ludovic Chabant |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
28 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
29 *gutentags* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
30 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
31 1. Introduction |gutentags-intro| |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
32 2. Commands |gutentags-commands| |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
33 3. Status Line |gutentags-status-line| |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
34 4. Global Settings |gutentags-settings| |
49
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
35 5. Project Settings |gutentags-project-settings| |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
36 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
37 ============================================================================= |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
38 1. Introduction *gutentags-intro* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
39 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
40 Gutentags is a plugin that takes care of the much needed management of tags |
7 | 41 files in Vim. It will (re)generate tag files as you work while staying |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
42 completely out of your way. It will even do its best to keep those tag files |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
43 out of your way too. It has no dependencies and just works. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
44 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
45 In order to generate tag files, Gutentags will have to figure out what's in |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
46 your project. To do this, it will locate well-known project root markers like |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
47 SCM folders (.git, .hg, etc.), any custom tags you define (with |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
48 |gutentags_project_root|), and even things you may have defined already with |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
49 other plugins, like CtrlP. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
50 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
51 If the current file you're editing is found to be in such a project, Gutentags |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
52 will make sure the tag file for that project is up to date. Then, as you work |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
53 in files in that project, it will partially re-generate the tag file. Every |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
54 time you save, it will silently, in the background, update the tags for that |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
55 file. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
56 |
129
48045d81f25a
Fix some typos in the docs.
Ludovic Chabant <ludovic@chabant.com>
parents:
128
diff
changeset
|
57 Usually, `ctags` can only append tags to an existing tag file, so Gutentags |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
58 removes the tags for the current file first, to make sure the tag file is |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
59 always consistent with the source code. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
60 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
61 Also, Gutentags is clever enough to not stumble upon itself by triggering |
129
48045d81f25a
Fix some typos in the docs.
Ludovic Chabant <ludovic@chabant.com>
parents:
128
diff
changeset
|
62 multiple ctags processes if you save files too fast, or your project is really |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
63 big. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
64 |
7 | 65 There are some similar Vim plugins out there ("vim-tags", "vim-autotag", |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
66 "vim-automatic-ctags", etc.). They all fail on one or more of the requirements |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
67 I set for myself with Gutentags: |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
68 |
7 | 69 * No other dependency than running Vim: no Python, Ruby, or whatever. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
70 * Cross-platform: should work on at least Mac and Windows. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
71 * Incremental tags generation: don't re-generate the whole project all the |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
72 time. This may be fine for small projects, but it doesn't scale. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
73 * External process management: if the ctags process is taking a long time, |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
74 don't run another one because I saved the file again. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
75 * Keep the tag file consistent: don't just append the current file's tags to |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
76 the tag file, otherwise you will still "see" tags for deleted or renamed |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
77 classes and functions. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
78 * Automatically create the tag file: you open something from a freshly forked |
129
48045d81f25a
Fix some typos in the docs.
Ludovic Chabant <ludovic@chabant.com>
parents:
128
diff
changeset
|
79 project, it should start indexing it automatically, just like in Sublime Text |
48045d81f25a
Fix some typos in the docs.
Ludovic Chabant <ludovic@chabant.com>
parents:
128
diff
changeset
|
80 or Visual Studio or any other IDE. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
81 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
82 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
83 ============================================================================= |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
84 2. Commands *gutentags-commands* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
85 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
86 *gutentags-project-commands* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
87 The following commands are only available in buffers that have been found to |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
88 belong to a project that should be managed by Gutentags. See |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
89 |gutentags_project_root| for how Gutentags figures out the project a file |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
90 belongs to. When not project is found (i.e. the file is not under any of the |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
91 known project markers), Gutentags is disabled for that buffer, and the |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
92 following commands and remarks don't apply. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
93 |
47
7b419abf7fba
Add ability to disable Gutentags if a `.notags` file is at the root.
Ludovic Chabant <ludovic@chabant.com>
parents:
46
diff
changeset
|
94 If you want to force-disable Gutentags for a given project even though it does |
7b419abf7fba
Add ability to disable Gutentags if a `.notags` file is at the root.
Ludovic Chabant <ludovic@chabant.com>
parents:
46
diff
changeset
|
95 match one of the items in |gutentags_project_root|, create a file named |
7b419abf7fba
Add ability to disable Gutentags if a `.notags` file is at the root.
Ludovic Chabant <ludovic@chabant.com>
parents:
46
diff
changeset
|
96 "`.notags`" at the root of the project. |
7b419abf7fba
Add ability to disable Gutentags if a `.notags` file is at the root.
Ludovic Chabant <ludovic@chabant.com>
parents:
46
diff
changeset
|
97 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
98 The tag file that Gutentags creates and manages will be named after |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
99 |gutentags_tagfile|, relative to the project's root directory. When Gutentags |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
100 finds a valid project root, it will prepend the tag file's path to 'tags', |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
101 unless |gutentags_auto_set_tags| is set to 0. This is to make sure Vim will use |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
102 that file first. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
103 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
104 If a file managed by Gutentags is opened and no tag file already exists, |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
105 Gutentags will start generating it right away in the background, unless |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
106 |gutentags_generate_on_missing| is set to 0. If you have a large project, you |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
107 may want to know when Gutentags is generating tags: see |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
108 |gutentags-status-line| to display an indicator in your status line. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
109 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
110 When a file managed by Gutentags is saved, the tag file will be incrementally |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
111 updated, i.e. references to the recently saved file are removed, and that file |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
112 is re-parsed for tags, with the result being merged into the tag file. This |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
113 makes the tag file 100% consistent with the latest changes. This doesn't |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
114 happen however if |gutentags_generate_on_write| is set to 0, in which case you |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
115 have to run |GutentagsUpdate| manually. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
116 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
117 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
118 *:GutentagsUpdate* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
119 :GutentagsUpdate |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
120 Forces an update of the current tag file with the |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
121 current buffer. If tags are already being generated, |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
122 you will be notified and the command will abort. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
123 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
124 :GutentagsUpdate! |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
125 Like |GutentagsUpdate|, but updates the current tags |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
126 file with the whole project instead of just the |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
127 current buffer. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
128 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
129 |
46
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
130 Some debugging/troubleshooting commands are also available if the |
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
131 |gutentags_define_advanced_commands| global setting is set to 1. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
132 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
133 *:GutentagsToggleEnabled* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
134 :GutentagsToggleEnabled |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
135 Disables and re-enables Gutentags. |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
136 When Gutentags is disabled, it won't update your tag |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
137 file when you save a buffer. It will however still |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
138 look for project markers as you open new buffers so |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
139 that they can start working again when you re-enable |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
140 Gutentags. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
141 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
142 *GutentagsToggleTrace* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
143 :GutentagsToggleTrace |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
144 If you want to keep an eye on what Gutentags is doing, |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
145 you can enable tracing. This will show messages every |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
146 time Gutentags does something. It can get annoying |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
147 quickly, since it will require you to press a key to |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
148 dismiss those messages, but it can be useful to |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
149 troubleshoot a problem. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
150 In addition to messages in Vim, it will also make |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
151 Gutentags redirect the output of the tag generation |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
152 script to a `.log` file in the project root. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
153 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
154 *:GutentagsUnlock* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
155 :GutentagsUnlock |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
156 Gutentags uses a `.lock` file to know when tag |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
157 generation is running. If something goes wrong with |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
158 that process, that lock file could be left behind. You |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
159 could just remove it manually from the root of your |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
160 project, but you can also run |:GutentagsUnlock| so |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
161 that Vim does it for you. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
162 If you find that you need to use this more than a |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
163 couple times ever, there's probably a bug with |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
164 Gutentags, or something otherwise wrong or unexpected |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
165 with your system. Please file a bug. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
166 |
49
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
167 |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
168 ============================================================================= |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
169 3. Status Line *gutentags-status-line* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
170 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
171 Tag file generation can take a while if you're working on a project big |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
172 enough. In that case, you may want to know when `ctags` is running, so you |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
173 have a heads up if some of the tags aren't recognized yet. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
174 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
175 *gutentags#statusline()* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
176 You can display and indicator of tag generation progress in your |status-line| |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
177 with the following function: > |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
178 :set statusline+=%{gutentags#statusline()} |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
179 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
180 This won't print anything unless Gutentags figures that `ctags` is running in |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
181 the background. This is done by checking a `.lock` file next to the tag file, |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
182 but there's also some optimization before that to not slow down Vim. Note that |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
183 the `.lock` file can sometimes be left around incorrectly by the background |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
184 process, and you may need to clean it up. See |:GutentagsUnlock|. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
185 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
186 When Gutentags thinks `ctags` is still running, it will print the string |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
187 "TAGS" by default. You can customize it: > |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
188 :set statusline+=%{gutentags#statusline('[Generating...]')} |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
189 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
190 This will print the string "[Generating...]" when tags are being generated. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
191 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
192 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
193 ============================================================================= |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
194 4. Global Settings *gutentags-settings* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
195 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
196 The following settings can be defined in your |vimrc| to change the default |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
197 behaviour of Gutentags. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
198 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
199 *gutentags_enabled* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
200 g:gutentags_enabled |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
201 Defines whether Gutentags should be enabled. When |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
202 disabled, Gutentags will still scan for project root |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
203 markers when opening buffers. This is so that when you |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
204 re-enable Gutentags, you won't have some buffers |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
205 mysteriously working while others (those open last) |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
206 don't. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
207 Defaults to 1. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
208 |
43
7000d598a2a7
Documentation changes for some options that changed names.
Ludovic Chabant <ludovic@chabant.com>
parents:
24
diff
changeset
|
209 *gutentags_ctags_executable* |
7000d598a2a7
Documentation changes for some options that changed names.
Ludovic Chabant <ludovic@chabant.com>
parents:
24
diff
changeset
|
210 g:gutentags_ctags_executable |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
211 Specifies the ctags executable to launch. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
212 Defaults to `ctags`. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
213 |
68
ca61487b3215
Add docs about ctags executable per filetype
marc <marc@lamarciana.com>
parents:
60
diff
changeset
|
214 *gutentags_ctags_executable_{filetype}* |
89
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
215 g:gutentags_ctags_executable_{type} |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
216 Specifies the ctags executable to launch for a project |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
217 of type {type}. See |gutentags_project_info| for more |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
218 information. |
68
ca61487b3215
Add docs about ctags executable per filetype
marc <marc@lamarciana.com>
parents:
60
diff
changeset
|
219 Example: > |
ca61487b3215
Add docs about ctags executable per filetype
marc <marc@lamarciana.com>
parents:
60
diff
changeset
|
220 let g:gutentags_ctags_executable_ruby = 'ripper-tags' |
ca61487b3215
Add docs about ctags executable per filetype
marc <marc@lamarciana.com>
parents:
60
diff
changeset
|
221 < |
ca61487b3215
Add docs about ctags executable per filetype
marc <marc@lamarciana.com>
parents:
60
diff
changeset
|
222 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
223 *gutentags_tagfile* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
224 g:gutentags_tagfile |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
225 Specifies the name of the tag file to create. This |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
226 will be appended to the project's root. See |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
227 |gutentags_project_root| for how Gutentags locates the |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
228 project. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
229 Defaults to `tags`. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
230 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
231 *gutentags_project_root* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
232 g:gutentags_project_root |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
233 When a buffer is loaded, Gutentags will figure out if |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
234 it's part of a project that should have tags managed |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
235 automatically. To do this, it looks for "root markers" |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
236 in the current file's directory and its parent |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
237 directories. If it finds any of those markers, |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
238 Gutentags will be enabled for the project, and a tags |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
239 file named after |gutentags_tagfile| will be created at |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
240 the project root. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
241 Defaults to `[]` (an empty |List|). |
128
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
242 A list of default markers will be appended to the |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
243 user-defined ones unless |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
244 |gutentags_add_default_project_roots| is set to 0. |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
245 |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
246 *gutentags_add_default_project_roots* |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
247 g:gutentags_add_default_project_roots |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
248 Defines whether Gutentags should always define some |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
249 default project roots (see |gutentags_project_root|). |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
250 This can be useful to prevent unnecessary disk access |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
251 when Gutentags searches for a project root. |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
252 The default markers are: |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
253 `['.git', '.hg', '.bzr', '_darcs', '_darcs', '_FOSSIL_', '.fslckout']` |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
254 |
118
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
255 *gutentags_exclude_project_root* |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
256 g:gutentags_exclude_project_root |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
257 A list of project roots to generally ignore. If a file |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
258 is opened inside one of those projects, Gutentags |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
259 won't be activated. This is similar to placing |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
260 a `.notags` file in the root of those projects, but |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
261 can be useful when you don't want to, or can't, place |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
262 such a file there. |
132
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
263 Defaults to `['/usr/local']`, which is the folder where |
118
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
264 Homebrew is known to create a Git directory by default |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
265 on MacOS. |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
266 |
132
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
267 *gutentags_project_root_finder* |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
268 g:gutentags_project_root_finder |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
269 When a buffer is loaded, Gutentags uses a default |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
270 (internal) implementation to find that file's |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
271 project's root directory, using settings like |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
272 |g:gutentags_project_root|. When you specify |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
273 |g:gutentags_project_root_finder|, you can tell |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
274 Gutentags to use a custom implementation, such as |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
275 `vim-projectroot`. The value of this setting must be |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
276 the name of a function that takes a single string |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
277 argument (the path to the current buffer's file) and |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
278 returns a string value (the project's root directory). |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
279 Defaults to `''`. |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
280 Note: when set, the called implementation will most |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
281 likely ignore |g:gutentags_project_root|. |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
282 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
283 *gutentags_exclude* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
284 g:gutentags_exclude |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
285 A list of file patterns to pass to the |
60
9e768b83d701
Fix missing renames of `gutentags_ctags_executable`.
Ludovic Chabant <ludovic@chabant.com>
parents:
49
diff
changeset
|
286 |gutentags_ctags_executable| so that they will be |
9e768b83d701
Fix missing renames of `gutentags_ctags_executable`.
Ludovic Chabant <ludovic@chabant.com>
parents:
49
diff
changeset
|
287 excluded from parsing for the tags generation. |
9e768b83d701
Fix missing renames of `gutentags_ctags_executable`.
Ludovic Chabant <ludovic@chabant.com>
parents:
49
diff
changeset
|
288 Defaults to `[]` (an empty |List|). Patterns defined |
9e768b83d701
Fix missing renames of `gutentags_ctags_executable`.
Ludovic Chabant <ludovic@chabant.com>
parents:
49
diff
changeset
|
289 in 'wildignore' will also be given as exclude patterns |
9e768b83d701
Fix missing renames of `gutentags_ctags_executable`.
Ludovic Chabant <ludovic@chabant.com>
parents:
49
diff
changeset
|
290 to the `ctags` executable. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
291 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
292 *gutentags_auto_set_tags* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
293 g:gutentags_auto_set_tags |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
294 If set to 1, Gutentags will automatically prepend |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
295 'tags' with the exact path to the tag file for the |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
296 current project. See |gutentags_project_root| for how |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
297 Gutentags locates the project. |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
298 When set to 0, Gutentags doesn't change 'tags', and |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
299 this means that whatever tag file it generates may |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
300 not be picked up by Vim. See |tagfiles()| to know what |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
301 tag files Vim knows about. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
302 Defaults to 1. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
303 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
304 *gutentags_generate_on_missing* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
305 g:gutentags_generate_on_missing |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
306 If set to 1, Gutentags will start generating an initial |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
307 tag file if a file is open in a project where no tags |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
308 file is found. See |gutentags_project_root| for how |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
309 Gutentags locates the project. |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
310 When set to 0, Gutentags will only generate the first |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
311 time the file is saved (if |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
312 |gutentags_generate_on_write| is set to 1), or when |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
313 |GutentagsUpdate| or |GutentagsGenerate| is run. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
314 Defaults to 1. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
315 |
61
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
316 *gutentags_generate_on_new* |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
317 g:gutentags_generate_on_new |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
318 If set to 1, Gutentags will start generating the tag |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
319 file when a new project is open. A new project is |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
320 considered open when a buffer is created for a file |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
321 whose corresponding tag file has not been "seen" yet |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
322 in the current Vim session -- which pretty much means |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
323 when you open the first file in a given source control |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
324 repository. |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
325 When set to 0, Gutentags won't do anything special. |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
326 See also |gutentags_generate_on_missing| and |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
327 |gutentags_generate_on_write|. |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
328 Defaults to 1. |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
329 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
330 *gutentags_generate_on_write* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
331 g:gutentags_generate_on_write |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
332 If set to 1, Gutentags will update the current |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
333 project's tag file when a file inside that project is |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
334 saved. See |gutentags_project_root| for how Gutentags |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
335 locates the project. |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
336 When set to 0, Gutentags won't do anything on save. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
337 This means that the project's tag file won't reflect |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
338 the latest changes, and you will have to run |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
339 |GutentagsUpdate| manually. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
340 Defaults to 1. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
341 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
342 *gutentags_background_update* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
343 g:gutentags_background_update |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
344 Specifies whether the process that updates the tags |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
345 file should be run in the background or in the |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
346 foreground. If run in the foreground, Vim will block |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
347 until the process is complete. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
348 Defaults to 1. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
349 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
350 *gutentags_cache_dir* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
351 g:gutentags_cache_dir |
20 | 352 Specifies a directory in which to create all the tags |
353 files, instead of writing them at the root of each | |
354 project. This is handy to keep tags files from | |
355 polluting many directories all across your computer. | |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
356 |
85
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
357 *gutentags_resolve_symlinks* |
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
358 g:gutentags_resolve_symlinks |
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
359 When set to 1, Gutentags will resolve any symlinks in |
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
360 the current buffer's path in order to find the project |
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
361 it belongs to. This is what you want if you're editing |
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
362 a symlink located outside of the project, and it |
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
363 points to a file inside the project. However, this is |
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
364 maybe not what you want if the symlink itself is |
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
365 part of the project. |
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
366 Defaults to 0. |
88
073e63cc0456
Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents:
85
diff
changeset
|
367 |
073e63cc0456
Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents:
85
diff
changeset
|
368 *gutentags_enabled_user_func* |
073e63cc0456
Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents:
85
diff
changeset
|
369 g:gutentags_enabled_user_func |
073e63cc0456
Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents:
85
diff
changeset
|
370 When set to a non-empty string, it is expected to be |
073e63cc0456
Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents:
85
diff
changeset
|
371 the name of a function that will be called when a file |
123
76a4822aab76
Use existing b:gutentags_root
Daniel Hahler <git@thequod.de>
parents:
98
diff
changeset
|
372 is opened in a project. The function gets passed the |
88
073e63cc0456
Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents:
85
diff
changeset
|
373 path of the file and if it returns 0, Gutentags won't |
073e63cc0456
Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents:
85
diff
changeset
|
374 be enabled for that file. |
123
76a4822aab76
Use existing b:gutentags_root
Daniel Hahler <git@thequod.de>
parents:
98
diff
changeset
|
375 You can use this also to manually set `b:gutentags_root` |
76a4822aab76
Use existing b:gutentags_root
Daniel Hahler <git@thequod.de>
parents:
98
diff
changeset
|
376 (see |gutentags_project_root|). |
88
073e63cc0456
Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents:
85
diff
changeset
|
377 Defaults to "". |
85
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
378 |
46
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
379 *gutentags_define_advanced_commands* |
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
380 g:gutentags_define_advanced_commands |
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
381 Defines some advanced commands like |
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
382 |GutentagsToggleEnabled| and |GutentagsUnlock|. |
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
383 |
89
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
384 *gutentags_project_info* |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
385 g:gutentags_project_info |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
386 Defines ways for Gutentags to figure out what kind of |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
387 project any given file belongs to. This should be |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
388 a list of dictionaries: |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
389 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
390 let g:gutentags_project_info = [] |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
391 call add(g:gutentags_project_info, {...}) |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
392 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
393 Each dictionary item must contain at least a `type` |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
394 key, indicating the type of project: |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
395 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
396 {"type": "python"} |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
397 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
398 Other items will be used to figure out if a project is |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
399 of the given type. |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
400 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
401 "file": any existing file with this path (relative to |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
402 the project root) will make the current project match |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
403 the given info. |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
404 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
405 "glob": any result found with this glob pattern |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
406 (relative to the project root) will make the current |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
407 project match the given info. See |glob()| for more |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
408 information. |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
409 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
410 Gutentags adds by default the following definitions: |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
411 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
412 call add(g:gutentags_project_info, {'type': 'python', 'file': 'setup.py'}) |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
413 call add(g:gutentags_project_info, {'type': 'ruby', 'file': 'Gemfile'}) |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
414 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
415 This means, for example, that you can use |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
416 `g:gutentags_ctags_executable_ruby` out of the box. |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
417 See |gutentags_ctags_executable_{filetype}| for more |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
418 information. |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
419 |
136
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
420 *gutentags_file_list_command* |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
421 g:gutentags_file_list_command |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
422 Specifies command(s) to use to list files for which |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
423 tags should be generated, instead of recursively |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
424 examining all files within the project root. When |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
425 invoked, file list commands will execute in the |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
426 project root directory. |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
427 |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
428 This setting is useful in projects using source |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
429 control to restrict tag generation to only files |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
430 tracked in the repository. |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
431 |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
432 This variable may be set in one of two ways. If |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
433 set as a |String|, the specified command will be used to |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
434 list files for all projects. For example: > |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
435 |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
436 let g:gutentags_file_list_command = 'find . -type f' |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
437 < |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
438 If set as a |Dictionary|, this variable should be set |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
439 as a mapping of project root markers to the desired |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
440 file list command for that root marker. (See |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
441 |gutentags_project_root| for how Gutentags uses root |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
442 markerts to locate the project.) For example: > |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
443 |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
444 let g:gutentags_file_list_command = { |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
445 \ 'markers': { |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
446 \ '.git': 'git ls-files', |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
447 \ '.hg': 'hg locate', |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
448 \ }, |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
449 \ } |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
450 < |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
451 Note: If a custom ctags executable is specified, it |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
452 must support the '-L' command line option in order to |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
453 read the list of files to be examined. |
0 | 454 |
49
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
455 ============================================================================= |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
456 5. Project Settings *gutentags-project-settings* |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
457 |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
458 Gutentags can be customized to some extent on a per-project basis with the |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
459 following files present in the project root directory: |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
460 |
74
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
461 *gutentags-.gutctags* |
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
462 `.gutctags`: if this file exists, Ctags will be told to load additional |
49
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
463 command-line parameters by reading it line by line (see the Ctags |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
464 documentation for more information). |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
465 |
74
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
466 Note that for complex reasons, Gutentags can't run `ctags` from the project |
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
467 root if you're using |gutentags_cache_dir|, so if the `.gutctags` file exists, |
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
468 it will be pre-processed in order to make all `--exclude=` clauses into |
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
469 absolute paths (by prepending the project root). The resulting file will be |
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
470 saved into the cache directory, and passed to `ctags` via the `--options=` |
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
471 parameter. If you're _not_ using |gutentags_cache_dir|, the `.gutctags` file |
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
472 is _not_ pre-processed, and is passed as-is via the `--options=` parameter. |
49
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
473 |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
474 *gutentags-.notags* |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
475 `.notags`: if this file exists, Gutentags will be disabled completely for that |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
476 project. |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
477 |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
478 |
0 | 479 vim:tw=78:et:ft=help:norl: |