aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2023-09-23 16:42:47 +0200
committerbfredl <bjorn.linse@gmail.com>2023-09-23 18:13:05 +0200
commitf7da4722570617bd8927e7aa533fa9a608c45bba (patch)
tree4a19a49aed1a0fe8dbc5aa0d4a70214048ed46af
parent7bd6bd1ef7214942e94c9238e08619adf41f5995 (diff)
downloadrneovim-f7da4722570617bd8927e7aa533fa9a608c45bba.tar.gz
rneovim-f7da4722570617bd8927e7aa533fa9a608c45bba.tar.bz2
rneovim-f7da4722570617bd8927e7aa533fa9a608c45bba.zip
refactor(options)!: graduate shortmess+=f flag
Not everything needs to be crazy overconfigurable. Also fixes a warning in latest clang which didn't approve of the funky math switch statement in append_arg_number
-rw-r--r--runtime/doc/news.txt3
-rw-r--r--runtime/doc/options.txt1
-rw-r--r--runtime/doc/vim_diff.txt1
-rw-r--r--runtime/lua/vim/_meta/options.lua1
-rw-r--r--src/nvim/buffer.c21
-rw-r--r--src/nvim/options.lua1
-rw-r--r--src/nvim/statusline.c2
7 files changed, 10 insertions, 20 deletions
diff --git a/runtime/doc/news.txt b/runtime/doc/news.txt
index 240eb152d7..5e257372bc 100644
--- a/runtime/doc/news.txt
+++ b/runtime/doc/news.txt
@@ -247,6 +247,9 @@ The following deprecated functions or APIs were removed.
• Support for legacy treesitter injection queries is removed.
+• 'shortmess' flags:
+ - |shm-f| is removed. Always uses "(3 of 5)", never "(file 3 of 5)"
+
==============================================================================
DEPRECATIONS *news-deprecations*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index deb64bf18d..9b4f36cbce 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -5391,7 +5391,6 @@ A jump table for the options with a short description can be found at |Q_op|.
messages, for example with CTRL-G, and to avoid some other messages.
It is a list of flags:
flag meaning when present ~
- f use "(3 of 5)" instead of "(file 3 of 5)" *shm-f*
i use "[noeol]" instead of "[Incomplete last line]" *shm-i*
l use "999L, 888B" instead of "999 lines, 888 bytes" *shm-l*
m use "[+]" instead of "[Modified]" *shm-m*
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
index ab5e795c16..8a6e5461c3 100644
--- a/runtime/doc/vim_diff.txt
+++ b/runtime/doc/vim_diff.txt
@@ -727,6 +727,7 @@ Options:
Everything is allowed in 'exrc' files since they must be explicitly marked
trusted.
*'shelltype'*
+ 'shortmess' *shm-f* flag (always on, never show "file" in "(3 of 5)")
*'shortname'* *'sn'* *'noshortname'* *'nosn'*
*'swapsync'* *'sws'*
*'termencoding'* *'tenc'* (Vim 7.4.852 also removed this for Windows)
diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua
index b8bdfbc3f7..baf53c5ccc 100644
--- a/runtime/lua/vim/_meta/options.lua
+++ b/runtime/lua/vim/_meta/options.lua
@@ -5668,7 +5668,6 @@ vim.bo.sw = vim.bo.shiftwidth
--- messages, for example with CTRL-G, and to avoid some other messages.
--- It is a list of flags:
--- flag meaning when present ~
---- f use "(3 of 5)" instead of "(file 3 of 5)" *shm-f*
--- i use "[noeol]" instead of "[Incomplete last line]" *shm-i*
--- l use "999L, 888B" instead of "999 lines, 888 bytes" *shm-l*
--- m use "[+]" instead of "[Modified]" *shm-m*
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c
index f2174e055b..60674486e5 100644
--- a/src/nvim/buffer.c
+++ b/src/nvim/buffer.c
@@ -3221,7 +3221,7 @@ void fileinfo(int fullname, int shorthelp, int dont_truncate)
(int)curwin->w_cursor.col + 1, (int)curwin->w_virtcol + 1);
}
- (void)append_arg_number(curwin, buffer, IOSIZE, !shortmess(SHM_FILE));
+ (void)append_arg_number(curwin, buffer, IOSIZE);
if (dont_truncate) {
// Temporarily set msg_scroll to avoid the message being truncated.
@@ -3372,7 +3372,7 @@ void maketitle(void)
*buf_p = NUL;
}
- append_arg_number(curwin, buf_p, (int)(SPACE_FOR_ARGNR - (size_t)(buf_p - buf)), false);
+ append_arg_number(curwin, buf_p, (int)(SPACE_FOR_ARGNR - (size_t)(buf_p - buf)));
xstrlcat(buf_p, " - NVIM", (sizeof(buf) - (size_t)(buf_p - buf)));
@@ -3509,15 +3509,14 @@ void get_rel_pos(win_T *wp, char *buf, int buflen)
}
}
-/// Append (file 2 of 8) to "buf[buflen]", if editing more than one file.
+/// Append (2 of 8) to "buf[buflen]", if editing more than one file.
///
/// @param wp window whose buffers to check
/// @param[in,out] buf string buffer to add the text to
/// @param buflen length of the string buffer
-/// @param add_file if true, add "file" before the arg number
///
/// @return true if it was appended.
-bool append_arg_number(win_T *wp, char *buf, int buflen, bool add_file)
+bool append_arg_number(win_T *wp, char *buf, int buflen)
FUNC_ATTR_NONNULL_ALL
{
// Nothing to do
@@ -3525,17 +3524,7 @@ bool append_arg_number(win_T *wp, char *buf, int buflen, bool add_file)
return false;
}
- const char *msg;
- switch ((wp->w_arg_idx_invalid ? 1 : 0) + (add_file ? 2 : 0)) {
- case 0:
- msg = _(" (%d of %d)"); break;
- case 1:
- msg = _(" ((%d) of %d)"); break;
- case 2:
- msg = _(" (file %d of %d)"); break;
- case 3:
- msg = _(" (file (%d) of %d)"); break;
- }
+ const char *msg = wp->w_arg_idx_invalid ? _(" ((%d) of %d)") : _(" (%d of %d)");
char *p = buf + strlen(buf); // go to the end of the buffer
vim_snprintf(p, (size_t)(buflen - (p - buf)), msg, wp->w_arg_idx + 1, ARGCOUNT);
diff --git a/src/nvim/options.lua b/src/nvim/options.lua
index e5821b62bd..5fd7e86993 100644
--- a/src/nvim/options.lua
+++ b/src/nvim/options.lua
@@ -7247,7 +7247,6 @@ return {
messages, for example with CTRL-G, and to avoid some other messages.
It is a list of flags:
flag meaning when present ~
- f use "(3 of 5)" instead of "(file 3 of 5)" *shm-f*
i use "[noeol]" instead of "[Incomplete last line]" *shm-i*
l use "999L, 888B" instead of "999 lines, 888 bytes" *shm-l*
m use "[+]" instead of "[Modified]" *shm-m*
diff --git a/src/nvim/statusline.c b/src/nvim/statusline.c
index 4e000b8d29..89aa635335 100644
--- a/src/nvim/statusline.c
+++ b/src/nvim/statusline.c
@@ -1583,7 +1583,7 @@ int build_stl_str_hl(win_T *wp, char *out, size_t outlen, char *fmt, char *opt_n
// Note: The call will only return true if it actually
// appended data to the `buf_tmp` buffer.
- if (append_arg_number(wp, buf_tmp, (int)sizeof(buf_tmp), false)) {
+ if (append_arg_number(wp, buf_tmp, (int)sizeof(buf_tmp))) {
str = buf_tmp;
}
break;