annotate doc/gutentags.txt @ 269:e60f685c560d

pycscope
author Oliver Harley <oliver.r.harley@gmail.com>
date Mon, 04 Feb 2019 10:08:25 +0100
parents 2d634600fd6e
children edd757c1e28d
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
269
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
317 - `pycscope`: generates a code database file using
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
318 `pycscope`.
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
319
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
320 - `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
321 `gtags` executable and database.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
322
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
323 Defaults to `[ctags]`.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
324
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
325 *gutentags_project_root*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
326 g:gutentags_project_root
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
327 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
328 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
329 automatically. To do this, it looks for "root markers"
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
330 in the current file's directory and its parent
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
331 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
332 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
333 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
334 created at the project root.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
335 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
336 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
337 user-defined ones unless
e673026faa56 Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents: 124
diff changeset
338 |gutentags_add_default_project_roots| is set to 0.
232
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
339
128
e673026faa56 Add option to not append the default project root markers.
Ludovic Chabant <ludovic@chabant.com>
parents: 124
diff changeset
340 *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
341 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
342 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
343 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
344 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
345 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
346 The default markers are:
248
57654e0dea1c Fix incorrect documentation about default root markers.
Ludovic Chabant <ludovic@chabant.com>
parents: 244
diff changeset
347 `['.git', '.hg', '.svn', '.bzr', '_darcs', '_darcs', '_FOSSIL_', '.fslckout']`
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
348
243
050d0549ecf3 Add `g:gutentags_add_ctrlp_root_markers` option.
Ludovic Chabant <ludovic@chabant.com>
parents: 239
diff changeset
349 *gutentags_add_ctrlp_root_markers*
050d0549ecf3 Add `g:gutentags_add_ctrlp_root_markers` option.
Ludovic Chabant <ludovic@chabant.com>
parents: 239
diff changeset
350 g:gutentags_add_ctrlp_root_markers
050d0549ecf3 Add `g:gutentags_add_ctrlp_root_markers` option.
Ludovic Chabant <ludovic@chabant.com>
parents: 239
diff changeset
351 If Gutentags finds `g:ctrlp_root_markers` (used by the
050d0549ecf3 Add `g:gutentags_add_ctrlp_root_markers` option.
Ludovic Chabant <ludovic@chabant.com>
parents: 239
diff changeset
352 CtrlP plugin), it will append those root markers to
050d0549ecf3 Add `g:gutentags_add_ctrlp_root_markers` option.
Ludovic Chabant <ludovic@chabant.com>
parents: 239
diff changeset
353 the existing ones (see |g:gutentags_project_root|).
050d0549ecf3 Add `g:gutentags_add_ctrlp_root_markers` option.
Ludovic Chabant <ludovic@chabant.com>
parents: 239
diff changeset
354 Set this to 0 to stop it from happening.
050d0549ecf3 Add `g:gutentags_add_ctrlp_root_markers` option.
Ludovic Chabant <ludovic@chabant.com>
parents: 239
diff changeset
355 Defaults to 1.
050d0549ecf3 Add `g:gutentags_add_ctrlp_root_markers` option.
Ludovic Chabant <ludovic@chabant.com>
parents: 239
diff changeset
356
229
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
357 *gutentags_exclude_filetypes*
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
358 g:gutentags_exclude_filetypes
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
359 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
360 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
361 'filetype' is found in this list, Gutentags features
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
362 won't be available for this buffer.
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
363 Defaults to an empty list (`[]`).
34bee0477b51 Add `g:gutentags_exclude_filetypes` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 223
diff changeset
364
118
2838af9ff980 Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents: 98
diff changeset
365 *gutentags_exclude_project_root*
2838af9ff980 Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents: 98
diff changeset
366 g:gutentags_exclude_project_root
2838af9ff980 Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents: 98
diff changeset
367 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
368 is opened inside one of those projects, Gutentags
2838af9ff980 Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents: 98
diff changeset
369 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
370 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
371 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
372 such a file there.
132
a6ef1c860d07 Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents: 129
diff changeset
373 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
374 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
375 on MacOS.
2838af9ff980 Add `g:gutentags_exclude_project_root`.
Ludovic Chabant <ludovic@chabant.com>
parents: 98
diff changeset
376
132
a6ef1c860d07 Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents: 129
diff changeset
377 *gutentags_project_root_finder*
a6ef1c860d07 Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents: 129
diff changeset
378 g:gutentags_project_root_finder
a6ef1c860d07 Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents: 129
diff changeset
379 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
380 (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
381 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
382 |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
383 |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
384 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
385 `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
386 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
387 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
388 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
389 Defaults to `''`.
244
d3f9a92399d1 Separate the default project marker finder into a function.
Ludovic Chabant <ludovic@chabant.com>
parents: 243
diff changeset
390 Note: when set, the called implementation will
d3f9a92399d1 Separate the default project marker finder into a function.
Ludovic Chabant <ludovic@chabant.com>
parents: 243
diff changeset
391 possibly ignore |g:gutentags_project_root|.
d3f9a92399d1 Separate the default project marker finder into a function.
Ludovic Chabant <ludovic@chabant.com>
parents: 243
diff changeset
392 Note: an implementation can fallback to the default
d3f9a92399d1 Separate the default project marker finder into a function.
Ludovic Chabant <ludovic@chabant.com>
parents: 243
diff changeset
393 behaviour by calling
d3f9a92399d1 Separate the default project marker finder into a function.
Ludovic Chabant <ludovic@chabant.com>
parents: 243
diff changeset
394 `gutentags#default_get_project_root`.
132
a6ef1c860d07 Add support for custom root finders like `vim-projectroot`.
Ludovic Chabant <ludovic@chabant.com>
parents: 129
diff changeset
395
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
396 *gutentags_generate_on_missing*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
397 g:gutentags_generate_on_missing
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
398 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
399 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
400 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
401 Gutentags locates the project.
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
402 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
403 time the file is saved (if
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
404 |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
405 |GutentagsUpdate| or |GutentagsGenerate| is run.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
406 Defaults to 1.
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
407
61
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
408 *gutentags_generate_on_new*
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
409 g:gutentags_generate_on_new
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
410 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
411 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
412 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
413 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
414 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
415 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
416 repository.
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
417 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
418 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
419 |gutentags_generate_on_write|.
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
420 Defaults to 1.
735fce322ae4 Add documentation for `g:gutentags_generate_on_new`.
Ludovic Chabant <ludovic@chabant.com>
parents: 60
diff changeset
421
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
422 *gutentags_generate_on_write*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
423 g:gutentags_generate_on_write
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
424 If set to 1, Gutentags will update the current
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
425 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
426 saved. See |gutentags_project_root| for how Gutentags
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
427 locates the project.
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
428 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
429 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
430 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
431 |GutentagsUpdate| manually.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
432 Defaults to 1.
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
433
182
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
434 *gutentags_generate_on_empty_buffer*
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
435 g:gutentags_generate_on_empty_buffer
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
436 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
437 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
438 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
439 |:cd|) is inside a known project.
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
440 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
441 tag file right after opening Vim.
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
442 Defaults to 0.
2489b4b54d5c Add `g:gutentags_generate_on_empty_buffer` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 165
diff changeset
443
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
444 *gutentags_background_update*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
445 g:gutentags_background_update
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
446 Specifies whether the process that updates the tags
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
447 file should be run in the background or in the
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
448 foreground. If run in the foreground, Vim will block
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
449 until the process is complete.
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
450 Defaults to 1.
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
451
22
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
452 *gutentags_cache_dir*
4e1b0253f71a Renamed project to "Gutentags" (thanks Sylvain!).
Ludovic Chabant <ludovic@chabant.com>
parents: 20
diff changeset
453 g:gutentags_cache_dir
20
bd136cb41034 Update documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 17
diff changeset
454 Specifies a directory in which to create all the tags
bd136cb41034 Update documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 17
diff changeset
455 files, instead of writing them at the root of each
bd136cb41034 Update documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 17
diff changeset
456 project. This is handy to keep tags files from
bd136cb41034 Update documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 17
diff changeset
457 polluting many directories all across your computer.
4
512eaa56c7db First pass at documentation.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
458
85
0424970d81f8 Add a `g:gutentags_resolve_symlinks` option to resolve symlinks at setup time.
Ludovic Chabant <ludovic@chabant.com>
parents: 74
diff changeset
459 *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
460 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
461 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
462 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
463 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
464 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
465 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
466 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
467 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
468 Defaults to 0.
88
073e63cc0456 Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents: 85
diff changeset
469
141
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
470 *gutentags_init_user_func*
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
471 g:gutentags_init_user_func
88
073e63cc0456 Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents: 85
diff changeset
472 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
473 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
474 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
475 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
476 be enabled for that file.
141
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
477
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
478 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
479 settings:
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
480
165
cbc1ebe23ef1 Rename all ctags-related options to have "ctags" in their name.
Ludovic Chabant <ludovic@chabant.com>
parents: 149
diff changeset
481 * `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
482
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
483 This setting was previously called
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
484 `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
485 still used as a fallback.
7bc4df0225d1 Add support for specifying buffer-specific tagfiles.
Ludovic Chabant <ludovic@chabant.com>
parents: 140
diff changeset
486
88
073e63cc0456 Add `gutentags_enabled_user_func` callback.
Ludovic Chabant <ludovic@chabant.com>
parents: 85
diff changeset
487 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
488
46
c0f56e4d52bd Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
489 *gutentags_define_advanced_commands*
c0f56e4d52bd Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
490 g:gutentags_define_advanced_commands
c0f56e4d52bd Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
491 Defines some advanced commands like
c0f56e4d52bd Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
492 |GutentagsToggleEnabled| and |GutentagsUnlock|.
c0f56e4d52bd Make a bunch of advanced commands opt-in only.
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
493
89
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
494 *gutentags_project_info*
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
495 g:gutentags_project_info
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
496 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
497 project any given file belongs to. This should be
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
498 a list of dictionaries:
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
499
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
500 let g:gutentags_project_info = []
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
501 call add(g:gutentags_project_info, {...})
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
502
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
503 Each dictionary item must contain at least a `type`
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
504 key, indicating the type of project:
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 {"type": "python"}
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 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
509 of the given type.
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 "file": any existing file with this path (relative to
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
512 the project root) will make the current project match
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
513 the given info.
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
514
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
515 "glob": any result found with this glob pattern
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
516 (relative to the project root) will make the current
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
517 project match the given info. See |glob()| for more
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
518 information.
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
519
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
520 Gutentags adds by default the following definitions:
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
521
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
522 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
523 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
524
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
525 This means, for example, that you can use
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
526 `g:gutentags_ctags_executable_ruby` out of the box.
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
527 See |gutentags_ctags_executable_{filetype}| for more
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
528 information.
8bf96f9f649c Add support for project types.
Ludovic Chabant <ludovic@chabant.com>
parents: 88
diff changeset
529
136
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
530 *gutentags_file_list_command*
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
531 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
532 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
533 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
534 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
535 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
536 project root directory.
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
537
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
538 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
539 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
540 tracked in the repository.
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
541
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
542 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
543 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
544 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
545
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
546 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
547 <
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
548 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
549 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
550 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
551 |gutentags_project_root| for how Gutentags uses root
190
6dc4bb6c53ba minor typos
minusf <minusf@gmail.com>
parents: 188
diff changeset
552 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
553
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
554 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
555 \ 'markers': {
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
556 \ '.git': 'git ls-files',
138
851aec42057d Use `hg files` in the example (`locate` is deprecated).
Ludovic Chabant <ludovic@chabant.com>
parents: 136
diff changeset
557 \ '.hg': 'hg files',
136
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
558 \ },
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
559 \ }
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
560 <
286e5b3095d0 Allow restricting tag generation to files listed by custom commands
Stephen Kent <smkent@smkent.net>
parents: 132
diff changeset
561 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
562 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
563 read the list of files to be examined.
0
a3a37124558b Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
564
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
565
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
566 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
567
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
568 *gutentags_ctags_executable*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
569 g:gutentags_ctags_executable
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
570 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
571 Defaults to `ctags`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
572
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
573 *gutentags_ctags_executable_{filetype}*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
574 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
575 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
576 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
577 information.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
578 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
579 Example: >
264
2d634600fd6e docs: use ripper-tags as example value
Yana Agun Siswanto <yana.developer@gmail.com>
parents: 248
diff changeset
580 let g:gutentags_ctags_executable_ruby = 'ripper-tags'
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
581 <
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
582
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
583 *gutentags_ctags_tagfile*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
584 g:gutentags_ctags_tagfile
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
585 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
586 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
587 |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
588 project.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
589 Defaults to `tags`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
590
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
591 *gutentags_ctags_exclude*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
592 g:gutentags_ctags_exclude
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
593 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
594 |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
595 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
596 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
597 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
598
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
599 *gutentags_ctags_exclude_wildignore*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
600 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
601 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
602 '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
603 |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
604 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
605 patterns.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
606 Defaults to 1.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
607
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
608 *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
609 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
610 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
611 '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
612 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
613 Gutentags locates the project.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
614 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
615 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
616 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
617 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
618 Defaults to 1.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
619
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
620 *gutentags_ctags_extra_args*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
621 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
622 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
623 Defaults to `[]`.
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_ctags_post_process_cmd*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
626 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
627 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
628 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
629 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
630 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
631 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
632 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
633 Vim.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
634 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
635
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
636
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
637 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
638
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
639 *gutentags_cscope_executable*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
640 g:gutentags_cscope_executable
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
641 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
642 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
643 Defaults to `"cscope"`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
644
237
62e21302c221 Add missing doc for `g:gutentags_scopefile`
Chayoung You <yousbe@gmail.com>
parents: 232
diff changeset
645 *gutentags_scopefile*
62e21302c221 Add missing doc for `g:gutentags_scopefile`
Chayoung You <yousbe@gmail.com>
parents: 232
diff changeset
646 g:gutentags_scopefile
62e21302c221 Add missing doc for `g:gutentags_scopefile`
Chayoung You <yousbe@gmail.com>
parents: 232
diff changeset
647 Specifies the name of the scope file to create. This
62e21302c221 Add missing doc for `g:gutentags_scopefile`
Chayoung You <yousbe@gmail.com>
parents: 232
diff changeset
648 will be appended to the project's root. See
62e21302c221 Add missing doc for `g:gutentags_scopefile`
Chayoung You <yousbe@gmail.com>
parents: 232
diff changeset
649 |gutentags_project_root| for how Gutentags locates the
62e21302c221 Add missing doc for `g:gutentags_scopefile`
Chayoung You <yousbe@gmail.com>
parents: 232
diff changeset
650 project.
62e21302c221 Add missing doc for `g:gutentags_scopefile`
Chayoung You <yousbe@gmail.com>
parents: 232
diff changeset
651 Defaults to `"cscope.out"`.
62e21302c221 Add missing doc for `g:gutentags_scopefile`
Chayoung You <yousbe@gmail.com>
parents: 232
diff changeset
652
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
653 *gutentags_auto_add_cscope*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
654 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
655 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
656 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
657 (see |:cscope|).
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
658 Defaults to 1.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
659
239
ac9adbec887b Add `g:gutentags_cscope_build_inverted_index` option
Chayoung You <yousbe@gmail.com>
parents: 237
diff changeset
660 *gutentags_cscope_build_inverted_index*
ac9adbec887b Add `g:gutentags_cscope_build_inverted_index` option
Chayoung You <yousbe@gmail.com>
parents: 237
diff changeset
661 g:gutentags_cscope_build_inverted_index
ac9adbec887b Add `g:gutentags_cscope_build_inverted_index` option
Chayoung You <yousbe@gmail.com>
parents: 237
diff changeset
662 If set to 1, Gutentags will make `cscope` build an
ac9adbec887b Add `g:gutentags_cscope_build_inverted_index` option
Chayoung You <yousbe@gmail.com>
parents: 237
diff changeset
663 inverted index.
ac9adbec887b Add `g:gutentags_cscope_build_inverted_index` option
Chayoung You <yousbe@gmail.com>
parents: 237
diff changeset
664 Defaults to 0.
ac9adbec887b Add `g:gutentags_cscope_build_inverted_index` option
Chayoung You <yousbe@gmail.com>
parents: 237
diff changeset
665
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
666
269
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
667 The following settings are valid for the `pycscope` module.
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
668
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
669 *gutentags_pycscope_executable*
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
670 g:gutentags_pycscope_executable
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
671 Specifies the name or path of the `pycscope` executable
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
672 to use to generate the code database.
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
673 Defaults to `"pycscope"`.
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
674
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
675 *gutentags_auto_add_pycscope*
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
676 g:gutentags_auto_add_pycscope
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
677 If set to 1, Gutentags will automatically add the
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
678 generated code database to Vim by running `:cs add`
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
679 (see |:pycscope|).
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
680 Defaults to 1.
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
681
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
682
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
683 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
684
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
685 *gutentags_gtags_executable*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
686 g:gutentags_gtags_executable
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
687 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
688 to use to generate the code database.
232
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
689 Defaults to `"gtags"`.
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
690
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
691 *gutentags_gtags_cscope_executable*
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
692 g:gutentags_gtags_cscope_executable
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
693 Specifies the name or path of the `gtags-cscope`
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
694 executable to use to generate the code database.
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
695 Defaults to `"gtags-cscope"`.
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
696
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
697 *gutentags_gtags_dbpath*
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
698 g:gutentags_gtags_dbpath
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
699 Path from the cache directory (|gutentags_cache_dir|
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
700 or project root) to the folder containing the
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
701 definition database file (usually called `GTAGS`).
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
702 Defaults to `""`.
204
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
703
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
704 *gutentags_gtags_options_file*
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
705 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
706 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
707 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
708 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
709 Defaults to `".gutgtags"`.
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
710
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
711 *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
712 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
713 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
714 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
715 (see |:cscope|).
30ac3583c902 Re-arrange documentation of settings per module. Add missing settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 202
diff changeset
716 Defaults to 1.
210
39547ffc8867 Add mention of `gutentags_plus` for Cscope users.
Ludovic Chabant <ludovic@chabant.com>
parents: 207
diff changeset
717
269
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
718
e60f685c560d pycscope
Oliver Harley <oliver.r.harley@gmail.com>
parents: 264
diff changeset
719 People using `cscope`, `pycscope` or `gtags_cscope` across multiple projects in the same
210
39547ffc8867 Add mention of `gutentags_plus` for Cscope users.
Ludovic Chabant <ludovic@chabant.com>
parents: 207
diff changeset
720 Vim instance might be interested in the `gutentags_plus` plugin, which handles
232
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
721 switching databases automatically before performing a query.
210
39547ffc8867 Add mention of `gutentags_plus` for Cscope users.
Ludovic Chabant <ludovic@chabant.com>
parents: 207
diff changeset
722 See https://github.com/skywind3000/gutentags_plus.
232
39df368aaf2a Improve docs concerning gtags_cscope module
janEbert <jebert@techfak.uni-bielefeld.de>
parents: 229
diff changeset
723
49
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
724 =============================================================================
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
725 5. Project Settings *gutentags-project-settings*
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
726
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
727 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
728 following files present in the project root directory:
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
729
74
cb1cf815052e Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents: 69
diff changeset
730 *gutentags-.gutctags*
cb1cf815052e Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents: 69
diff changeset
731 `.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
732 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
733 documentation for more information).
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
734
74
cb1cf815052e Fix the documentation about the project settings file.
Ludovic Chabant <ludovic@chabant.com>
parents: 69
diff changeset
735 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
736 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
737 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
738 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
739 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
740 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
741 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
742
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
743 *gutentags-.notags*
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
744 `.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
745 project.
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
746
70423c2202c5 Ctags options files changes
Ludovic Chabant <ludovic@chabant.com>
parents: 47
diff changeset
747
0
a3a37124558b Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
748 vim:tw=78:et:ft=help:norl: