1 #ifndef ELM_CODE_COMMON_H_
2 # define ELM_CODE_COMMON_H_
3 
4 typedef struct _Elm_Code Elm_Code;
5 typedef struct _Elm_Code_File Elm_Code_File;
6 
7 /** Event marking that a single line has loaded or changed */
8 EAPI extern const Efl_Event_Description ELM_CODE_EVENT_LINE_LOAD_DONE;
9 /** Event that marks a file load has been completed */
10 EAPI extern const Efl_Event_Description ELM_CODE_EVENT_FILE_LOAD_DONE;
11 
12 typedef enum {
13    ELM_CODE_STATUS_TYPE_DEFAULT = 0,
14    ELM_CODE_STATUS_TYPE_CURRENT,
15    ELM_CODE_STATUS_TYPE_IGNORED,
16    ELM_CODE_STATUS_TYPE_NOTE,
17    ELM_CODE_STATUS_TYPE_WARNING,
18    ELM_CODE_STATUS_TYPE_ERROR,
19    ELM_CODE_STATUS_TYPE_FATAL,
20 
21    ELM_CODE_STATUS_TYPE_ADDED,
22    ELM_CODE_STATUS_TYPE_REMOVED,
23    ELM_CODE_STATUS_TYPE_CHANGED,
24 
25    ELM_CODE_STATUS_TYPE_PASSED,
26    ELM_CODE_STATUS_TYPE_FAILED,
27 
28    ELM_CODE_STATUS_TYPE_TODO,
29 
30    ELM_CODE_STATUS_TYPE_COUNT
31 } Elm_Code_Status_Type;
32 
33 
34 typedef enum {
35    ELM_CODE_TOKEN_TYPE_DEFAULT = ELM_CODE_STATUS_TYPE_COUNT,
36    ELM_CODE_TOKEN_TYPE_COMMENT,
37    ELM_CODE_TOKEN_TYPE_STRING,
38    ELM_CODE_TOKEN_TYPE_NUMBER,
39    ELM_CODE_TOKEN_TYPE_BRACE,
40    ELM_CODE_TOKEN_TYPE_TYPE,
41    ELM_CODE_TOKEN_TYPE_CLASS,
42    ELM_CODE_TOKEN_TYPE_FUNCTION,
43    ELM_CODE_TOKEN_TYPE_PARAM,
44    ELM_CODE_TOKEN_TYPE_KEYWORD,
45    ELM_CODE_TOKEN_TYPE_PREPROCESSOR,
46 
47    ELM_CODE_TOKEN_TYPE_ADDED,
48    ELM_CODE_TOKEN_TYPE_REMOVED,
49    ELM_CODE_TOKEN_TYPE_CHANGED,
50 
51    ELM_CODE_TOKEN_TYPE_MATCH,
52 
53    ELM_CODE_TOKEN_TYPE_COUNT
54 } Elm_Code_Token_Type;
55 
56 #ifdef __cplusplus
57 extern "C" {
58 #endif
59 
60 
61 
62 /**
63  * @file
64  * @brief Common data structures and constants.
65  */
66 
67 struct _Elm_Code_Config
68 {
69    Eina_Bool trim_whitespace;
70    Eina_Bool indent_style_efl;
71 };
72 
73 struct _Elm_Code
74 {
75    Elm_Code_File *file;
76    Eina_List *widgets;
77    Eina_List *parsers;
78 
79    struct _Elm_Code_Config config;
80 };
81 
82 /**
83  * @}
84  */
85 
86 #ifdef __cplusplus
87 }
88 #endif
89 
90 #endif /* ELM_CODE_COMMON_H_ */
91