This is a common task and it is good to centralize it.
Signed-off-by: NeilBrown <neil@brown.name>
bool first = 1;
struct pane *p;
struct point **ptp;
+ struct doc *d;
p = doc_new(pane2ed(parent), "text");
if (!p)
return NULL;
- p = pane_attach(parent, "view", p, NULL);
+ d = p->data;
+ doc_set_name(d, name);
+ p = doc_attach_view(parent, p, NULL);
if (!p) {
doc_destroy(p->data);
return p;
}
- ptp = pane_point(p);
- doc_set_name((*ptp)->doc, name);
doc_replace(p, NULL, text, &first);
+ ptp = pane_point(p);
point_reset(*ptp);
- render_attach(NULL, p);
return p;
}
}
if (p)
pane_close(p);
- p = pane_attach(par, "view", dp, NULL);
+ p = doc_attach_view(par, dp, renderer);
if (p) {
- render_attach(renderer, p);
pane_focus(p);
return 1;
} else {
attr_set_str(&ppi->popup->attrs, "render-wrap", "no", -1);
if (ci->home) {
- p = pane_attach(ppi->popup, "view", ci->home, NULL);
+ p = doc_attach_view(ppi->popup, ci->home, NULL);
} else {
struct pane *dp;
struct doc *d;
dp = doc_new(pane2ed(root), "text");
d = dp->data;
doc_set_name(d, "*popup*");
- p = pane_attach(ppi->popup, "view", dp, NULL);
ppi->doc = dp;
+ p = doc_attach_view(ppi->popup, dp, NULL);
}
- render_attach(NULL, p);
pane_focus(p);
ci2.key = "local-set-key";
ci2.focus = p;
return 1;
if (par->focus)
pane_close(par->focus);
- p = pane_attach(par, "view", p, NULL);
- if (!p)
- return 0;
- render_attach(NULL, p);
- return 1;
+ p = doc_attach_view(par, p, NULL);
+ return !!p;
}
DEF_CMD(emacs_doc_complete)
if (!d)
return 1;
pane_close(p);
- p = pane_attach(par, "view", d->home, NULL);
- if (!p) {
- return 0;
- }
- render_attach(NULL, p);
- return 1;
+ p = doc_attach_view(par, d->home, NULL);
+ return !!p;
}
DEF_CMD(emacs_meta)