configparser.h - ledit - Text editor (WIP) | |
git clone git://lumidify.org/ledit.git (fast, but not encrypted) | |
git clone https://lumidify.org/ledit.git (encrypted, but very slow) | |
git clone git://4kcetb7mo7hj6grozzybxtotsub5bempzo4lirzc3437amof2c2impyd.onion/… | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
configparser.h (2328B) | |
--- | |
1 #ifndef _CONFIGPARSER_H_ | |
2 #define _CONFIGPARSER_H_ | |
3 | |
4 #include "common.h" | |
5 #include "uglycrap.h" | |
6 #include "keys_command.h" | |
7 #include "keys_basic.h" | |
8 | |
9 typedef struct { | |
10 int scrollbar_width; | |
11 int scrollbar_step; | |
12 int text_size; | |
13 int highlight_search; | |
14 int extra_line_spacing; | |
15 XftColor text_fg; | |
16 XftColor text_bg; | |
17 XftColor cursor_fg; | |
18 XftColor cursor_bg; | |
19 XftColor selection_fg; | |
20 XftColor selection_bg; | |
21 XftColor bar_fg; | |
22 XftColor bar_bg; | |
23 XftColor bar_cursor; | |
24 XftColor scrollbar_fg; | |
25 XftColor scrollbar_bg; | |
26 const char *text_font; | |
27 const char *bar_fmt; | |
28 } ledit_theme; | |
29 | |
30 typedef struct { | |
31 char *text; /* for keys that correspond with text */ | |
32 unsigned int mods; /* modifier mask */ | |
33 KeySym keysym; /* for other keys, e.g. arrow keys */ | |
34 ledit_mode modes; /* modes in which this keybinding is function… | |
35 basic_key_cb *cb; /* callback */ | |
36 } basic_key_mapping; | |
37 | |
38 typedef struct { | |
39 char *text; /* for keys that correspond with text */ | |
40 unsigned int mods; /* modifier mask */ | |
41 KeySym keysym; /* for other keys, e.g. arrow keys */ | |
42 command_mode modes; /* substitute, etc. */ | |
43 command_key_cb *cb; /* callback */ | |
44 } command_key_mapping; | |
45 | |
46 typedef struct { | |
47 char *text; /* text typed to call command */ | |
48 command_cb *cb; /* callback */ | |
49 } command_mapping; | |
50 | |
51 typedef struct { | |
52 basic_key_mapping *keys; | |
53 size_t num_keys; | |
54 size_t alloc_keys; | |
55 } basic_key_array; | |
56 | |
57 typedef struct { | |
58 command_key_mapping *keys; | |
59 size_t num_keys; | |
60 size_t alloc_keys; | |
61 } command_key_array; | |
62 | |
63 typedef struct { | |
64 command_mapping *cmds; | |
65 size_t num_cmds; | |
66 size_t alloc_cmds; | |
67 } command_array; | |
68 | |
69 /* Note: The config is initialized immediately when ledit starts, so the… | |
70 * should not return NULL (unless an invalid language index is given), b… | |
71 * it's still better to check just in case. */ | |
72 | |
73 /* Note: The returned pointers are invalidated if the config is reloaded… | |
74 | |
75 ledit_theme *config_get_theme(void); | |
76 basic_key_array *config_get_basic_keys(size_t lang_index); | |
77 command_key_array *config_get_command_keys(size_t lang_index); | |
78 command_array *config_get_commands(size_t lang_index); | |
79 int config_get_language_index(char *lang, size_t *idx_ret); | |
80 int config_loadfile(ledit_common *common, char *filename, char **errstr); | |
81 void config_cleanup(ledit_common *common); | |
82 char *config_get_language_string(size_t lang_index); | |
83 | |
84 #endif |