Mercurial > vim-gutentags
annotate doc/gutentags.txt @ 143:513bcd0a1f90
Merge changes.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 26 Nov 2016 16:27:38 -0800 |
parents | 7bc4df0225d1 d4c09aa41e80 |
children | 3f15dabaa9f4 |
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 |
139
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
62 multiple ctags processes if you save files too fast, or if your project is |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
63 really big. |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
64 |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
65 |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
66 1.1 Requirements |
140
95092f4fbc4b
Add some cross-referencing to the help file.
Ludovic Chabant <ludovic@chabant.com>
parents:
139
diff
changeset
|
67 *gutentags-ctags-requirements* |
139
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
68 |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
69 If you're using the `ctags` modules (which is the default and only working one |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
70 at this point, really), you will need a `tags` generator that supports the |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
71 following arguments: |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
72 |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
73 * `-f` (to specify the output file) |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
74 * `--append` (to append to an existing file while keeping it sorted) |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
75 * `--exclude` (to exclude file patterns) |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
76 * `--options` (to specify an options file) |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
77 |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
78 This means you probably want Exhuberant Ctags or Universal Ctags. The basic |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
79 old BSD Ctags WON'T WORK. Other language-specific versions may or may not |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
80 work. Check with their help or man page. |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
81 |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
82 |
ed43e3a87ffd
Add `ctags` executable requirements to the documentation page.
Ludovic Chabant <ludovic@chabant.com>
parents:
138
diff
changeset
|
83 1.2 Similar Plugins |
140
95092f4fbc4b
Add some cross-referencing to the help file.
Ludovic Chabant <ludovic@chabant.com>
parents:
139
diff
changeset
|
84 *gutentags-similar-plugins* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
85 |
7 | 86 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
|
87 "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
|
88 I set for myself with Gutentags: |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
89 |
7 | 90 * 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
|
91 * Cross-platform: should work on at least Mac and Windows. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
92 * 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
|
93 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
|
94 * 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
|
95 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
|
96 * 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
|
97 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
|
98 classes and functions. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
99 * 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
|
100 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
|
101 or Visual Studio or any other IDE. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
102 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
103 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
104 ============================================================================= |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
105 2. Commands *gutentags-commands* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
106 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
107 *gutentags-project-commands* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
108 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
|
109 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
|
110 |gutentags_project_root| for how Gutentags figures out the project a file |
142 | 111 belongs to. When no 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
|
112 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
|
113 following commands and remarks don't apply. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
114 |
47
7b419abf7fba
Add ability to disable Gutentags if a `.notags` file is at the root.
Ludovic Chabant <ludovic@chabant.com>
parents:
46
diff
changeset
|
115 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
|
116 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
|
117 "`.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
|
118 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
119 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
|
120 |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
|
121 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
|
122 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
|
123 that file first. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
124 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
125 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
|
126 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
|
127 |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
|
128 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
|
129 |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
|
130 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
131 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
|
132 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
|
133 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
|
134 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
|
135 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
|
136 have to run |GutentagsUpdate| manually. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
137 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
138 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
139 *:GutentagsUpdate* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
140 :GutentagsUpdate |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
141 Forces an update of the current tag file with the |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
142 current buffer. If tags are already being generated, |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
143 you will be notified and the command will abort. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
144 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
145 :GutentagsUpdate! |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
146 Like |GutentagsUpdate|, but updates the current tags |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
147 file with the whole project instead of just the |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
148 current buffer. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
149 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
150 |
46
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
151 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
|
152 |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
|
153 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
154 *:GutentagsToggleEnabled* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
155 :GutentagsToggleEnabled |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
156 Disables and re-enables Gutentags. |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
157 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
|
158 file when you save a buffer. It will however still |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
159 look for project markers as you open new buffers so |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
160 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
|
161 Gutentags. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
162 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
163 *GutentagsToggleTrace* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
164 :GutentagsToggleTrace |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
165 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
|
166 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
|
167 time Gutentags does something. It can get annoying |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
168 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
|
169 dismiss those messages, but it can be useful to |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
170 troubleshoot a problem. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
171 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
|
172 Gutentags redirect the output of the tag generation |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
173 script to a `.log` file in the project root. |
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 *:GutentagsUnlock* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
176 :GutentagsUnlock |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
177 Gutentags uses a `.lock` file to know when tag |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
178 generation is running. If something goes wrong with |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
179 that process, that lock file could be left behind. You |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
180 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
|
181 project, but you can also run |:GutentagsUnlock| so |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
182 that Vim does it for you. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
183 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
|
184 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
|
185 Gutentags, or something otherwise wrong or unexpected |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
186 with your system. Please file a bug. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
187 |
49
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
188 |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
189 ============================================================================= |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
190 3. Status Line *gutentags-status-line* |
4
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 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
|
193 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
|
194 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
|
195 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
196 *gutentags#statusline()* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
197 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
|
198 with the following function: > |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
199 :set statusline+=%{gutentags#statusline()} |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
200 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
201 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
|
202 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
|
203 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
|
204 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
|
205 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
|
206 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
207 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
|
208 "TAGS" by default. You can customize it: > |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
209 :set statusline+=%{gutentags#statusline('[Generating...]')} |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
210 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
211 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
|
212 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
213 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
214 ============================================================================= |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
215 4. Global Settings *gutentags-settings* |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
216 |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
217 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
|
218 behaviour of Gutentags. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
219 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
220 *gutentags_enabled* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
221 g:gutentags_enabled |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
222 Defines whether Gutentags should be enabled. When |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
223 disabled, Gutentags will still scan for project root |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
224 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
|
225 re-enable Gutentags, you won't have some buffers |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
226 mysteriously working while others (those open last) |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
227 don't. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
228 Defaults to 1. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
229 |
43
7000d598a2a7
Documentation changes for some options that changed names.
Ludovic Chabant <ludovic@chabant.com>
parents:
24
diff
changeset
|
230 *gutentags_ctags_executable* |
7000d598a2a7
Documentation changes for some options that changed names.
Ludovic Chabant <ludovic@chabant.com>
parents:
24
diff
changeset
|
231 g:gutentags_ctags_executable |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
232 Specifies the ctags executable to launch. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
233 Defaults to `ctags`. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
234 |
68
ca61487b3215
Add docs about ctags executable per filetype
marc <marc@lamarciana.com>
parents:
60
diff
changeset
|
235 *gutentags_ctags_executable_{filetype}* |
89
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
236 g:gutentags_ctags_executable_{type} |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
237 Specifies the ctags executable to launch for a project |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
238 of type {type}. See |gutentags_project_info| for more |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
239 information. |
140
95092f4fbc4b
Add some cross-referencing to the help file.
Ludovic Chabant <ludovic@chabant.com>
parents:
139
diff
changeset
|
240 IMPORTANT: piease see |gutentags-ctags-requirements|. |
68
ca61487b3215
Add docs about ctags executable per filetype
marc <marc@lamarciana.com>
parents:
60
diff
changeset
|
241 Example: > |
140
95092f4fbc4b
Add some cross-referencing to the help file.
Ludovic Chabant <ludovic@chabant.com>
parents:
139
diff
changeset
|
242 let g:gutentags_ctags_executable_ruby = 'foobar' |
68
ca61487b3215
Add docs about ctags executable per filetype
marc <marc@lamarciana.com>
parents:
60
diff
changeset
|
243 < |
ca61487b3215
Add docs about ctags executable per filetype
marc <marc@lamarciana.com>
parents:
60
diff
changeset
|
244 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
245 *gutentags_tagfile* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
246 g:gutentags_tagfile |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
247 Specifies the name of the tag file to create. This |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
248 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
|
249 |gutentags_project_root| for how Gutentags locates the |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
250 project. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
251 Defaults to `tags`. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
252 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
253 *gutentags_project_root* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
254 g:gutentags_project_root |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
255 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
|
256 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
|
257 automatically. To do this, it looks for "root markers" |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
258 in the current file's directory and its parent |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
259 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
|
260 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
|
261 file named after |gutentags_tagfile| will be created at |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
262 the project root. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
263 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
|
264 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
|
265 user-defined ones unless |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
266 |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
|
267 |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
268 *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
|
269 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
|
270 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
|
271 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
|
272 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
|
273 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
|
274 The default markers are: |
e673026faa56
Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
275 `['.git', '.hg', '.bzr', '_darcs', '_darcs', '_FOSSIL_', '.fslckout']` |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
276 |
118
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
277 *gutentags_exclude_project_root* |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
278 g:gutentags_exclude_project_root |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
279 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
|
280 is opened inside one of those projects, Gutentags |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
281 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
|
282 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
|
283 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
|
284 such a file there. |
132
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
285 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
|
286 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
|
287 on MacOS. |
2838af9ff980
Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents:
98
diff
changeset
|
288 |
132
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
289 *gutentags_project_root_finder* |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
290 g:gutentags_project_root_finder |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
291 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
|
292 (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
|
293 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
|
294 |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
|
295 |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
|
296 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
|
297 `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
|
298 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
|
299 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
|
300 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
|
301 Defaults to `''`. |
a6ef1c860d07
Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents:
129
diff
changeset
|
302 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
|
303 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
|
304 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
305 *gutentags_exclude* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
306 g:gutentags_exclude |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
307 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
|
308 |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
|
309 excluded from parsing for the tags generation. |
9e768b83d701
Fix missing renames of `gutentags_ctags_executable`.
Ludovic Chabant <ludovic@chabant.com>
parents:
49
diff
changeset
|
310 Defaults to `[]` (an empty |List|). Patterns defined |
9e768b83d701
Fix missing renames of `gutentags_ctags_executable`.
Ludovic Chabant <ludovic@chabant.com>
parents:
49
diff
changeset
|
311 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
|
312 to the `ctags` executable. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
313 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
314 *gutentags_auto_set_tags* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
315 g:gutentags_auto_set_tags |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
316 If set to 1, Gutentags will automatically prepend |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
317 '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
|
318 current project. See |gutentags_project_root| for how |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
319 Gutentags locates the project. |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
320 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
|
321 this means that whatever tag file it generates may |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
322 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
|
323 tag files Vim knows about. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
324 Defaults to 1. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
325 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
326 *gutentags_generate_on_missing* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
327 g:gutentags_generate_on_missing |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
328 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
|
329 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
|
330 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
|
331 Gutentags locates the project. |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
332 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
|
333 time the file is saved (if |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
334 |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
|
335 |GutentagsUpdate| or |GutentagsGenerate| is run. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
336 Defaults to 1. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
337 |
61
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
338 *gutentags_generate_on_new* |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
339 g:gutentags_generate_on_new |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
340 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
|
341 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
|
342 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
|
343 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
|
344 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
|
345 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
|
346 repository. |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
347 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
|
348 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
|
349 |gutentags_generate_on_write|. |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
350 Defaults to 1. |
735fce322ae4
Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents:
60
diff
changeset
|
351 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
352 *gutentags_generate_on_write* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
353 g:gutentags_generate_on_write |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
354 If set to 1, Gutentags will update the current |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
355 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
|
356 saved. See |gutentags_project_root| for how Gutentags |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
357 locates the project. |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
358 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
|
359 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
|
360 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
|
361 |GutentagsUpdate| manually. |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
362 Defaults to 1. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
363 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
364 *gutentags_background_update* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
365 g:gutentags_background_update |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
366 Specifies whether the process that updates the tags |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
367 file should be run in the background or in the |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
368 foreground. If run in the foreground, Vim will block |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
369 until the process is complete. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
370 Defaults to 1. |
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
371 |
22
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
372 *gutentags_cache_dir* |
4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents:
20
diff
changeset
|
373 g:gutentags_cache_dir |
20 | 374 Specifies a directory in which to create all the tags |
375 files, instead of writing them at the root of each | |
376 project. This is handy to keep tags files from | |
377 polluting many directories all across your computer. | |
4
512eaa56c7db
First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
378 |
85
0424970d81f8
Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
379 *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
|
380 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
|
381 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
|
382 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
|
383 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
|
384 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
|
385 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
|
386 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
|
387 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
|
388 Defaults to 0. |
88
073e63cc0456
Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents:
85
diff
changeset
|
389 |
141
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
390 *gutentags_init_user_func* |
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
391 g:gutentags_init_user_func |
88
073e63cc0456
Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents:
85
diff
changeset
|
392 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
|
393 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
|
394 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
|
395 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
|
396 be enabled for that file. |
141
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
397 |
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
398 You can use this to manually set buffer-local |
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
399 settings: |
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
400 |
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
401 * `b:gutentags_tagfile` (see |gutentags_tagfile|). |
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
402 |
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
403 This setting was previously called |
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
404 `gutentags_enabled_user_func`. The old setting is |
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
405 still used as a fallback. |
7bc4df0225d1
Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents:
140
diff
changeset
|
406 |
88
073e63cc0456
Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents:
85
diff
changeset
|
407 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
|
408 |
46
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
409 *gutentags_define_advanced_commands* |
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
410 g:gutentags_define_advanced_commands |
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
411 Defines some advanced commands like |
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
412 |GutentagsToggleEnabled| and |GutentagsUnlock|. |
c0f56e4d52bd
Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
413 |
89
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
414 *gutentags_project_info* |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
415 g:gutentags_project_info |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
416 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
|
417 project any given file belongs to. This should be |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
418 a list of dictionaries: |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
419 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
420 let g:gutentags_project_info = [] |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
421 call add(g:gutentags_project_info, {...}) |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
422 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
423 Each dictionary item must contain at least a `type` |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
424 key, indicating the type of project: |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
425 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
426 {"type": "python"} |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
427 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
428 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
|
429 of the given type. |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
430 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
431 "file": any existing file with this path (relative to |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
432 the project root) will make the current project match |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
433 the given info. |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
434 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
435 "glob": any result found with this glob pattern |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
436 (relative to the project root) will make the current |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
437 project match the given info. See |glob()| for more |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
438 information. |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
439 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
440 Gutentags adds by default the following definitions: |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
441 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
442 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
|
443 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
|
444 |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
445 This means, for example, that you can use |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
446 `g:gutentags_ctags_executable_ruby` out of the box. |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
447 See |gutentags_ctags_executable_{filetype}| for more |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
448 information. |
8bf96f9f649c
Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents:
88
diff
changeset
|
449 |
136
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
450 *gutentags_file_list_command* |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
451 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
|
452 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
|
453 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
|
454 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
|
455 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
|
456 project root directory. |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
457 |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
458 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
|
459 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
|
460 tracked in the repository. |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
461 |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
462 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
|
463 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
|
464 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
|
465 |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
466 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
|
467 < |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
468 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
|
469 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
|
470 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
|
471 |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
|
472 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
|
473 |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
474 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
|
475 \ 'markers': { |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
476 \ '.git': 'git ls-files', |
138
851aec42057d
Use `hg files` in the example (`locate` is deprecated).
Ludovic Chabant <ludovic@chabant.com>
parents:
136
diff
changeset
|
477 \ '.hg': 'hg files', |
136
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
478 \ }, |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
479 \ } |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
480 < |
286e5b3095d0
Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents:
132
diff
changeset
|
481 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
|
482 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
|
483 read the list of files to be examined. |
0 | 484 |
49
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
485 ============================================================================= |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
486 5. Project Settings *gutentags-project-settings* |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
487 |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
488 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
|
489 following files present in the project root directory: |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
490 |
74
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
491 *gutentags-.gutctags* |
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
492 `.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
|
493 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
|
494 documentation for more information). |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
495 |
74
cb1cf815052e
Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
496 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
|
497 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
|
498 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
|
499 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
|
500 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
|
501 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
|
502 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
|
503 |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
504 *gutentags-.notags* |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
505 `.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
|
506 project. |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
507 |
70423c2202c5
Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents:
47
diff
changeset
|
508 |
0 | 509 vim:tw=78:et:ft=help:norl: |