]> git.neil.brown.name Git - edlib.git/commitdiff
Move final doc default actions from 'view' to 'doc'.
authorNeilBrown <neil@brown.name>
Thu, 26 Nov 2015 03:58:06 +0000 (14:58 +1100)
committerNeilBrown <neil@brown.name>
Thu, 26 Nov 2015 03:58:06 +0000 (14:58 +1100)
Signed-off-by: NeilBrown <neil@brown.name>
core-doc.c
lib-view.c

index 2aa318ede16738843a19669f9e9ee6ac536a270b..84084d8d5213eba127a01ca1ce88e78de3e96f86 100644 (file)
@@ -273,6 +273,57 @@ DEF_CMD(doc_file)
        return 1;
 }
 
+DEF_CMD(doc_line)
+{
+       struct doc *d = ci->home->data;
+       wint_t ch = 1;
+       int rpt = RPT_NUM(ci);
+
+       while (rpt > 0 && ch != WEOF) {
+               while ((ch = mark_next(d, ci->mark)) != WEOF &&
+                      ch != '\n')
+                       ;
+               rpt -= 1;
+       }
+       while (rpt < 0 && ch != WEOF) {
+               while ((ch = mark_prev(d, ci->mark)) != WEOF &&
+                      ch != '\n')
+                       ;
+               rpt += 1;
+       }
+       return 1;
+}
+
+DEF_CMD(doc_page)
+{
+       struct doc *d = ci->home->data;
+       wint_t ch = 1;
+       int rpt = RPT_NUM(ci);
+
+       rpt *= ci->home->h-2;
+       while (rpt > 0 && ch != WEOF) {
+               while ((ch = mark_next(d, ci->mark)) != WEOF &&
+                      ch != '\n')
+                       ;
+               rpt -= 1;
+       }
+       while (rpt < 0 && ch != WEOF) {
+               while ((ch = mark_prev(d, ci->mark)) != WEOF &&
+                      ch != '\n')
+                       ;
+               rpt += 1;
+       }
+       return 1;
+}
+
+DEF_CMD(doc_do_replace)
+{
+       bool first_change = (ci->extra == 0);
+
+       doc_replace(ci->home, ci->mark, ci->str, &first_change);
+       return 1;
+}
+
 static struct map *doc_default_cmd;
 
 static void init_doc_defaults(void)
@@ -284,6 +335,9 @@ static void init_doc_defaults(void)
        key_add(doc_default_cmd, "Move-WORD", &doc_WORD);
        key_add(doc_default_cmd, "Move-EOL", &doc_eol);
        key_add(doc_default_cmd, "Move-File", &doc_file);
+       key_add(doc_default_cmd, "Move-Line", &doc_line);
+       key_add(doc_default_cmd, "Move-View-Large", &doc_page);
+       key_add(doc_default_cmd, "Replace", &doc_do_replace);
 }
 
 DEF_CMD(doc_handle)
index a5c5418a98ba836d67c69b9113dc5eab3ce07a9e..b09747054def36acbdd8f0b74f0f34e7922785fd 100644 (file)
@@ -246,57 +246,6 @@ DEF_CMD(view_attach)
        return ci->focus != NULL;
 }
 
-DEF_CMD(view_line)
-{
-       struct point *pt = *ci->pointp;
-       wint_t ch = 1;
-       int rpt = RPT_NUM(ci);
-
-       while (rpt > 0 && ch != WEOF) {
-               while ((ch = mark_next(pt->doc, ci->mark)) != WEOF &&
-                      ch != '\n')
-                       ;
-               rpt -= 1;
-       }
-       while (rpt < 0 && ch != WEOF) {
-               while ((ch = mark_prev(pt->doc, ci->mark)) != WEOF &&
-                      ch != '\n')
-                       ;
-               rpt += 1;
-       }
-       return 1;
-}
-
-DEF_CMD(view_page)
-{
-       struct point *pt = *ci->pointp;
-       wint_t ch = 1;
-       int rpt = RPT_NUM(ci);
-
-       rpt *= ci->home->h-2;
-       while (rpt > 0 && ch != WEOF) {
-               while ((ch = mark_next(pt->doc, ci->mark)) != WEOF &&
-                      ch != '\n')
-                       ;
-               rpt -= 1;
-       }
-       while (rpt < 0 && ch != WEOF) {
-               while ((ch = mark_prev(pt->doc, ci->mark)) != WEOF &&
-                      ch != '\n')
-                       ;
-               rpt += 1;
-       }
-       return 1;
-}
-
-DEF_CMD(view_replace)
-{
-       bool first_change = (ci->extra == 0);
-
-       doc_replace(ci->focus, ci->mark, ci->str, &first_change);
-       return 1;
-}
-
 DEF_CMD(view_click)
 {
        struct pane *p = ci->home;
@@ -336,11 +285,6 @@ void edlib_init(struct editor *ed)
 {
        view_map = key_alloc();
 
-       key_add(view_map, "Move-Line", &view_line);
-       key_add(view_map, "Move-View-Large", &view_page);
-
-       key_add(view_map, "Replace", &view_replace);
-
        key_add(view_map, "Click-1", &view_click);
        key_add(view_map, "Press-1", &view_click);