forked from enlightenment/edi
Update the syntax highlighting to work after text set - thanks a lot to herdsman for the initial patch
This commit is contained in:
parent
f7336e9276
commit
863a4a47a2
|
@ -496,9 +496,12 @@ _clang_load_errors(const char *path EINA_UNUSED, Edi_Editor *editor)
|
|||
}
|
||||
|
||||
static void
|
||||
_edi_clang_setup(const char *path, Edi_Editor *editor)
|
||||
_edi_clang_setup(Edi_Editor *editor)
|
||||
{
|
||||
Evas_Object *textblock;
|
||||
const char *path;
|
||||
|
||||
elm_entry_file_get(editor->entry, &path, NULL);
|
||||
|
||||
/* Clang */
|
||||
/* FIXME: index should probably be global. */
|
||||
|
@ -527,6 +530,17 @@ _edi_clang_dispose(Edi_Editor *editor)
|
|||
*/
|
||||
#endif
|
||||
|
||||
static void
|
||||
_text_set_done(void *data, Evas_Object *obj EINA_UNUSED, void *source EINA_UNUSED)
|
||||
{
|
||||
Edi_Editor *editor = (Edi_Editor *) data;
|
||||
|
||||
#if HAVE_LIBCLANG
|
||||
_edi_clang_setup(editor);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
EAPI Evas_Object *edi_editor_add(Evas_Object *parent, Edi_Mainview_Item *item)
|
||||
{
|
||||
Evas_Object *txt, *lines, *vbox, *box, *searchbar, *statusbar;
|
||||
|
@ -575,12 +589,6 @@ EAPI Evas_Object *edi_editor_add(Evas_Object *parent, Edi_Mainview_Item *item)
|
|||
elm_entry_scrollable_set(txt, EINA_TRUE);
|
||||
elm_entry_line_wrap_set(txt, EINA_FALSE);
|
||||
elm_entry_text_style_user_push(txt, EDITOR_FONT);
|
||||
elm_entry_file_set(txt, item->path, ELM_TEXT_FORMAT_PLAIN_UTF8);
|
||||
elm_entry_autosave_set(txt, EDI_CONTENT_AUTOSAVE);
|
||||
evas_object_size_hint_weight_set(txt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(txt, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_show(txt);
|
||||
elm_box_pack_end(box, txt);
|
||||
|
||||
editor = calloc(1, sizeof(*editor));
|
||||
editor->entry = txt;
|
||||
|
@ -590,6 +598,16 @@ EAPI Evas_Object *edi_editor_add(Evas_Object *parent, Edi_Mainview_Item *item)
|
|||
evas_object_smart_callback_add(txt, "changed,user", _changed_cb, editor);
|
||||
evas_object_smart_callback_add(txt, "scroll", _scroll_cb, editor);
|
||||
evas_object_smart_callback_add(txt, "undo,request", _undo_cb, editor);
|
||||
evas_object_smart_callback_add(txt, "text,set,done", _text_set_done, editor);
|
||||
|
||||
elm_entry_file_set(txt, item->path, ELM_TEXT_FORMAT_PLAIN_UTF8);
|
||||
|
||||
elm_entry_autosave_set(txt, EDI_CONTENT_AUTOSAVE);
|
||||
evas_object_size_hint_weight_set(txt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(txt, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_show(txt);
|
||||
elm_box_pack_end(box, txt);
|
||||
|
||||
|
||||
edi_editor_search_add(searchbar, editor);
|
||||
_edi_editor_statusbar_add(statusbar, editor, item);
|
||||
|
@ -608,9 +626,5 @@ EAPI Evas_Object *edi_editor_add(Evas_Object *parent, Edi_Mainview_Item *item)
|
|||
evas_object_data_set(vbox, "editor", editor);
|
||||
_update_lines(editor);
|
||||
|
||||
#if HAVE_LIBCLANG
|
||||
_edi_clang_setup(item->path, editor);
|
||||
#endif
|
||||
|
||||
return vbox;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue