summaryrefslogtreecommitdiffstatshomepage
path: root/src/nvim/fuzzy.h
blob: 32aea1392700aa05d1b9654b373c8f6ef90530e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once

#include <limits.h>
#include <stdint.h>  // IWYU pragma: keep

#include "nvim/buffer_defs.h"  // IWYU pragma: keep
#include "nvim/eval/typval_defs.h"  // IWYU pragma: keep
#include "nvim/garray_defs.h"  // IWYU pragma: keep
#include "nvim/pos_defs.h"  // IWYU pragma: keep
#include "nvim/types_defs.h"  // IWYU pragma: keep

enum { FUZZY_MATCH_MAX_LEN = 1024, };  ///< max characters that can be matched
enum { FUZZY_SCORE_NONE = INT_MIN, };  ///< invalid fuzzy score

/// Fuzzy matched string list item. Used for fuzzy match completion. Items are
/// usually sorted by "score". The "idx" member is used for stable-sort.
typedef struct {
  int idx;
  char *str;
  int score;
} fuzmatch_str_T;

#include "fuzzy.h.generated.h"