Mercurial > vim
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 |