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