aboutsummaryrefslogtreecommitdiff
path: root/view.c
diff options
context:
space:
mode:
authorPhilipp Emanuel Weidmann <pew@worldwidemann.com>2017-06-04 17:36:55 +0530
committerPhilipp Emanuel Weidmann <pew@worldwidemann.com>2017-06-04 17:36:55 +0530
commitbfcf2210da1f83d4138425febf96d3afb60fdfac (patch)
treef1e6366432517950b816410af7e36be4f7d7d11a /view.c
parent7f487178cff9f43896b3462b2ebbd94eca5078d9 (diff)
downloadvis-bfcf2210da1f83d4138425febf96d3afb60fdfac.tar.gz
vis-bfcf2210da1f83d4138425febf96d3afb60fdfac.tar.xz
Add option to hide EOF marker
Diffstat (limited to 'view.c')
-rw-r--r--view.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/view.c b/view.c
index 76410aa..ee46f3a 100644
--- a/view.c
+++ b/view.c
@@ -19,6 +19,7 @@ enum {
SYNTAX_SYMBOL_TAB,
SYNTAX_SYMBOL_TAB_FILL,
SYNTAX_SYMBOL_EOL,
+ SYNTAX_SYMBOL_EOF,
SYNTAX_SYMBOL_LAST,
};
@@ -98,6 +99,7 @@ static const SyntaxSymbol symbols_none[] = {
[SYNTAX_SYMBOL_TAB] = { " " },
[SYNTAX_SYMBOL_TAB_FILL] = { " " },
[SYNTAX_SYMBOL_EOL] = { " " },
+ [SYNTAX_SYMBOL_EOF] = { " " },
};
static const SyntaxSymbol symbols_default[] = {
@@ -105,6 +107,7 @@ static const SyntaxSymbol symbols_default[] = {
[SYNTAX_SYMBOL_TAB] = { "›" /* Single Right-Pointing Angle Quotation Mark U+203A */ },
[SYNTAX_SYMBOL_TAB_FILL] = { " " },
[SYNTAX_SYMBOL_EOL] = { "↵" /* Downwards Arrow with Corner Leftwards U+21B5 */ },
+ [SYNTAX_SYMBOL_EOF] = { "~" },
};
static Cell cell_unused;
@@ -421,7 +424,7 @@ void view_draw(View *view) {
/* resync position of cursors within visible area */
for (Cursor *c = view->cursors; c; c = c->next) {
size_t pos = view_cursors_pos(c);
- if (!view_coord_get(view, pos, &c->line, &c->row, &c->col) &&
+ if (!view_coord_get(view, pos, &c->line, &c->row, &c->col) &&
c == view->cursor) {
c->line = view->topline;
c->row = 0;
@@ -514,7 +517,7 @@ View *view_new(Text *text) {
};
view->text = text;
view->tabwidth = 8;
- view_options_set(view, 0);
+ view_options_set(view, UI_OPTION_SYMBOL_EOF);
if (!view_resize(view, 1, 1)) {
view_free(view);
@@ -830,6 +833,7 @@ void view_options_set(View *view, enum UiOption options) {
[SYNTAX_SYMBOL_TAB] = UI_OPTION_SYMBOL_TAB,
[SYNTAX_SYMBOL_TAB_FILL] = UI_OPTION_SYMBOL_TAB_FILL,
[SYNTAX_SYMBOL_EOL] = UI_OPTION_SYMBOL_EOL,
+ [SYNTAX_SYMBOL_EOF] = UI_OPTION_SYMBOL_EOF,
};
for (int i = 0; i < LENGTH(mapping); i++) {
@@ -1347,6 +1351,10 @@ Text *view_text(View *view) {
return view->text;
}
+char *view_symbol_eof_get(View *view) {
+ return view->symbols[SYNTAX_SYMBOL_EOF]->symbol;
+}
+
bool view_style_define(View *view, enum UiStyle id, const char *style) {
return view->ui->style_define(view->ui, id, style);
}