aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/tag.h
blob: 9f671043b3293e3e6b87da0ae678a82c80986e41 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#ifndef NVIM_TAG_H
#define NVIM_TAG_H

#include "nvim/types.h"
#include "nvim/ex_cmds_defs.h"

/*
 * Values for do_tag().
 */
#define DT_TAG          1       /* jump to newer position or same tag again */
#define DT_POP          2       /* jump to older position */
#define DT_NEXT         3       /* jump to next match of same tag */
#define DT_PREV         4       /* jump to previous match of same tag */
#define DT_FIRST        5       /* jump to first match of same tag */
#define DT_LAST         6       /* jump to first match of same tag */
#define DT_SELECT       7       /* jump to selection from list */
#define DT_HELP         8       /* like DT_TAG, but no wildcards */
#define DT_JUMP         9       /* jump to new tag or selection from list */
#define DT_CSCOPE       10      /* cscope find command (like tjump) */
#define DT_LTAG         11      /* tag using location list */
#define DT_FREE         99      /* free cached matches */

//
// flags for find_tags().
//
#define TAG_HELP        1       // only search for help tags
#define TAG_NAMES       2       // only return name of tag
#define TAG_REGEXP      4       // use tag pattern as regexp
#define TAG_NOIC        8       // don't always ignore case
#define TAG_CSCOPE      16      // cscope tag
#define TAG_VERBOSE     32      // message verbosity
#define TAG_INS_COMP    64      // Currently doing insert completion
#define TAG_KEEP_LANG   128     // keep current language
#define TAG_NO_TAGFUNC  256     // do not use 'tagfunc'

#define TAG_MANY        300     // When finding many tags (for completion),
                                // find up to this many tags

/*
 * Structure used for get_tagfname().
 */
typedef struct {
  char_u      *tn_tags;         /* value of 'tags' when starting */
  char_u      *tn_np;           /* current position in tn_tags */
  int tn_did_filefind_init;
  int tn_hf_idx;
  void        *tn_search_ctx;
} tagname_T;


#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "tag.h.generated.h"
#endif
#endif  // NVIM_TAG_H