From 685abd7054c0e605e8cd8cc54474bd1b14177957 Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Sat, 21 Feb 2015 17:30:17 +0000 Subject: [PATCH] syntax: Update clang to output elm_code tokens Addition of a refresh line command to say we're done. We no longer need an active window for highlighting as it's so much faster! --- legacy/elm_code/src/lib/elm_code_common.h | 13 ++++++++ legacy/elm_code/src/lib/elm_code_widget.c | 35 +++++++++++++++++++++- legacy/elm_code/src/lib/elm_code_widget.eo | 5 ++++ 3 files changed, 52 insertions(+), 1 deletion(-) diff --git a/legacy/elm_code/src/lib/elm_code_common.h b/legacy/elm_code/src/lib/elm_code_common.h index 35c86512ba..40efdaeded 100644 --- a/legacy/elm_code/src/lib/elm_code_common.h +++ b/legacy/elm_code/src/lib/elm_code_common.h @@ -13,7 +13,11 @@ EAPI extern const Eo_Event_Description ELM_CODE_EVENT_FILE_LOAD_DONE; typedef enum { ELM_CODE_STATUS_TYPE_DEFAULT = 0, + ELM_CODE_STATUS_TYPE_IGNORED, + ELM_CODE_STATUS_TYPE_NOTE, + ELM_CODE_STATUS_TYPE_WARNING, ELM_CODE_STATUS_TYPE_ERROR, + ELM_CODE_STATUS_TYPE_FATAL, ELM_CODE_STATUS_TYPE_ADDED, ELM_CODE_STATUS_TYPE_REMOVED, @@ -29,6 +33,15 @@ typedef enum { typedef enum { ELM_CODE_TOKEN_TYPE_DEFAULT = ELM_CODE_STATUS_TYPE_COUNT, ELM_CODE_TOKEN_TYPE_COMMENT, + ELM_CODE_TOKEN_TYPE_STRING, + ELM_CODE_TOKEN_TYPE_NUMBER, + ELM_CODE_TOKEN_TYPE_BRACE, + ELM_CODE_TOKEN_TYPE_TYPE, + ELM_CODE_TOKEN_TYPE_CLASS, + ELM_CODE_TOKEN_TYPE_FUNCTION, + ELM_CODE_TOKEN_TYPE_PARAM, + ELM_CODE_TOKEN_TYPE_KEYWORD, + ELM_CODE_TOKEN_TYPE_PREPROCESSOR, ELM_CODE_TOKEN_TYPE_ADDED, ELM_CODE_TOKEN_TYPE_REMOVED, diff --git a/legacy/elm_code/src/lib/elm_code_widget.c b/legacy/elm_code/src/lib/elm_code_widget.c index 3240e397ab..fd4b09a58b 100644 --- a/legacy/elm_code/src/lib/elm_code_widget.c +++ b/legacy/elm_code/src/lib/elm_code_widget.c @@ -570,6 +570,12 @@ _elm_code_widget_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, return EINA_TRUE; } +EOAPI void +_elm_code_widget_line_refresh(Eo *obj, Elm_Code_Widget_Data *pd EINA_UNUSED, Elm_Code_Line *line) +{ + _elm_code_widget_fill_line(obj, line); +} + EOLIAN static void _elm_code_widget_font_size_set(Eo *obj EINA_UNUSED, Elm_Code_Widget_Data *pd, Evas_Font_Size font_size) { @@ -655,8 +661,16 @@ _elm_code_widget_setup_palette(Evas_Object *o) // setup status colors evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_STATUS_TYPE_DEFAULT, 36, 36, 36, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_STATUS_TYPE_IGNORED, + 36, 36, 36, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_STATUS_TYPE_NOTE, + 255, 153, 0, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_STATUS_TYPE_WARNING, + 255, 153, 0, 255); evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_STATUS_TYPE_ERROR, 205, 54, 54, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_STATUS_TYPE_FATAL, + 205, 54, 54, 255); evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_STATUS_TYPE_ADDED, 36, 96, 36, 255); @@ -674,7 +688,26 @@ _elm_code_widget_setup_palette(Evas_Object *o) evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_DEFAULT, 205, 205, 205, 255); evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_COMMENT, - 54, 205, 255, 255); + 51, 153, 255, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_STRING, + 255, 90, 53, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_NUMBER, + 212, 212, 42, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_BRACE, + 101, 101, 101, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_TYPE, + 51, 153, 255, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_CLASS, + 114, 170, 212, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_FUNCTION, + 114, 170, 212, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_PARAM, + 255, 255, 255, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_KEYWORD, + 255, 153, 0, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_PREPROCESSOR, + 0, 176, 0, 255); + evas_object_textgrid_palette_set(o, EVAS_TEXTGRID_PALETTE_STANDARD, ELM_CODE_TOKEN_TYPE_ADDED, 54, 255, 54, 255); diff --git a/legacy/elm_code/src/lib/elm_code_widget.eo b/legacy/elm_code/src/lib/elm_code_widget.eo index 8525f5e896..0608e81e41 100644 --- a/legacy/elm_code/src/lib/elm_code_widget.eo +++ b/legacy/elm_code/src/lib/elm_code_widget.eo @@ -123,6 +123,11 @@ class Elm_Code_Widget (Elm_Layout, Elm_Interface_Atspi_Text) } } methods { + line_refresh { + params { + Elm_Code_Line *line; /*@ @in The line to refresh. */ + } + } } implements { class.constructor;