summaryrefslogtreecommitdiff
path: root/src/dged/binding.h
diff options
context:
space:
mode:
authorAlbert Cervin <albert@acervin.com>2024-05-22 00:00:29 +0200
committerAlbert Cervin <albert@acervin.com>2024-09-12 20:17:56 +0200
commit405da5f84b072ea97b69359454899f45d92d24b6 (patch)
tree20525b4bc44a5d8cbab4d62abe8413e174731db6 /src/dged/binding.h
parent4ab7e453e26afc6e9f4938c65f89463fbba9e267 (diff)
downloaddged-405da5f84b072ea97b69359454899f45d92d24b6.tar.gz
dged-405da5f84b072ea97b69359454899f45d92d24b6.tar.xz
dged-405da5f84b072ea97b69359454899f45d92d24b6.zip
WIP LSP client
This contains the start of an LSP client. Nothing (except starting the LSP server) works at the moment and the feature is disabled by default.
Diffstat (limited to 'src/dged/binding.h')
-rw-r--r--src/dged/binding.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/dged/binding.h b/src/dged/binding.h
index 79f8c47..93de02d 100644
--- a/src/dged/binding.h
+++ b/src/dged/binding.h
@@ -37,19 +37,19 @@ enum binding_type {
#define BINDING_INNER(mod_, c_, command_) \
(struct binding) { \
.key = {.mod = mod_, .key = c_}, .type = BindingType_Command, \
- .command = hash_name(command_) \
+ .data.command = hash_name(command_) \
}
#define ANONYMOUS_BINDING_INNER(mod_, c_, command_) \
(struct binding) { \
.key = {.mod = mod_, .key = c_}, .type = BindingType_DirectCommand, \
- .direct_command = command_ \
+ .data.direct_command = command_ \
}
#define PREFIX_INNER(mod_, c_, keymap_) \
(struct binding) { \
.key = {.mod = mod_, .key = c_}, .type = BindingType_Keymap, \
- .keymap = keymap_ \
+ .data.keymap = keymap_ \
}
/**
@@ -89,14 +89,14 @@ struct binding {
/** Type of this binding, see @ref binding_type */
uint8_t type;
- union {
+ union binding_data {
/** A hash of a command name */
uint32_t command;
/** A command */
struct command *direct_command;
/** A keymap */
struct keymap *keymap;
- };
+ } data;
};
/**
@@ -109,12 +109,12 @@ struct lookup_result {
/** Type of binding in the result */
uint8_t type;
- union {
+ union lookup_data {
/** A command */
struct command *command;
/** A keymap */
struct keymap *keymap;
- };
+ } data;
};
struct commands;