Very old versions for history.
[opsoft_archive.git] / silentbob / silent_bob-1.2 / src / mod.h
blobb0570b418bb36fc4b32f55328f4b49ecd3a0736e
1 /*
2 * (c) Oleg Puchinin 2006
3 * graycardinalster@gmail.com
5 */
7 #ifndef DEFINE_MOD_H
8 #define DEFINE_MOD_H
10 enum plug_type_t {
11 TYPE_LANGUAGE = 0,
12 TYPE_OUTPUT,
13 TYPE_INPUT,
14 TYPE_GUI,
15 TYPE_INDENT,
16 TYPE_FEATURE
19 struct mod_t {
20 int Type;
21 char * Version;
22 char * Name;
23 char Enabled;
24 char * mod_file;
25 void (*info) ();
28 struct mod_feature {
29 struct mod_t mod;
30 char (*opt) (DArray * d_opts, int * pos);
31 char (*opt2) (DArray * d_opts, int * pos);
35 enum {
36 MASK_REPEAT = (1<<0),
39 struct mod_input {
40 struct mod_t mod;
41 EArray *(*find_files) (void);
42 char *(*buf) (int *);
43 int fdi; // "-1" - unset
44 int mask;
47 struct mod_output {
48 struct mod_t mod;
49 int mask;
50 int fdo;
53 struct mod_gui {
54 struct mod_t mod;
55 int fdi; // To SilentBob
56 int fdo; // From SilentBob
57 }; */
59 /* Language plugin. */
60 struct mod_language {
61 struct mod_t mod;
62 char *language;
63 char *(*the) (struct tt_state_t *d_tt_state); // --the-tt
64 int (*make_ctags) (char *f_name, FILE *ofile); // SilentBob --make-ctags code body.
65 int (*call_tags) (char *f_name); // SilentBob --call-tags code body.
66 int (*print_tags) (char * f_name); // tags <tag>
67 void (*file) (DArray * d_files); // sb <files> --file
71 struct sb_engine {
72 struct env_t *(*get_env) (void);
74 };*/
76 int modding_init ();
77 int modding_start (int i_cmd);
78 int modding_load_plugin (char * name, char * path);
79 #endif