summaryrefslogtreecommitdiff
path: root/choices.h
blob: d11fbac2fb681bf392573aa7194bff847a0858c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
typedef struct {
	size_t capacity;
	size_t size;

	const char **strings;
	double *scores;

	size_t *sorted;
	size_t available;
	size_t selection;
} choices_t;

void choices_init(choices_t *c);
void choices_free(choices_t *c);
void choices_add(choices_t *c, const char *choice);
size_t choices_available(choices_t *c);
void choices_search(choices_t *c, const char *search);
const char *choices_get(choices_t *c, size_t n);
double choices_getscore(choices_t *c, size_t n);
void choices_prev(choices_t *c);
void choices_next(choices_t *c);