commit da2fce90bdc9b84a540b46457dbb5215a389e8a6
parent 1e3cffbbd6798bc2e2f2b8abbf430ea38f894428
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Fri, 26 Aug 2016 22:46:01 +0200
tweaks: elide a variable and rename some others
Diffstat:
1 file changed, 16 insertions(+), 18 deletions(-)
diff --git a/src/prompt.c b/src/prompt.c
@@ -424,17 +424,16 @@ size_t statusbar_xplustabs(void)
return strnlenpt(answer, statusbar_x);
}
-/* nano scrolls horizontally within a line in chunks. This function
- * returns the column number of the first character displayed in the
- * statusbar prompt when the cursor is at the given column with the
- * prompt ending at start_col. Note that (0 <= column -
- * get_statusbar_page_start(column) < COLS). */
-size_t get_statusbar_page_start(size_t start_col, size_t column)
+/* Return the column number of the first character of the answer that is
+ * displayed in the statusbar when the cursor is at the given column,
+ * with the available room for the answer starting at base. Note that
+ * (0 <= column - get_statusbar_page_start(column) < COLS). */
+size_t get_statusbar_page_start(size_t base, size_t column)
{
- if (column == start_col || column < COLS - 1)
+ if (column == base || column < COLS - 1)
return 0;
- else if (COLS > start_col + 2)
- return column - start_col - 1 - (column - start_col - 1) % (COLS - start_col - 2);
+ else if (COLS > base + 2)
+ return column - base - 1 - (column - base - 1) % (COLS - base - 2);
else
return column - 2;
}
@@ -458,7 +457,7 @@ void reset_statusbar_cursor(void)
doupdate();
wmove(bottomwin, 0, start_col + xpt -
- get_statusbar_page_start(start_col, start_col + xpt));
+ get_statusbar_page_start(start_col, start_col + xpt));
wnoutrefresh(bottomwin);
}
@@ -466,15 +465,14 @@ void reset_statusbar_cursor(void)
/* Repaint the statusbar. */
void update_the_statusbar(void)
{
- size_t start_col, index, page_start, page_end;
+ size_t base, the_page, end_page;
char *expanded;
assert(prompt != NULL && statusbar_x <= strlen(answer));
- start_col = strlenpt(prompt) + 2;
- index = strnlenpt(answer, statusbar_x);
- page_start = get_statusbar_page_start(start_col, start_col + index);
- page_end = get_statusbar_page_start(start_col, start_col + strlenpt(answer) - 1);
+ base = strlenpt(prompt) + 2;
+ the_page = get_statusbar_page_start(base, base + strnlenpt(answer, statusbar_x));
+ end_page = get_statusbar_page_start(base, base + strlenpt(answer) - 1);
wattron(bottomwin, interface_color_pair[TITLE_BAR]);
@@ -482,13 +480,13 @@ void update_the_statusbar(void)
mvwaddnstr(bottomwin, 0, 0, prompt, actual_x(prompt, COLS - 2));
waddch(bottomwin, ':');
- waddch(bottomwin, (page_start == 0) ? ' ' : '$');
+ waddch(bottomwin, (the_page == 0) ? ' ' : '$');
- expanded = display_string(answer, page_start, COLS - start_col - 1, FALSE);
+ expanded = display_string(answer, the_page, COLS - base - 1, FALSE);
waddstr(bottomwin, expanded);
free(expanded);
- waddch(bottomwin, (page_start >= page_end) ? ' ' : '$');
+ waddch(bottomwin, (the_page >= end_page) ? ' ' : '$');
wattroff(bottomwin, interface_color_pair[TITLE_BAR]);