Files
neovim/src/nvim/tag.h

50 lines
1.8 KiB
C

#pragma once
#include "nvim/eval/typval_defs.h" // IWYU pragma: keep
#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
#include "nvim/option_defs.h" // IWYU pragma: keep
#include "nvim/types_defs.h" // IWYU pragma: keep
enum { LSIZE = 512, }; ///< max. size of a line in the tags file
/// Values for do_tag().
enum {
DT_TAG = 1, ///< jump to newer position or same tag again
DT_POP = 2, ///< jump to older position
DT_NEXT = 3, ///< jump to next match of same tag
DT_PREV = 4, ///< jump to previous match of same tag
DT_FIRST = 5, ///< jump to first match of same tag
DT_LAST = 6, ///< jump to first match of same tag
DT_SELECT = 7, ///< jump to selection from list
DT_HELP = 8, ///< like DT_TAG, but no wildcards
DT_JUMP = 9, ///< jump to new tag or selection from list
DT_LTAG = 11, ///< tag using location list
DT_FREE = 99, ///< free cached matches
};
/// flags for find_tags().
enum {
TAG_HELP = 1, ///< only search for help tags
TAG_NAMES = 2, ///< only return name of tag
TAG_REGEXP = 4, ///< use tag pattern as regexp
TAG_NOIC = 8, ///< don't always ignore case
TAG_VERBOSE = 32, ///< message verbosity
TAG_INS_COMP = 64, ///< Currently doing insert completion
TAG_KEEP_LANG = 128, ///< keep current language
TAG_NO_TAGFUNC = 256, ///< do not use 'tagfunc'
TAG_MANY = 300, ///< When finding many tags (for completion), find up to this many tags
};
/// Structure used for get_tagfname().
typedef struct {
char *tn_tags; ///< value of 'tags' when starting
char *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