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 */
41typedef 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