nikawhite pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=6ab19b2b8734875817d92f216242d28d1d4efabf
commit 6ab19b2b8734875817d92f216242d28d1d4efabf Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Apr 4 18:01:37 2016 +0900 Redoundo: enable smart analyze for a pushed region text. Manage text blocks, that used for autocomplete feature. This commit make possible to undo or redo whole block of text including user input. For example: user types "col" and choose "collections" from ctxpopup. In normal mode of undoredo module in case of undo action will be left "col" text. In smart mode whole block "collections" will be deleted. --- src/lib/redoundo.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/redoundo.c b/src/lib/redoundo.c index c8c144e..a8061ee 100644 --- a/src/lib/redoundo.c +++ b/src/lib/redoundo.c @@ -62,9 +62,9 @@ smart_analyser(redoundo_data *rd, diff_data *diff) rd->smart.timer = NULL; } - if ((!diff) || (diff->length > 1)) return diff; + if (!diff) return diff; - if (edit_auto_indent_get(rd->edit_data)) + if (diff->length == 1 && edit_auto_indent_get(rd->edit_data)) { if (strstr(diff->text, "<br/>")) diff->relative = EINA_TRUE; else diff->relative = EINA_FALSE; @@ -374,6 +374,9 @@ redoundo_text_push(redoundo_data *rd, const char *text, int pos, int length, diff->action = insert; diff->relative = EINA_FALSE; + diff = smart_analyser(rd, diff); + rd->smart.continues_input = EINA_FALSE; + untracked_diff_free(rd); rd->queue = eina_list_append(rd->queue, diff); rd->last_diff = diff; --