1 | #ifndef NVIM_TAG_H |
2 | #define NVIM_TAG_H |
3 | |
4 | #include "nvim/types.h" |
5 | #include "nvim/ex_cmds_defs.h" |
6 | |
7 | /* |
8 | * Values for do_tag(). |
9 | */ |
10 | #define DT_TAG 1 /* jump to newer position or same tag again */ |
11 | #define DT_POP 2 /* jump to older position */ |
12 | #define DT_NEXT 3 /* jump to next match of same tag */ |
13 | #define DT_PREV 4 /* jump to previous match of same tag */ |
14 | #define DT_FIRST 5 /* jump to first match of same tag */ |
15 | #define DT_LAST 6 /* jump to first match of same tag */ |
16 | #define DT_SELECT 7 /* jump to selection from list */ |
17 | #define DT_HELP 8 /* like DT_TAG, but no wildcards */ |
18 | #define DT_JUMP 9 /* jump to new tag or selection from list */ |
19 | #define DT_CSCOPE 10 /* cscope find command (like tjump) */ |
20 | #define DT_LTAG 11 /* tag using location list */ |
21 | #define DT_FREE 99 /* free cached matches */ |
22 | |
23 | /* |
24 | * flags for find_tags(). |
25 | */ |
26 | #define TAG_HELP 1 /* only search for help tags */ |
27 | #define TAG_NAMES 2 /* only return name of tag */ |
28 | #define TAG_REGEXP 4 /* use tag pattern as regexp */ |
29 | #define TAG_NOIC 8 /* don't always ignore case */ |
30 | #define TAG_CSCOPE 16 /* cscope tag */ |
31 | #define TAG_VERBOSE 32 /* message verbosity */ |
32 | #define TAG_INS_COMP 64 /* Currently doing insert completion */ |
33 | #define TAG_KEEP_LANG 128 /* keep current language */ |
34 | |
35 | #define TAG_MANY 300 /* When finding many tags (for completion), |
36 | find up to this many tags */ |
37 | |
38 | /* |
39 | * Structure used for get_tagfname(). |
40 | */ |
41 | typedef struct { |
42 | char_u *tn_tags; /* value of 'tags' when starting */ |
43 | char_u *tn_np; /* current position in tn_tags */ |
44 | int tn_did_filefind_init; |
45 | int tn_hf_idx; |
46 | void *tn_search_ctx; |
47 | } tagname_T; |
48 | |
49 | |
50 | #ifdef INCLUDE_GENERATED_DECLARATIONS |
51 | # include "tag.h.generated.h" |
52 | #endif |
53 | #endif // NVIM_TAG_H |
54 | |