// IWYU pragma: private, include "nvim/fuzzy.h"
#define DEFINE_FUNC_ATTRIBUTES
#include "nvim/func_attr.h"
#undef DEFINE_FUNC_ATTRIBUTES
#ifndef DLLEXPORT
#  ifdef MSWIN
#    define DLLEXPORT __declspec(dllexport)
#  else
#    define DLLEXPORT
#  endif
#endif
DLLEXPORT bool fuzzy_match(char *const str, const char *const pat_arg, const bool matchseq, int *const outScore, uint32_t *const matches, const int maxMatches) FUNC_ATTR_NONNULL_ALL;
DLLEXPORT void f_matchfuzzy(typval_T *argvars, typval_T *rettv, EvalFuncData fptr);
DLLEXPORT void f_matchfuzzypos(typval_T *argvars, typval_T *rettv, EvalFuncData fptr);
DLLEXPORT int fuzzy_match_str(char *const str, const char *const pat) FUNC_ATTR_WARN_UNUSED_RESULT;
DLLEXPORT garray_T *fuzzy_match_str_with_pos(char *const str, const char *const pat);
DLLEXPORT bool fuzzy_match_str_in_line(char **ptr, char *pat, int *len, pos_T *current_pos, int *score);
DLLEXPORT bool search_for_fuzzy_match(buf_T *buf, pos_T *pos, char *pattern, int dir, pos_T *start_pos, int *len, char **ptr, int *score);
DLLEXPORT void fuzmatch_str_free(fuzmatch_str_T *const fuzmatch, int count);
DLLEXPORT void fuzzymatches_to_strmatches(fuzmatch_str_T *const fuzmatch, char ***const matches, const int count, const bool funcsort) FUNC_ATTR_NONNULL_ARG(2);
#include "nvim/func_attr.h"
