summaryrefslogtreecommitdiff
path: root/examples/dte/msg.h
blob: b23fa258022bbcb2db60114362255e06a84924b6 (plain)
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
#ifndef MSG_H
#define MSG_H

#include <stdbool.h>
#include <stddef.h>
#include "bookmark.h"
#include "util/macros.h"
#include "util/ptr-array.h"
#include "util/string.h"

typedef struct {
    FileLocation *loc;
    char msg[];
} Message;

typedef struct {
    PointerArray array;
    size_t pos;
} MessageArray;

struct EditorState;

Message *new_message(const char *msg, size_t len) RETURNS_NONNULL;
void add_message(MessageArray *msgs, Message *m) NONNULL_ARGS;
bool activate_current_message(struct EditorState *e) NONNULL_ARGS;
bool activate_current_message_save(struct EditorState *e) NONNULL_ARGS;
void clear_messages(MessageArray *msgs) NONNULL_ARGS;
String dump_messages(const MessageArray *messages) NONNULL_ARGS;

#endif