Home Explore Blog CI



neovim

97th chunk of `runtime/doc/options.txt`
a8a10131840392ead00eede33200e392edef5b4ebddf614b0000000100000fa3
 comment/
<	[The whitespace before and after the '0' must be a single <Tab>]

	When a binary search was done and no match was found in any of the
	files listed in 'tags', and case is ignored or a pattern is used
	instead of a normal tag name, a retry is done with a linear search.
	Tags in unsorted tags files, and matches with different case will only
	be found in the retry.

	If a tag file indicates that it is case-fold sorted, the second,
	linear search can be avoided when case is ignored.  Use a value of '2'
	in the "!_TAG_FILE_SORTED" line for this.  A tag file can be case-fold
	sorted with the -f switch to "sort" in most unices, as in the command:
	"sort -f -o tags tags".  For Universal ctags and Exuberant ctags
	version 5.x or higher (at least 5.5) the --sort=foldcase switch can be
	used for this as well.  Note that case must be folded to uppercase for
	this to work.

	By default, tag searches are case-sensitive.  Case is ignored when
	'ignorecase' is set and 'tagcase' is "followic", or when 'tagcase' is
	"ignore".
	Also when 'tagcase' is "followscs" and 'smartcase' is set, or
	'tagcase' is "smart", and the pattern contains only lowercase
	characters.

	When 'tagbsearch' is off, tags searching is slower when a full match
	exists, but faster when no full match exists.  Tags in unsorted tags
	files may only be found with 'tagbsearch' off.
	When the tags file is not sorted, or sorted in a wrong way (not on
	ASCII byte value), 'tagbsearch' should be off, or the line given above
	must be included in the tags file.
	This option doesn't affect commands that find all matching tags (e.g.,
	command-line completion and ":help").

						*'tagcase'* *'tc'*
'tagcase' 'tc'		string	(default "followic")
			global or local to buffer |global-local|
	This option specifies how case is handled when searching the tags
	file:
	   followic	Follow the 'ignorecase' option
	   followscs    Follow the 'smartcase' and 'ignorecase' options
	   ignore	Ignore case
	   match	Match case
	   smart	Ignore case unless an upper case letter is used

						*'tagfunc'* *'tfu'*
'tagfunc' 'tfu'		string	(default "")
			local to buffer
	This option specifies a function to be used to perform tag searches
	(including |taglist()|).
	The function gets the tag pattern and should return a List of matching
	tags.  See |tag-function| for an explanation of how to write the
	function and an example.  The value can be the name of a function, a
	|lambda| or a |Funcref|. See |option-value-function| for more
	information.
	This option cannot be set from a |modeline| or in the |sandbox|, for
	security reasons.

						*'taglength'* *'tl'*
'taglength' 'tl'	number	(default 0)
			global
	If non-zero, tags are significant up to this number of characters.

			*'tagrelative'* *'tr'* *'notagrelative'* *'notr'*
'tagrelative' 'tr'	boolean	(default on)
			global
	If on and using a tags file in another directory, file names in that
	tags file are relative to the directory where the tags file is.

						*'tags'* *'tag'* *E433*
'tags' 'tag'		string	(default "./tags;,tags")
			global or local to buffer |global-local|
	Filenames for the tag command, separated by spaces or commas.  To
	include a space or comma in a file name, precede it with backslashes
	(see |option-backslash| about including spaces/commas and backslashes).
	When a file name starts with "./", the '.' is replaced with the path
	of the current file.  But only when the 'd' flag is not included in
	'cpoptions'.  Environment variables are expanded |:set_env|.  Also see
	|tags-option|.
	"*", "**" and other wildcards can be used to search for tags files in
	a directory tree.  See |file-searching|.  E.g., "/lib/**/tags" will
	find all files named "tags" below "/lib".  The filename itself cannot
	contain wildcards, it is used as-is.  E.g., "/lib/**/tags?" will find
	files called "tags?".
	The |tagfiles()| function can be used to get a list of the file names
	actually used.
	The use of |:set+=| and |:set-=| is preferred when adding or removing

Title: Vim Options: 'tagcase', 'tagfunc', 'taglength', 'tagrelative', and 'tags' (continued)
Summary
This section continues the discussion of 'tagbsearch', detailing how case sensitivity is handled during tag searches and how to optimize searching in unsorted tags files. It then covers 'tagcase', which specifies how case is handled when searching tags files; 'tagfunc', which allows specifying a function for custom tag searches; 'taglength', which limits the significance of tags to a certain number of characters; 'tagrelative', which determines if file names in tags files are relative to the tags file directory; and 'tags', which lists the tag files to be used for tag commands, including support for wildcards.