comparison runtime/doc/tagsrch.txt @ 16176:4d7ee5609652 v8.1.1093

patch 8.1.1093: support for outdated tags format slows down tag parsing commit https://github.com/vim/vim/commit/96428dd4e961332e97d86013a321cedf5fafbed6 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 30 21:19:34 2019 +0100 patch 8.1.1093: support for outdated tags format slows down tag parsing Problem: Support for outdated tags format slows down tag parsing. Solution: Remove FEAT_TAG_OLDSTATIC.
author Bram Moolenaar <Bram@vim.org>
date Sat, 30 Mar 2019 21:30:04 +0100
parents bd7461db24b3
children 54ffc82f38a8
comparison
equal deleted inserted replaced
16175:3994c90ff9b3 16176:4d7ee5609652
1 *tagsrch.txt* For Vim version 8.1. Last change: 2019 Mar 23 1 *tagsrch.txt* For Vim version 8.1. Last change: 2019 Mar 30
2 2
3 3
4 VIM REFERENCE MANUAL by Bram Moolenaar 4 VIM REFERENCE MANUAL by Bram Moolenaar
5 5
6 6
527 http://www.eleves.ens.fr:8080/home/nthiery/Tags/. 527 http://www.eleves.ens.fr:8080/home/nthiery/Tags/.
528 gnatxref For Ada. See http://www.gnuada.org/. gnatxref is 528 gnatxref For Ada. See http://www.gnuada.org/. gnatxref is
529 part of the gnat package. 529 part of the gnat package.
530 530
531 531
532 The lines in the tags file must have one of these three formats: 532 The lines in the tags file must have one of these two formats:
533 533
534 1. {tagname} {TAB} {tagfile} {TAB} {tagaddress} 534 1. {tagname} {TAB} {tagfile} {TAB} {tagaddress}
535 2. {tagfile}:{tagname} {TAB} {tagfile} {TAB} {tagaddress} 535 2. {tagname} {TAB} {tagfile} {TAB} {tagaddress} {term} {field} ..
536 3. {tagname} {TAB} {tagfile} {TAB} {tagaddress} {term} {field} .. 536
537 537 Previously an old format was supported, see |tag-old-static|.
538 The first is a normal tag, which is completely compatible with Vi. It is the 538
539 only format produced by traditional ctags implementations. This is often used 539 The first format is a normal tag, which is completely compatible with Vi. It
540 for functions that are global, also referenced in other files. 540 is the only format produced by traditional ctags implementations. This is
541 often used for functions that are global, also referenced in other files.
541 542
542 The lines in the tags file can end in <LF> or <CR><LF>. On the Macintosh <CR> 543 The lines in the tags file can end in <LF> or <CR><LF>. On the Macintosh <CR>
543 also works. The <CR> and <NL> characters can never appear inside a line. 544 also works. The <CR> and <NL> characters can never appear inside a line.
544 545
545 *tag-old-static* 546 The second format is new. It includes additional information in optional
546 The second format is for a static tag only. It is obsolete now, replaced by
547 the third format. It is only supported by Elvis 1.x and Vim and a few
548 versions of ctags. A static tag is often used for functions that are local,
549 only referenced in the file {tagfile}. Note that for the static tag, the two
550 occurrences of {tagfile} must be exactly the same. Also see |tags-option|
551 below, for how static tags are used.
552
553 The third format is new. It includes additional information in optional
554 fields at the end of each line. It is backwards compatible with Vi. It is 547 fields at the end of each line. It is backwards compatible with Vi. It is
555 only supported by new versions of ctags (such as Exuberant ctags). 548 only supported by new versions of ctags (such as Exuberant ctags).
556 549
557 {tagname} The identifier. Normally the name of a function, but it can 550 {tagname} The identifier. Normally the name of a function, but it can
558 be any identifier. It cannot contain a <Tab>. 551 be any identifier. It cannot contain a <Tab>.
596 See the documentation of ctags for the kinds it produces. 589 See the documentation of ctags for the kinds it produces.
597 590
598 The only other field currently recognized by Vim is "file:" 591 The only other field currently recognized by Vim is "file:"
599 (with an empty value). It is used for a static tag. 592 (with an empty value). It is used for a static tag.
600 593
594
601 The first lines in the tags file can contain lines that start with 595 The first lines in the tags file can contain lines that start with
602 !_TAG_ 596 !_TAG_
603 These are sorted to the first lines, only rare tags that start with "!" can 597 These are sorted to the first lines, only rare tags that start with "!" can
604 sort to before them. Vim recognizes two items. The first one is the line 598 sort to before them. Vim recognizes two items. The first one is the line
605 that indicates if the file was sorted. When this line is found, Vim uses 599 that indicates if the file was sorted. When this line is found, Vim uses
648 made. If this search also fails another search is done with: 642 made. If this search also fails another search is done with:
649 "^[#a-zA-Z_].*\<tagname[ \t]*(" 643 "^[#a-zA-Z_].*\<tagname[ \t]*("
650 This means: A line starting with '#' or an identifier and containing the tag 644 This means: A line starting with '#' or an identifier and containing the tag
651 followed by white space and a '('. This will find macro names and function 645 followed by white space and a '('. This will find macro names and function
652 names with a type prepended. {the extra searches are not in Vi} 646 names with a type prepended. {the extra searches are not in Vi}
647
648
649 *tag-old-static*
650 Until March 2019 (patch 8.1.1092) an outdated format was supported:
651 {tagfile}:{tagname} {TAB} {tagfile} {TAB} {tagaddress}
652
653 This format is for a static tag only. It is obsolete now, replaced by
654 the second format. It is only supported by Elvis 1.x, older Vim versions and
655 a few versions of ctags. A static tag is often used for functions that are
656 local, only referenced in the file {tagfile}. Note that for the static tag,
657 the two occurrences of {tagfile} must be exactly the same. Also see
658 |tags-option| below, for how static tags are used.
659
660 The support was removed, since when you can update to the new Vim version you
661 should also be able to update ctags to one that supports the second format.
653 662
654 ============================================================================== 663 ==============================================================================
655 6. Include file searches *include-search* *definition-search* 664 6. Include file searches *include-search* *definition-search*
656 *E387* *E388* *E389* 665 *E387* *E388* *E389*
657 666