annotate doc/gutentags.txt @ 229:34bee0477b51

Add `g:gutentags_exclude_filetypes` setting.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 12 Nov 2018 00:07:27 -0800
parents a746af898281
children 39df368aaf2a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
188
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
2 ___ ___ ___ ___ ___
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
3 /\__\ /\ \ /\__\ /\__\ /\ \
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
4 /:/ _/_ \:\ \ /:/ / /:/ _/_ \:\ \
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
5 /:/ /\ \ \:\ \ /:/__/ /:/ /\__\ \:\ \
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
6 /:/ /::\ \ ___ \:\ \ /::\ \ /:/ /:/ _/_ _____\:\ \
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
7 /:/__\/\:\__\ /\ \ \:\__\ /:/\:\ \ /:/_/:/ /\__\ /::::::::\__\
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
8 \:\ \ /:/ / \:\ \ /:/ / \/__\:\ \ \:\/:/ /:/ / \:\~~\~~\/__/
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
9 \:\ /:/ / \:\ /:/ / \:\__\ \::/_/:/ / \:\ \
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
10 \:\/:/ / \:\/:/ / \/__/ \:\/:/ / \:\ \
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
11 \::/ / \::/ / \::/ / \:\__\
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
12 \/__/ \/__/ \/__/ \/__/
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
13 ___ ___ ___ ___
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
14 /\__\ /\ \ /\__\ /\__\
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
15 /:/ / /::\ \ /:/ _/_ /:/ _/_
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
16 /:/__/ /:/\:\ \ /:/ /\ \ /:/ /\ \
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
17 /::\ \ /:/ /::\ \ /:/ /::\ \ /:/ /::\ \
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
18 /:/\:\ \ /:/_/:/\:\__\ /:/__\/\:\__\ /:/_/:/\:\__\
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
19 \/__\:\ \ \:\/:/ \/__/ \:\ \ /:/ / \:\/:/ /:/ /
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
20 \:\__\ \::/__/ \:\ /:/ / \::/ /:/ /
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
21 \/__/ \:\ \ \:\/:/ / \/_/:/ /
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
22 \:\__\ \::/ / /:/ /
676fe2ea919f Move T's in the ASCII art up a bit.
Toni Kunic <tkunic@rocketmail.com>
parents: 182
diff changeset
23 \/__/ \/__/ \/__/
4
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
bab5f37faa1e More renaming.
Ludovic Chabant <ludovic@chabant.com>
parents: 22
diff changeset
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
49e3cb99ab27 Small edits.
Ludovic Chabant <ludovic@chabant.com>
parents: 4
diff changeset
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
190
6dc4bb6c53ba minor typos
minusf <minusf@gmail.com>
parents: 188
diff changeset
78 This means you probably want Exuberant Ctags or Universal Ctags. The basic
139
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
49e3cb99ab27 Small edits.
Ludovic Chabant <ludovic@chabant.com>
parents: 4
diff changeset
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
49e3cb99ab27 Small edits.
Ludovic Chabant <ludovic@chabant.com>
parents: 4
diff changeset
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
nblock <nblock@users.noreply.github.com>
parents: 140
diff changeset
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
165
cbc1ebe23ef1 Rename all ctags-related options to have "ctags" in their name.
Ludovic Chabant <ludovic@chabant.com>
parents: 149
diff changeset
120 |gutentags_ctags_tagfile|, relative to the project's root directory. When
cbc1ebe23ef1 Rename all ctags-related options to have "ctags" in their name.
Ludovic Chabant <ludovic@chabant.com>
parents: 149
diff changeset
121 Gutentags finds a valid project root, it will prepend the tag file's path to
cbc1ebe23ef1 Rename all ctags-related options to have "ctags" in their name.
Ludovic Chabant <ludovic@chabant.com>
parents: 149
diff changeset
122 'tags', unless |gutentags_ctags_auto_set_tags| is set to 0. This is to make
cbc1ebe23ef1 Rename all ctags-related options to have "ctags" in their name.
Ludovic Chabant <ludovic@chabant.com>
parents: 149
diff changeset
123 sure Vim will use that file first.
4
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
223
a746af898281 Add documentation comment about availability of advanced commands.
Ludovic Chabant <ludovic@chabant.com>
parents: 222
diff changeset
163 {only available when
a746af898281 Add documentation comment about availability of advanced commands.
Ludovic Chabant <ludovic@chabant.com>
parents: 222
diff changeset
164 |gutentags_define_advanced_commands| is set}
a746af898281 Add documentation comment about availability of advanced commands.
Ludovic Chabant <ludovic@chabant.com>
parents: 222
diff changeset
165
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
166 *GutentagsToggleTrace*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
167 :GutentagsToggleTrace
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
168 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
169 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
170 time Gutentags does something. It can get annoying
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
171 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
172 dismiss those messages, but it can be useful to
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
173 troubleshoot a problem.
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
174 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
175 Gutentags redirect the output of the tag generation
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
176 script to a `.log` file in the project root.
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
177
223
a746af898281 Add documentation comment about availability of advanced commands.
Ludovic Chabant <ludovic@chabant.com>
parents: 222
diff changeset
178 {only available when
a746af898281 Add documentation comment about availability of advanced commands.
Ludovic Chabant <ludovic@chabant.com>
parents: 222
diff changeset
179 |gutentags_define_advanced_commands| is set}
a746af898281 Add documentation comment about availability of advanced commands.
Ludovic Chabant <ludovic@chabant.com>
parents: 222
diff changeset
180
49
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
181
191
22cd3334cf43 Add documentation on the `GutentagsUpdated` auto-command.
Ludovic Chabant <ludovic@chabant.com>
parents: 190
diff changeset
182 Gutentags also has some user auto-commands (see |User| and |:doautocmd|):
22cd3334cf43 Add documentation on the `GutentagsUpdated` auto-command.
Ludovic Chabant <ludovic@chabant.com>
parents: 190
diff changeset
183
202
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
184 *GutentagsUpdating*
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
185 GutentagsUpdating
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
186 This auto-command is triggered when a background
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
187 update job has started.
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
188
191
22cd3334cf43 Add documentation on the `GutentagsUpdated` auto-command.
Ludovic Chabant <ludovic@chabant.com>
parents: 190
diff changeset
189 *GutentagsUpdated*
22cd3334cf43 Add documentation on the `GutentagsUpdated` auto-command.
Ludovic Chabant <ludovic@chabant.com>
parents: 190
diff changeset
190 GutentagsUpdated
22cd3334cf43 Add documentation on the `GutentagsUpdated` auto-command.
Ludovic Chabant <ludovic@chabant.com>
parents: 190
diff changeset
191 This auto-command is triggered when a background
202
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
192 update job has finished.
191
22cd3334cf43 Add documentation on the `GutentagsUpdated` auto-command.
Ludovic Chabant <ludovic@chabant.com>
parents: 190
diff changeset
193
22cd3334cf43 Add documentation on the `GutentagsUpdated` auto-command.
Ludovic Chabant <ludovic@chabant.com>
parents: 190
diff changeset
194
4
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 3. Status Line *gutentags-status-line*
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
197
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
198 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
199 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
200 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
201
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
202 *gutentags#statusline()*
207
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
203 You can display an indicator of tag generation progress in your |status-line|
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
204 with the following function: >
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
205 :set statusline+=%{gutentags#statusline()}
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
206
207
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
207 The function will, by default, print a list of modules in the status line. So
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
208 if the `ctags` module (see |g:gutentags_modules|) is currently generating
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
209 a tags file, you will see "ctags" printed in the status line. If nothing is
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
210 happening, nothing will be printed in the status line.
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
211
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
212 You can pass some parameters to customize this:
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
213
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
214 1. A prefix string (defaults to `""`).
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
215 2. A suffix string (defaults to `""`).
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
216 3. The text to print (defaults to the names of modules currently generating
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
217 something).
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
218
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
219 So using `gutentags#statusline('[', ']')` would print `"[ctags]"` instead of
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
220 `"ctags"`.
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
221
202
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
222 Because Gutentags runs the tag generation in the background, the statusline
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
223 indicator might stay there even after the background process has ended. It
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
224 would only go away when Vim decides to refresh the statusline. You can force
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
225 refresh it in a callback on |GutentagsUpdating| and |GutentagsUpdated|.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
226
202
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
227 For instance, with the `lightline` plugin:
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
228
202
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
229 augroup MyGutentagsStatusLineRefresher
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
230 autocmd!
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
231 autocmd User GutentagsUpdating call lightline#update()
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
232 autocmd User GutentagsUpdated call lightline#update()
b50b6d0f82dd Refactor for Vim8/Neovim job support.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
233 augroup END
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
234
207
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
235 *gutentags#statusline_cb*
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
236 As an alternative to the previous function, `gutentags#statusline_cb` takes
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
237 a single parameter which should be a |Funcref| or a function name. This
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
238 function should take a list of active module names, and return a string. This
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
239 lets you completely control what the status line will print.
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
240
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
241 For instance:
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
242 function! s:get_gutentags_status(mods) abort
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
243 let l:msg = ''
217
fcb0415dceac fixed status callback in docs
Vitaly Kushner <vitalyk@gmail.com>
parents: 207
diff changeset
244 if index(a:mods, 'ctags') >= 0
207
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
245 let l:msg .= '♨'
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
246 endif
217
fcb0415dceac fixed status callback in docs
Vitaly Kushner <vitalyk@gmail.com>
parents: 207
diff changeset
247 if index(a:mods, 'cscope') >= 0
207
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
248 let l:msg .= '♺'
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
249 endif
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
250 return l:msg
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
251 endfunction
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
252
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
253 :set statusline+=%{gutentags#statusline_cb(
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
254 \function('<SID>get_gutentags_status'))}
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
255
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
256 By default, the callback function doesn't get called if no tags generation is
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
257 currently happening. You can pass `1` as a second argument so that the
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
258 callback function is always called.
20bfab5b054f Status-line improvements.
Ludovic Chabant <ludovic@chabant.com>
parents: 204
diff changeset
259
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
260
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
261 =============================================================================
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
262 4. Global Settings *gutentags-settings*
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
263
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
264 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
265 behaviour of Gutentags.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
266
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
267 *gutentags_enabled*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
268 g:gutentags_enabled
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
269 Defines whether Gutentags should be enabled. When
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
270 disabled, Gutentags will still scan for project root
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
271 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
272 re-enable Gutentags, you won't have some buffers
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
273 mysteriously working while others (those open last)
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
274 don't.
222
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
275 Defaults to `1`.
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
276
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
277 *gutentags_trace*
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
278 g:gutentags_trace
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
279 When true, Gutentags will spit out debugging
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
280 information as Vim messages (which you can later read
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
281 with |:messages|). It also runs its background scripts
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
282 with extra parameters to log activity to a `tags.log`
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
283 file that you can also inspect for more information.
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
284
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
285 Note: you can run `:verbose GutentagsUpdate` to
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
286 temporarily set |g:gutentags_trace| to `1` for that
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
287 update only.
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
288
34aa86c552db Add documentation about `gutentags_trace`.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
289 Defaults to `0`.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
290
149
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
291 *gutentags_dont_load*
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
292 g:gutentags_dont_load
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
293 Prevents Gutentags from loading at all on Vim startup.
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
294
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
295 The difference between this and |gutentags_enabled| is
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
296 that |gutentags_enabled| can be turned on and off in
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
297 the same Vim session -- Gutentags as a plugin stays
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
298 loaded and will keep track of what happened while it
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
299 was disabled. However, |gutentags_dont_load| only
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
300 works on Vim startup and will prevent Gutentags from
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
301 loading at all, as if it wasn't there.
f915393ff68d Add `g:gutentags_dont_load` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 145
diff changeset
302
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
303 *gutentags_modules*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
304 g:gutentags_modules
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
305 A list of modules to load with Gutentags. Each module
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
306 is responsible for generating a specific type of tags
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
307 file.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
308 Valid values are:
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
309
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
310 - `ctags`: generates a `tags` file using
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
311 a `ctags`-compatible program like Exhuberant Ctags
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
312 or Universal Ctags.
68
ca61487b3215 Add docs about ctags executable per filetype
marc <marc@lamarciana.com>
parents: 60
diff changeset
313
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
314 - `cscope`: generates a code database file using
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
315 `cscope`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
316
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
317 - `gtags_cscope`: same as `cscope` but uses GNU's
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
318 `gtags` executable and database.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
319
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
320 Defaults to `[ctags]`.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
321
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
322 *gutentags_project_root*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
323 g:gutentags_project_root
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
324 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
325 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
326 automatically. To do this, it looks for "root markers"
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
327 in the current file's directory and its parent
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
328 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
329 Gutentags will be enabled for the project, and a tags
165
cbc1ebe23ef1 Rename all ctags-related options to have "ctags" in their name.
Ludovic Chabant <ludovic@chabant.com>
parents: 149
diff changeset
330 file named after |gutentags_ctags_tagfile| will be
cbc1ebe23ef1 Rename all ctags-related options to have "ctags" in their name.
Ludovic Chabant <ludovic@chabant.com>
parents: 149
diff changeset
331 created at the project root.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
332 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
333 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
334 user-defined ones unless
e673026faa56 Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents: 124
diff changeset
335 |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
336
e673026faa56 Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents: 124
diff changeset
337 *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
338 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
339 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
340 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
341 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
342 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
343 The default markers are:
e673026faa56 Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents: 124
diff changeset
344 `['.git', '.hg', '.bzr', '_darcs', '_darcs', '_FOSSIL_', '.fslckout']`
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
345
229
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
346 *gutentags_exclude_filetypes*
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
347 g:gutentags_exclude_filetypes
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
348 A |List| of file types (see |'filetype'|) that Gutentags
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
349 should ignore. When a buffer is opened, if its
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
350 'filetype' is found in this list, Gutentags features
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
351 won't be available for this buffer.
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
352 Defaults to an empty list (`[]`).
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
353
118
2838af9ff980 Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents: 98
diff changeset
354 *gutentags_exclude_project_root*
2838af9ff980 Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents: 98
diff changeset
355 g:gutentags_exclude_project_root
2838af9ff980 Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents: 98
diff changeset
356 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
357 is opened inside one of those projects, Gutentags
2838af9ff980 Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents: 98
diff changeset
358 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
359 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
360 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
361 such a file there.
132
a6ef1c860d07 Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents: 129
diff changeset
362 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
363 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
364 on MacOS.
2838af9ff980 Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents: 98
diff changeset
365
132
a6ef1c860d07 Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents: 129
diff changeset
366 *gutentags_project_root_finder*
a6ef1c860d07 Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents: 129
diff changeset
367 g:gutentags_project_root_finder
a6ef1c860d07 Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents: 129
diff changeset
368 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
369 (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
370 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
371 |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
372 |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
373 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
374 `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
375 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
376 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
377 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
378 Defaults to `''`.
a6ef1c860d07 Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents: 129
diff changeset
379 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
380 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
381
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
382 *gutentags_generate_on_missing*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
383 g:gutentags_generate_on_missing
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
384 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
385 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
386 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
387 Gutentags locates the project.
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
388 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
389 time the file is saved (if
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
390 |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
391 |GutentagsUpdate| or |GutentagsGenerate| is run.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
392 Defaults to 1.
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
393
61
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
394 *gutentags_generate_on_new*
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
395 g:gutentags_generate_on_new
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
396 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
397 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
398 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
399 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
400 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
401 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
402 repository.
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
403 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
404 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
405 |gutentags_generate_on_write|.
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
406 Defaults to 1.
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
407
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
408 *gutentags_generate_on_write*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
409 g:gutentags_generate_on_write
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
410 If set to 1, Gutentags will update the current
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
411 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
412 saved. See |gutentags_project_root| for how Gutentags
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
413 locates the project.
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
414 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
415 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
416 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
417 |GutentagsUpdate| manually.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
418 Defaults to 1.
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
419
182
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
420 *gutentags_generate_on_empty_buffer*
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
421 g:gutentags_generate_on_empty_buffer
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
422 If set to 1, Gutentags will start generating the tag
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
423 file even if there's no buffer currently open, as long
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
424 as the current working directory (as returned by
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
425 |:cd|) is inside a known project.
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
426 This is useful if you want Gutentags to generate the
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
427 tag file right after opening Vim.
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
428 Defaults to 0.
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
429
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
430 *gutentags_background_update*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
431 g:gutentags_background_update
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
432 Specifies whether the process that updates the tags
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
433 file should be run in the background or in the
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
434 foreground. If run in the foreground, Vim will block
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
435 until the process is complete.
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
436 Defaults to 1.
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
437
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
438 *gutentags_cache_dir*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
439 g:gutentags_cache_dir
20
bd136cb41034 Update documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 17
diff changeset
440 Specifies a directory in which to create all the tags
bd136cb41034 Update documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 17
diff changeset
441 files, instead of writing them at the root of each
bd136cb41034 Update documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 17
diff changeset
442 project. This is handy to keep tags files from
bd136cb41034 Update documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 17
diff changeset
443 polluting many directories all across your computer.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
444
85
0424970d81f8 Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents: 74
diff changeset
445 *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
446 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
447 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
448 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
449 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
450 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
451 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
452 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
453 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
454 Defaults to 0.
88
073e63cc0456 Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents: 85
diff changeset
455
141
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
456 *gutentags_init_user_func*
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
457 g:gutentags_init_user_func
88
073e63cc0456 Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents: 85
diff changeset
458 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
459 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
460 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
461 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
462 be enabled for that file.
141
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
463
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
464 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
465 settings:
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
466
165
cbc1ebe23ef1 Rename all ctags-related options to have "ctags" in their name.
Ludovic Chabant <ludovic@chabant.com>
parents: 149
diff changeset
467 * `b:gutentags_ctags_tagfile` (see |gutentags_ctags_tagfile|).
141
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
468
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
469 This setting was previously called
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
470 `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
471 still used as a fallback.
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
472
88
073e63cc0456 Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents: 85
diff changeset
473 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
474
46
c0f56e4d52bd Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
475 *gutentags_define_advanced_commands*
c0f56e4d52bd Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
476 g:gutentags_define_advanced_commands
c0f56e4d52bd Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
477 Defines some advanced commands like
c0f56e4d52bd Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
478 |GutentagsToggleEnabled| and |GutentagsUnlock|.
c0f56e4d52bd Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
479
89
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
480 *gutentags_project_info*
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
481 g:gutentags_project_info
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
482 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
483 project any given file belongs to. This should be
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
484 a list of dictionaries:
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
485
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
486 let g:gutentags_project_info = []
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
487 call add(g:gutentags_project_info, {...})
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
488
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
489 Each dictionary item must contain at least a `type`
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
490 key, indicating the type of project:
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
491
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
492 {"type": "python"}
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
493
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
494 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
495 of the given type.
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
496
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
497 "file": any existing file with this path (relative to
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
498 the project root) will make the current project match
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
499 the given info.
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
500
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
501 "glob": any result found with this glob pattern
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
502 (relative to the project root) will make the current
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
503 project match the given info. See |glob()| for more
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
504 information.
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
505
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
506 Gutentags adds by default the following definitions:
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
507
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
508 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
509 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
510
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
511 This means, for example, that you can use
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
512 `g:gutentags_ctags_executable_ruby` out of the box.
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
513 See |gutentags_ctags_executable_{filetype}| for more
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
514 information.
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
515
136
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
516 *gutentags_file_list_command*
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
517 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
518 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
519 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
520 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
521 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
522 project root directory.
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
523
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
524 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
525 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
526 tracked in the repository.
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
527
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
528 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
529 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
530 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
531
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
532 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
533 <
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
534 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
535 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
536 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
537 |gutentags_project_root| for how Gutentags uses root
190
6dc4bb6c53ba minor typos
minusf <minusf@gmail.com>
parents: 188
diff changeset
538 markers to locate the project.) For example: >
136
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
539
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
540 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
541 \ 'markers': {
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
542 \ '.git': 'git ls-files',
138
851aec42057d Use `hg files` in the example (`locate` is deprecated).
Ludovic Chabant <ludovic@chabant.com>
parents: 136
diff changeset
543 \ '.hg': 'hg files',
136
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
544 \ },
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
545 \ }
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
546 <
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
547 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
548 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
549 read the list of files to be examined.
0
a3a37124558b Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
550
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
551
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
552 The following settings are valid for the `ctags` module.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
553
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
554 *gutentags_ctags_executable*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
555 g:gutentags_ctags_executable
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
556 Specifies the ctags executable to launch.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
557 Defaults to `ctags`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
558
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
559 *gutentags_ctags_executable_{filetype}*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
560 g:gutentags_ctags_executable_{type}
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
561 Specifies the ctags executable to launch for a project
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
562 of type {type}. See |gutentags_project_info| for more
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
563 information.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
564 IMPORTANT: please see |gutentags-ctags-requirements|.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
565 Example: >
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
566 let g:gutentags_ctags_executable_ruby = 'foobar'
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
567 <
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
568
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
569 *gutentags_ctags_tagfile*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
570 g:gutentags_ctags_tagfile
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
571 Specifies the name of the tag file to create. This
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
572 will be appended to the project's root. See
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
573 |gutentags_project_root| for how Gutentags locates the
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
574 project.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
575 Defaults to `tags`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
576
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
577 *gutentags_ctags_exclude*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
578 g:gutentags_ctags_exclude
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
579 A list of file patterns to pass to the
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
580 |gutentags_ctags_executable| so that they will be
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
581 excluded from parsing for the tags generation.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
582 See also |gutentags_ctags_exclude_wildignore|.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
583 Defaults to `[]` (an empty |List|).
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
584
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
585 *gutentags_ctags_exclude_wildignore*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
586 g:gutentags_ctags_exclude_wildignore
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
587 When 1, Gutentags will automatically pass your
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
588 'wildignore' file patterns to the
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
589 |gutentags_ctags_executable| so that they are ignored.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
590 Set also |gutentags_ctags_exclude| to pass custom
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
591 patterns.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
592 Defaults to 1.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
593
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
594 *gutentags_ctags_auto_set_tags*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
595 g:gutentags_ctags_auto_set_tags
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
596 If set to 1, Gutentags will automatically prepend
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
597 'tags' with the exact path to the tag file for the
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
598 current project. See |gutentags_project_root| for how
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
599 Gutentags locates the project.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
600 When set to 0, Gutentags doesn't change 'tags', and
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
601 this means that whatever tag file it generates may
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
602 not be picked up by Vim. See |tagfiles()| to know what
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
603 tag files Vim knows about.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
604 Defaults to 1.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
605
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
606 *gutentags_ctags_extra_args*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
607 g:gutentags_ctags_extra_args
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
608 A list of arguments to pass to `ctags`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
609 Defaults to `[]`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
610
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
611 *gutentags_ctags_post_process_cmd*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
612 g:gutentags_ctags_post_process_cmd
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
613 If defined, the tags generation script will run the
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
614 command with an argument that points to a temporary
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
615 copy of the tags file. If the post-process step is
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
616 modifying the tags file, it needs to do so in-place.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
617 This is useful for cleaning up a tags file that may
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
618 contain tags with non-ASCII names that somehow upsets
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
619 Vim.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
620 Defaults to `""` (an empty |String|).
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
621
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
622
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
623 The following settings are valid for the `cscope` module.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
624
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
625 *gutentags_cscope_executable*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
626 g:gutentags_cscope_executable
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
627 Specifies the name or path of the `cscope` executable
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
628 to use to generate the code database.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
629 Defaults to `"cscope"`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
630
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
631 *gutentags_auto_add_cscope*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
632 g:gutentags_auto_add_cscope
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
633 If set to 1, Gutentags will automatically add the
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
634 generated code database to Vim by running `:cs add`
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
635 (see |:cscope|).
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
636 Defaults to 1.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
637
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
638
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
639 The following settings are valid for the `gtags_cscope` module.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
640
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
641 *gutentags_gtags_executable*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
642 g:gutentags_gtags_executable
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
643 Specifies the name or path of the `gtags` executable
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
644 to use to generate the code database.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
645 Default to `"gtags"`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
646
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
647 *gutentags_gtags_options_file*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
648 g:gutentags_gtags_options_file
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
649 The name of a file that will be looked for in
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
650 a project root directory. The file is expected to
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
651 contain `gtags` options (one per line).
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
652 Defaults to `".gutgtags"`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
653
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
654 *gutentags_auto_add_gtags_cscope*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
655 g:gutentags_auto_add_gtags_cscope
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
656 If set to 1, Gutentags will automatically add the
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
657 generated code database to Vim by running `:cs add`
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
658 (see |:cscope|).
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
659 Defaults to 1.
210
39547ffc8867 Add mention of `gutentags_plus` for Cscope users.
Ludovic Chabant <ludovic@chabant.com>
parents: 207
diff changeset
660
39547ffc8867 Add mention of `gutentags_plus` for Cscope users.
Ludovic Chabant <ludovic@chabant.com>
parents: 207
diff changeset
661 People using `cscope` or `gtags_cscope` across multiple projects in the same
39547ffc8867 Add mention of `gutentags_plus` for Cscope users.
Ludovic Chabant <ludovic@chabant.com>
parents: 207
diff changeset
662 Vim instance might be interested in the `gutentags_plus` plugin, which handles
39547ffc8867 Add mention of `gutentags_plus` for Cscope users.
Ludovic Chabant <ludovic@chabant.com>
parents: 207
diff changeset
663 switching databases automatically before performing a query.
39547ffc8867 Add mention of `gutentags_plus` for Cscope users.
Ludovic Chabant <ludovic@chabant.com>
parents: 207
diff changeset
664 See https://github.com/skywind3000/gutentags_plus.
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
665
49
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
666 =============================================================================
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
667 5. Project Settings *gutentags-project-settings*
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
668
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
669 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
670 following files present in the project root directory:
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
671
74
cb1cf815052e Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents: 69
diff changeset
672 *gutentags-.gutctags*
cb1cf815052e Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents: 69
diff changeset
673 `.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
674 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
675 documentation for more information).
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
676
74
cb1cf815052e Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents: 69
diff changeset
677 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
678 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
679 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
680 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
681 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
682 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
683 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
684
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
685 *gutentags-.notags*
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
686 `.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
687 project.
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
688
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
689
0
a3a37124558b Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
690 vim:tw=78:et:ft=help:norl: