aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/option.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/option.c')
-rw-r--r--src/nvim/option.c474
1 files changed, 195 insertions, 279 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c
index 96d6d8e01e..fd4f1eb50f 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -24,8 +24,6 @@
#include <stdlib.h>
#include <string.h>
-#include "auto/config.h"
-#include "klib/kvec.h"
#include "nvim/api/extmark.h"
#include "nvim/api/private/defs.h"
#include "nvim/api/private/helpers.h"
@@ -49,7 +47,6 @@
#include "nvim/ex_getln.h"
#include "nvim/ex_session.h"
#include "nvim/fold.h"
-#include "nvim/func_attr.h"
#include "nvim/garray.h"
#include "nvim/gettext.h"
#include "nvim/globals.h"
@@ -99,22 +96,20 @@
#include "nvim/vim_defs.h"
#include "nvim/window.h"
+#include "auto/config.h"
+#include "klib/kvec.h"
+
#ifdef BACKSLASH_IN_FILENAME
# include "nvim/arglist.h"
#endif
-static const char e_unknown_option[]
- = N_("E518: Unknown option");
-static const char e_not_allowed_in_modeline[]
- = N_("E520: Not allowed in a modeline");
+static const char e_unknown_option[] = N_("E518: Unknown option");
+static const char e_not_allowed_in_modeline[] = N_("E520: Not allowed in a modeline");
static const char e_not_allowed_in_modeline_when_modelineexpr_is_off[]
= N_("E992: Not allowed in a modeline when 'modelineexpr' is off");
-static const char e_key_code_not_set[]
- = N_("E846: Key code not set");
-static const char e_number_required_after_equal[]
- = N_("E521: Number required after =");
-static const char e_preview_window_already_exists[]
- = N_("E590: A preview window already exists");
+static const char e_key_code_not_set[] = N_("E846: Key code not set");
+static const char e_number_required_after_equal[] = N_("E521: Number required after =");
+static const char e_preview_window_already_exists[] = N_("E590: A preview window already exists");
static char *p_term = NULL;
static char *p_ttytype = NULL;
@@ -157,13 +152,10 @@ typedef enum {
# include "options.generated.h"
#endif
-static char *(p_bin_dep_opts[]) = {
- "textwidth", "wrapmargin", "modeline", "expandtab", NULL
-};
-static char *(p_paste_dep_opts[]) = {
- "autoindent", "expandtab", "ruler", "showmatch", "smarttab",
- "softtabstop", "textwidth", "wrapmargin", "revins", "varsofttabstop", NULL
-};
+static char *(p_bin_dep_opts[]) = { "textwidth", "wrapmargin", "modeline", "expandtab", NULL };
+static char *(p_paste_dep_opts[])
+ = { "autoindent", "expandtab", "ruler", "showmatch", "smarttab", "softtabstop",
+ "textwidth", "wrapmargin", "revins", "varsofttabstop", NULL };
void set_init_tablocal(void)
{
@@ -226,8 +218,7 @@ static void set_init_default_backupskip(void)
xstrlcpy(item, p, len);
add_pathsep(item);
xstrlcat(item, "*", len);
- if (find_dup_item(ga.ga_data, item, options[opt_idx].flags)
- == NULL) {
+ if (find_dup_item(ga.ga_data, item, options[opt_idx].flags) == NULL) {
ga_grow(&ga, (int)len);
if (!GA_EMPTY(&ga)) {
STRCAT(ga.ga_data, ",");
@@ -257,7 +248,7 @@ static void set_init_default_cdpath(void)
}
char *buf = xmalloc(2 * strlen(cdpath) + 2);
- buf[0] = ','; // start with ",", current dir first
+ buf[0] = ','; // start with ",", current dir first
int j = 1;
for (int i = 0; cdpath[i] != NUL; i++) {
if (vim_ispathlistsep(cdpath[i])) {
@@ -275,7 +266,7 @@ static void set_init_default_cdpath(void)
options[opt_idx].def_val = buf;
options[opt_idx].flags |= P_DEF_ALLOCED;
} else {
- xfree(buf); // cannot happen
+ xfree(buf); // cannot happen
}
xfree(cdpath);
}
@@ -348,12 +339,9 @@ void set_init_1(bool clean_arg)
memmove(backupdir + 2, backupdir, backupdir_len + 1);
memmove(backupdir, ".,", 2);
set_string_default("backupdir", backupdir, true);
- set_string_default("viewdir", stdpaths_user_state_subpath("view", 2, true),
- true);
- set_string_default("directory", stdpaths_user_state_subpath("swap", 2, true),
- true);
- set_string_default("undodir", stdpaths_user_state_subpath("undo", 2, true),
- true);
+ set_string_default("viewdir", stdpaths_user_state_subpath("view", 2, true), true);
+ set_string_default("directory", stdpaths_user_state_subpath("swap", 2, true), true);
+ set_string_default("undodir", stdpaths_user_state_subpath("undo", 2, true), true);
// Set default for &runtimepath. All necessary expansions are performed in
// this function.
char *rtp = runtimepath_default(clean_arg);
@@ -369,7 +357,7 @@ void set_init_1(bool clean_arg)
set_options_default(0);
curbuf->b_p_initialized = true;
- curbuf->b_p_ar = -1; // no local 'autoread' value
+ curbuf->b_p_ar = -1; // no local 'autoread' value
curbuf->b_p_ul = NO_LOCAL_UNDOLEVEL;
check_buf_options(curbuf);
check_win_options(curwin);
@@ -391,7 +379,7 @@ void set_init_1(bool clean_arg)
// Expand environment variables and things like "~" for the defaults.
set_init_expand_env();
- save_file_ff(curbuf); // Buffer is unchanged
+ save_file_ff(curbuf); // Buffer is unchanged
// Detect use of mlterm.
// Mlterm is a terminal emulator akin to xterm that has some special
@@ -429,7 +417,7 @@ static void set_option_default(const int opt_idx, int opt_flags)
vimoption_T *opt = &options[opt_idx];
void *varp = get_varp_scope(opt, both ? OPT_LOCAL : opt_flags);
uint32_t flags = opt->flags;
- if (varp != NULL) { // skip hidden option, nothing to do for it
+ if (varp != NULL) { // skip hidden option, nothing to do for it
if (flags & P_STRING) {
// Use set_string_option_direct() for local options to handle
// freeing and allocating the value.
@@ -447,8 +435,7 @@ static void set_option_default(const int opt_idx, int opt_flags)
win_comp_scroll(curwin);
} else {
OptInt def_val = (OptInt)(intptr_t)opt->def_val;
- if ((OptInt *)varp == &curwin->w_p_so
- || (OptInt *)varp == &curwin->w_p_siso) {
+ if ((OptInt *)varp == &curwin->w_p_so || (OptInt *)varp == &curwin->w_p_siso) {
// 'scrolloff' and 'sidescrolloff' local values have a
// different default value than the global default.
*(OptInt *)varp = -1;
@@ -470,8 +457,7 @@ static void set_option_default(const int opt_idx, int opt_flags)
#endif
// May also set global value for local option.
if (both) {
- *(int *)get_varp_scope(opt, OPT_GLOBAL) =
- *(int *)varp;
+ *(int *)get_varp_scope(opt, OPT_GLOBAL) = *(int *)varp;
}
}
@@ -508,8 +494,7 @@ static void set_options_default(int opt_flags)
/// @param name The name of the option
/// @param val The value of the option
/// @param allocated If true, do not copy default as it was already allocated.
-static void set_string_default(const char *name, char *val, bool allocated)
- FUNC_ATTR_NONNULL_ALL
+static void set_string_default(const char *name, char *val, bool allocated) FUNC_ATTR_NONNULL_ALL
{
int opt_idx = findoption(name);
if (opt_idx >= 0) {
@@ -544,8 +529,7 @@ static char *find_dup_item(char *origval, const char *newval, uint32_t flags)
// Count backslashes. Only a comma with an even number of backslashes
// or a single backslash preceded by a comma before it is recognized as
// a separator.
- if ((s > origval + 1 && s[-1] == '\\' && s[-2] != ',')
- || (s == origval + 1 && s[-1] == '\\')) {
+ if ((s > origval + 1 && s[-1] == '\\' && s[-2] != ',') || (s == origval + 1 && s[-1] == '\\')) {
bs++;
} else {
bs = 0;
@@ -612,19 +596,15 @@ void set_init_2(bool headless)
/// Initialize the options, part three: After reading the .vimrc
void set_init_3(void)
{
- parse_shape_opt(SHAPE_CURSOR); // set cursor shapes from 'guicursor'
+ parse_shape_opt(SHAPE_CURSOR); // set cursor shapes from 'guicursor'
// Set 'shellpipe' and 'shellredir', depending on the 'shell' option.
// This is done after other initializations, where 'shell' might have been
// set, but only if they have not been set before.
int idx_srr = findoption("srr");
- int do_srr = (idx_srr < 0)
- ? false
- : !(options[idx_srr].flags & P_WAS_SET);
+ int do_srr = (idx_srr < 0) ? false : !(options[idx_srr].flags & P_WAS_SET);
int idx_sp = findoption("sp");
- int do_sp = (idx_sp < 0)
- ? false
- : !(options[idx_sp].flags & P_WAS_SET);
+ int do_sp = (idx_sp < 0) ? false : !(options[idx_sp].flags & P_WAS_SET);
size_t len = 0;
char *p = (char *)invocation_path_tail(p_sh, &len);
@@ -635,8 +615,7 @@ void set_init_3(void)
// Default for p_sp is "| tee", for p_srr is ">".
// For known shells it is changed here to include stderr.
//
- if (path_fnamecmp(p, "csh") == 0
- || path_fnamecmp(p, "tcsh") == 0) {
+ if (path_fnamecmp(p, "csh") == 0 || path_fnamecmp(p, "tcsh") == 0) {
if (do_sp) {
p_sp = "|& tee";
options[idx_sp].def_val = p_sp;
@@ -645,16 +624,11 @@ void set_init_3(void)
p_srr = ">&";
options[idx_srr].def_val = p_srr;
}
- } else if (path_fnamecmp(p, "sh") == 0
- || path_fnamecmp(p, "ksh") == 0
- || path_fnamecmp(p, "mksh") == 0
- || path_fnamecmp(p, "pdksh") == 0
- || path_fnamecmp(p, "zsh") == 0
- || path_fnamecmp(p, "zsh-beta") == 0
- || path_fnamecmp(p, "bash") == 0
- || path_fnamecmp(p, "fish") == 0
- || path_fnamecmp(p, "ash") == 0
- || path_fnamecmp(p, "dash") == 0) {
+ } else if (path_fnamecmp(p, "sh") == 0 || path_fnamecmp(p, "ksh") == 0
+ || path_fnamecmp(p, "mksh") == 0 || path_fnamecmp(p, "pdksh") == 0
+ || path_fnamecmp(p, "zsh") == 0 || path_fnamecmp(p, "zsh-beta") == 0
+ || path_fnamecmp(p, "bash") == 0 || path_fnamecmp(p, "fish") == 0
+ || path_fnamecmp(p, "ash") == 0 || path_fnamecmp(p, "dash") == 0) {
// Always use POSIX shell style redirection if we reach this
if (do_sp) {
p_sp = "2>&1| tee";
@@ -796,13 +770,10 @@ static char *stropt_copy_value(char *origval, char **argp, set_op_T op,
while (*arg != NUL && !ascii_iswhite(*arg)) {
if (*arg == '\\' && arg[1] != NUL
#ifdef BACKSLASH_IN_FILENAME
- && !((flags & P_EXPAND)
- && vim_isfilec((uint8_t)arg[1])
- && !ascii_iswhite(arg[1])
- && (arg[1] != '\\'
- || (s == newval && arg[2] != '\\')))
+ && !((flags & P_EXPAND) && vim_isfilec((uint8_t)arg[1]) && !ascii_iswhite(arg[1])
+ && (arg[1] != '\\' || (s == newval && arg[2] != '\\')))
#endif
- ) {
+ ) {
arg++; // remove backslash
}
int i = utfc_ptr2len(arg);
@@ -849,9 +820,7 @@ static void stropt_concat_with_comma(char *origval, char *newval, set_op_T op, u
if (op == OP_ADDING) {
len = (int)strlen(origval);
// Strip a trailing comma, would get 2.
- if (comma && len > 1
- && (flags & P_ONECOMMA) == P_ONECOMMA
- && origval[len - 1] == ','
+ if (comma && len > 1 && (flags & P_ONECOMMA) == P_ONECOMMA && origval[len - 1] == ','
&& origval[len - 2] != '\\') {
len--;
}
@@ -899,15 +868,13 @@ static void stropt_remove_dupflags(char *newval, uint32_t flags)
for (s = newval; *s;) {
// if options have P_FLAGLIST and P_ONECOMMA such as 'whichwrap'
if (flags & P_ONECOMMA) {
- if (*s != ',' && *(s + 1) == ','
- && vim_strchr(s + 2, (uint8_t)(*s)) != NULL) {
+ if (*s != ',' && *(s + 1) == ',' && vim_strchr(s + 2, (uint8_t)(*s)) != NULL) {
// Remove the duplicated value and the next comma.
STRMOVE(s, s + 2);
continue;
}
} else {
- if ((!(flags & P_COMMA) || *s != ',')
- && vim_strchr(s + 1, (uint8_t)(*s)) != NULL) {
+ if ((!(flags & P_COMMA) || *s != ',') && vim_strchr(s + 1, (uint8_t)(*s)) != NULL) {
STRMOVE(s, s + 1);
continue;
}
@@ -1001,11 +968,11 @@ static set_op_T get_op(const char *arg)
set_op_T op = OP_NONE;
if (*arg != NUL && *(arg + 1) == '=') {
if (*arg == '+') {
- op = OP_ADDING; // "+="
+ op = OP_ADDING; // "+="
} else if (*arg == '^') {
- op = OP_PREPENDING; // "^="
+ op = OP_PREPENDING; // "^="
} else if (*arg == '-') {
- op = OP_REMOVING; // "-="
+ op = OP_REMOVING; // "-="
}
}
return op;
@@ -1091,14 +1058,12 @@ static int validate_opt_idx(win_T *win, int opt_idx, int opt_flags, uint32_t fla
// Skip all options that are not window-local (used when showing
// an already loaded buffer in a window).
- if ((opt_flags & OPT_WINONLY)
- && (opt_idx < 0 || options[opt_idx].var != VAR_WIN)) {
+ if ((opt_flags & OPT_WINONLY) && (opt_idx < 0 || options[opt_idx].var != VAR_WIN)) {
return FAIL;
}
// Skip all options that are window-local (used for :vimgrep).
- if ((opt_flags & OPT_NOWIN) && opt_idx >= 0
- && options[opt_idx].var == VAR_WIN) {
+ if ((opt_flags & OPT_NOWIN) && opt_idx >= 0 && options[opt_idx].var == VAR_WIN) {
return FAIL;
}
@@ -1115,10 +1080,8 @@ static int validate_opt_idx(win_T *win, int opt_idx, int opt_flags, uint32_t fla
// In diff mode some options are overruled. This avoids that
// 'foldmethod' becomes "marker" instead of "diff" and that
// "wrap" gets set.
- if (win->w_p_diff
- && opt_idx >= 0 // shut up coverity warning
- && (options[opt_idx].indir == PV_FDM
- || options[opt_idx].indir == PV_WRAP)) {
+ if (win->w_p_diff && opt_idx >= 0 // shut up coverity warning
+ && (options[opt_idx].indir == PV_FDM || options[opt_idx].indir == PV_WRAP)) {
return FAIL;
}
}
@@ -1135,8 +1098,8 @@ static int validate_opt_idx(win_T *win, int opt_idx, int opt_flags, uint32_t fla
/// Get new option value from argp. Allocated OptVal must be freed by caller.
static OptVal get_option_newval(int opt_idx, int opt_flags, set_prefix_T prefix, char **argp,
int nextchar, set_op_T op, uint32_t flags, void *varp, char *errbuf,
- const size_t errbuflen, const char **errmsg)
- FUNC_ATTR_WARN_UNUSED_RESULT
+ const size_t errbuflen,
+ const char **errmsg) FUNC_ATTR_WARN_UNUSED_RESULT
{
assert(varp != NULL);
@@ -1294,21 +1257,20 @@ static void do_one_set_option(int opt_flags, char **argp, bool *did_show, char *
uint8_t nextchar = (uint8_t)arg[len]; // next non-white char after option name
- if (opt_idx == -1 && key == 0) { // found a mismatch: skip
+ if (opt_idx == -1 && key == 0) { // found a mismatch: skip
*errmsg = e_unknown_option;
return;
}
- uint32_t flags; // flags for current option
+ uint32_t flags; // flags for current option
void *varp = NULL; // pointer to variable for current option
if (opt_idx >= 0) {
- if (options[opt_idx].var == NULL) { // hidden option: skip
+ if (options[opt_idx].var == NULL) { // hidden option: skip
// Only give an error message when requesting the value of
// a hidden option, ignore setting it.
if (vim_strchr("=:!&<", nextchar) == NULL
- && (!(options[opt_idx].flags & P_BOOL)
- || nextchar == '?')) {
+ && (!(options[opt_idx].flags & P_BOOL) || nextchar == '?')) {
*errmsg = e_unsupportedoption;
}
return;
@@ -1333,8 +1295,7 @@ static void do_one_set_option(int opt_flags, char **argp, bool *did_show, char *
*argp += 2;
}
}
- if (vim_strchr("?!&<", nextchar) != NULL
- && (*argp)[1] != NUL && !ascii_iswhite((*argp)[1])) {
+ if (vim_strchr("?!&<", nextchar) != NULL && (*argp)[1] != NUL && !ascii_iswhite((*argp)[1])) {
*errmsg = e_trailing;
return;
}
@@ -1345,15 +1306,13 @@ static void do_one_set_option(int opt_flags, char **argp, bool *did_show, char *
// '=' character per "set" command line. grrr. (jw)
//
if (nextchar == '?'
- || (prefix == PREFIX_NONE
- && vim_strchr("=:&<", nextchar) == NULL
- && !(flags & P_BOOL))) {
+ || (prefix == PREFIX_NONE && vim_strchr("=:&<", nextchar) == NULL && !(flags & P_BOOL))) {
// print value
if (*did_show) {
- msg_putchar('\n'); // cursor below last one
+ msg_putchar('\n'); // cursor below last one
} else {
- gotocmdline(true); // cursor at status line
- *did_show = true; // remember that we did a line
+ gotocmdline(true); // cursor at status line
+ *did_show = true; // remember that we did a line
}
if (opt_idx >= 0) {
showoneopt(&options[opt_idx], opt_flags);
@@ -1426,15 +1385,14 @@ static void do_one_set_option(int opt_flags, char **argp, bool *did_show, char *
/// @return FAIL if an error is detected, OK otherwise
int do_set(char *arg, int opt_flags)
{
- bool did_show = false; // already showed one value
+ bool did_show = false; // already showed one value
if (*arg == NUL) {
showoptions(false, opt_flags);
did_show = true;
} else {
- while (*arg != NUL) { // loop to process all options
- if (strncmp(arg, "all", 3) == 0 && !ASCII_ISALPHA(arg[3])
- && !(opt_flags & OPT_MODELINE)) {
+ while (*arg != NUL) { // loop to process all options
+ if (strncmp(arg, "all", 3) == 0 && !ASCII_ISALPHA(arg[3]) && !(opt_flags & OPT_MODELINE)) {
// ":set all" show all options.
// ":set all&" set all options to their default value.
arg += 3;
@@ -1451,7 +1409,7 @@ int do_set(char *arg, int opt_flags)
did_show = true;
}
} else {
- char *startarg = arg; // remember for error message
+ char *startarg = arg; // remember for error message
const char *errmsg = NULL;
char errbuf[80];
@@ -1482,8 +1440,8 @@ int do_set(char *arg, int opt_flags)
// make sure all characters are printable
trans_characters(IObuff, IOSIZE);
- no_wait_return++; // wait_return() done later
- emsg(IObuff); // show error highlighted
+ no_wait_return++; // wait_return() done later
+ emsg(IObuff); // show error highlighted
no_wait_return--;
return FAIL;
@@ -1497,10 +1455,10 @@ int do_set(char *arg, int opt_flags)
if (silent_mode && did_show) {
// After displaying option values in silent mode.
silent_mode = false;
- info_message = true; // use os_msg(), not os_errmsg()
+ info_message = true; // use os_msg(), not os_errmsg()
msg_putchar('\n');
silent_mode = true;
- info_message = false; // use os_msg(), not os_errmsg()
+ info_message = false; // use os_msg(), not os_errmsg()
}
return OK;
@@ -1538,7 +1496,7 @@ void set_options_bin(int oldval, int newval, int opt_flags)
// The option values that are changed when 'bin' changes are
// copied when 'bin is set and restored when 'bin' is reset.
if (newval) {
- if (!oldval) { // switched on
+ if (!oldval) { // switched on
if (!(opt_flags & OPT_GLOBAL)) {
curbuf->b_p_tw_nobin = curbuf->b_p_tw;
curbuf->b_p_wm_nobin = curbuf->b_p_wm;
@@ -1554,19 +1512,19 @@ void set_options_bin(int oldval, int newval, int opt_flags)
}
if (!(opt_flags & OPT_GLOBAL)) {
- curbuf->b_p_tw = 0; // no automatic line wrap
- curbuf->b_p_wm = 0; // no automatic line wrap
- curbuf->b_p_ml = 0; // no modelines
- curbuf->b_p_et = 0; // no expandtab
+ curbuf->b_p_tw = 0; // no automatic line wrap
+ curbuf->b_p_wm = 0; // no automatic line wrap
+ curbuf->b_p_ml = 0; // no modelines
+ curbuf->b_p_et = 0; // no expandtab
}
if (!(opt_flags & OPT_LOCAL)) {
p_tw = 0;
p_wm = 0;
p_ml = false;
p_et = false;
- p_bin = true; // needed when called for the "-b" argument
+ p_bin = true; // needed when called for the "-b" argument
}
- } else if (oldval) { // switched off
+ } else if (oldval) { // switched off
if (!(opt_flags & OPT_GLOBAL)) {
curbuf->b_p_tw = curbuf->b_p_tw_nobin;
curbuf->b_p_wm = curbuf->b_p_wm_nobin;
@@ -1608,11 +1566,11 @@ char *find_shada_parameter(int type)
if (*p == type) {
return p + 1;
}
- if (*p == 'n') { // 'n' is always the last one
+ if (*p == 'n') { // 'n' is always the last one
break;
}
- p = vim_strchr(p, ','); // skip until next ','
- if (p == NULL) { // hit the end without finding parameter
+ p = vim_strchr(p, ','); // skip until next ','
+ if (p == NULL) { // hit the end without finding parameter
break;
}
}
@@ -1644,11 +1602,9 @@ static char *option_expand(int opt_idx, char *val)
// Escape spaces when expanding 'tags', they are used to separate file
// names.
// For 'spellsuggest' expand after "file:".
- expand_env_esc(val, NameBuff, MAXPATHL,
- (char **)options[opt_idx].var == &p_tags, false,
- (char **)options[opt_idx].var == &p_sps ? "file:"
- : NULL);
- if (strcmp(NameBuff, val) == 0) { // they are the same
+ expand_env_esc(val, NameBuff, MAXPATHL, (char **)options[opt_idx].var == &p_tags, false,
+ (char **)options[opt_idx].var == &p_sps ? "file:" : NULL);
+ if (strcmp(NameBuff, val) == 0) { // they are the same
return NULL;
}
@@ -1692,7 +1648,7 @@ static void didset_options2(void)
xfree(curbuf->b_p_vsts_array);
(void)tabstop_set(curbuf->b_p_vsts, &curbuf->b_p_vsts_array);
xfree(curbuf->b_p_vts_array);
- (void)tabstop_set(curbuf->b_p_vts, &curbuf->b_p_vts_array);
+ (void)tabstop_set(curbuf->b_p_vts, &curbuf->b_p_vts_array);
}
/// Check for string options that are NULL (normally only termcap options).
@@ -1763,8 +1719,7 @@ bool valid_name(const char *val, const char *allowed)
FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT
{
for (const char *s = val; *s != NUL; s++) {
- if (!ASCII_ISALNUM(*s)
- && vim_strchr(allowed, (uint8_t)(*s)) == NULL) {
+ if (!ASCII_ISALNUM(*s) && vim_strchr(allowed, (uint8_t)(*s)) == NULL) {
return false;
}
}
@@ -1773,8 +1728,7 @@ bool valid_name(const char *val, const char *allowed)
void check_blending(win_T *wp)
{
- wp->w_grid_alloc.blending =
- wp->w_p_winbl > 0 || (wp->w_floating && wp->w_float_config.shadow);
+ wp->w_grid_alloc.blending = wp->w_p_winbl > 0 || (wp->w_floating && wp->w_float_config.shadow);
}
/// Handle setting `winhighlight' in window "wp"
@@ -1858,7 +1812,7 @@ void set_option_sctx_idx(int opt_idx, int opt_flags, sctx_T script_ctx)
// Remember where the option was set. For local options need to do that
// in the buffer or window structure.
- if (both || (opt_flags & OPT_GLOBAL) || (indir & (PV_BUF|PV_WIN)) == 0) {
+ if (both || (opt_flags & OPT_GLOBAL) || (indir & (PV_BUF | PV_WIN)) == 0) {
options[opt_idx].last_set = last_set;
}
if (both || (opt_flags & OPT_LOCAL)) {
@@ -2018,8 +1972,7 @@ static const char *did_set_buflisted(optset_T *args)
// when 'buflisted' changes, trigger autocommands
if (args->os_oldval.boolean != buf->b_p_bl) {
- apply_autocmds(buf->b_p_bl ? EVENT_BUFADD : EVENT_BUFDELETE,
- NULL, NULL, true, buf);
+ apply_autocmds(buf->b_p_bl ? EVENT_BUFADD : EVENT_BUFDELETE, NULL, NULL, true, buf);
}
return NULL;
}
@@ -2193,7 +2146,7 @@ static const char *did_set_lisp(optset_T *args)
{
buf_T *buf = (buf_T *)args->os_buf;
// When 'lisp' option changes include/exclude '-' in keyword characters.
- (void)buf_init_chartab(buf, false); // ignore errors
+ (void)buf_init_chartab(buf, false); // ignore errors
return NULL;
}
@@ -2262,9 +2215,8 @@ static const char *did_set_paste(optset_T *args FUNC_ATTR_UNUSED)
if (buf->b_p_vsts_nopaste) {
xfree(buf->b_p_vsts_nopaste);
}
- buf->b_p_vsts_nopaste = buf->b_p_vsts && buf->b_p_vsts != empty_string_option
- ? xstrdup(buf->b_p_vsts)
- : NULL;
+ buf->b_p_vsts_nopaste
+ = buf->b_p_vsts && buf->b_p_vsts != empty_string_option ? xstrdup(buf->b_p_vsts) : NULL;
}
// save global options
@@ -2288,11 +2240,11 @@ static const char *did_set_paste(optset_T *args FUNC_ATTR_UNUSED)
// already on.
// set options for each buffer
FOR_ALL_BUFFERS(buf) {
- buf->b_p_tw = 0; // textwidth is 0
- buf->b_p_wm = 0; // wrapmargin is 0
- buf->b_p_sts = 0; // softtabstop is 0
- buf->b_p_ai = 0; // no auto-indent
- buf->b_p_et = 0; // no expandtab
+ buf->b_p_tw = 0; // textwidth is 0
+ buf->b_p_wm = 0; // wrapmargin is 0
+ buf->b_p_sts = 0; // softtabstop is 0
+ buf->b_p_ai = 0; // no auto-indent
+ buf->b_p_et = 0; // no expandtab
if (buf->b_p_vsts) {
free_string_option(buf->b_p_vsts);
}
@@ -2301,13 +2253,13 @@ static const char *did_set_paste(optset_T *args FUNC_ATTR_UNUSED)
}
// set global options
- p_sm = 0; // no showmatch
- p_sta = 0; // no smarttab
+ p_sm = 0; // no showmatch
+ p_sta = 0; // no smarttab
if (p_ru) {
- status_redraw_all(); // redraw to remove the ruler
+ status_redraw_all(); // redraw to remove the ruler
}
- p_ru = 0; // no ruler
- p_ri = 0; // no reverse insert
+ p_ru = 0; // no ruler
+ p_ri = 0; // no reverse insert
// set global values for local buffer options
p_tw = 0;
p_wm = 0;
@@ -2344,7 +2296,7 @@ static const char *did_set_paste(optset_T *args FUNC_ATTR_UNUSED)
p_sm = save_sm;
p_sta = save_sta;
if (p_ru != save_ru) {
- status_redraw_all(); // redraw to draw the ruler
+ status_redraw_all(); // redraw to draw the ruler
}
p_ru = save_ru;
p_ri = save_ri;
@@ -2525,11 +2477,11 @@ static const char *did_set_swapfile(optset_T *args)
buf_T *buf = (buf_T *)args->os_buf;
// when 'swf' is set, create swapfile, when reset remove swapfile
if (buf->b_p_swf && p_uc) {
- ml_open_file(buf); // create the swap file
+ ml_open_file(buf); // create the swap file
} else {
// no need to reset curbuf->b_may_swap, ml_open_file() will check
// buf->b_p_swf
- mf_close_file(buf, true); // remove the swap file
+ mf_close_file(buf, true); // remove the swap file
}
return NULL;
}
@@ -2582,9 +2534,8 @@ static const char *did_set_undofile(optset_T *args)
// only for the current buffer: Try to read in the undofile,
// if one exists, the buffer wasn't changed and the buffer was
// loaded
- if ((curbuf == bp
- || (args->os_flags & OPT_GLOBAL) || args->os_flags == 0)
- && !bufIsChanged(bp) && bp->b_ml.ml_mfp != NULL) {
+ if ((curbuf == bp || (args->os_flags & OPT_GLOBAL) || args->os_flags == 0) && !bufIsChanged(bp)
+ && bp->b_ml.ml_mfp != NULL) {
u_compute_hash(bp, hash);
u_read_undo(NULL, hash, bp->b_fname);
}
@@ -2620,9 +2571,9 @@ static const char *did_set_undolevels(optset_T *args)
buf_T *buf = (buf_T *)args->os_buf;
OptInt *pp = (OptInt *)args->os_varp;
- if (pp == &p_ul) { // global 'undolevels'
+ if (pp == &p_ul) { // global 'undolevels'
did_set_global_undolevels(args->os_newval.number, args->os_oldval.number);
- } else if (pp == &curbuf->b_p_ul) { // buffer local 'undolevels'
+ } else if (pp == &curbuf->b_p_ul) { // buffer local 'undolevels'
did_set_buflocal_undolevels(buf, args->os_newval.number, args->os_oldval.number);
}
@@ -2729,8 +2680,8 @@ static void do_syntax_autocmd(buf_T *buf, bool value_changed)
syn_recursive++;
// Only pass true for "force" when the value changed or not used
// recursively, to avoid endless recurrence.
- apply_autocmds(EVENT_SYNTAX, buf->b_p_syn, buf->b_fname,
- value_changed || syn_recursive == 1, buf);
+ apply_autocmds(EVENT_SYNTAX, buf->b_p_syn, buf->b_fname, value_changed || syn_recursive == 1,
+ buf);
buf->b_flags |= BF_SYN_SET;
syn_recursive--;
}
@@ -3097,9 +3048,7 @@ int findoption_len(const char *const arg, const size_t len)
bool is_tty_option(const char *name)
FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT
{
- return (name[0] == 't' && name[1] == '_')
- || strequal(name, "term")
- || strequal(name, "ttytype");
+ return (name[0] == 't' && name[1] == '_') || strequal(name, "term") || strequal(name, "ttytype");
}
#define TCO_BUFFER_SIZE 8
@@ -3170,8 +3119,7 @@ bool set_tty_option(const char *name, char *value)
/// @param[in] arg Option name.
///
/// @return Option index or -1 if option was not found.
-int findoption(const char *const arg)
- FUNC_ATTR_NONNULL_ALL
+int findoption(const char *const arg) FUNC_ATTR_NONNULL_ALL
{
return findoption_len(arg, strlen(arg));
}
@@ -3548,20 +3496,18 @@ static const char *did_set_option(int opt_idx, void *varp, OptVal old_value, Opt
bool free_oldval = (opt->flags & P_ALLOCED);
bool value_changed = false;
- optset_T did_set_cb_args = {
- .os_varp = varp,
- .os_idx = opt_idx,
- .os_flags = opt_flags,
- .os_oldval = old_value.data,
- .os_newval = new_value.data,
- .os_value_checked = false,
- .os_value_changed = false,
- .os_restore_chartab = false,
- .os_errbuf = errbuf,
- .os_errbuflen = errbuflen,
- .os_buf = curbuf,
- .os_win = curwin
- };
+ optset_T did_set_cb_args = { .os_varp = varp,
+ .os_idx = opt_idx,
+ .os_flags = opt_flags,
+ .os_oldval = old_value.data,
+ .os_newval = new_value.data,
+ .os_value_checked = false,
+ .os_value_changed = false,
+ .os_restore_chartab = false,
+ .os_errbuf = errbuf,
+ .os_errbuflen = errbuflen,
+ .os_buf = curbuf,
+ .os_win = curwin };
// Disallow changing immutable options.
if (opt->immutable && !optval_equal(old_value, new_value)) {
@@ -3615,8 +3561,8 @@ static const char *did_set_option(int opt_idx, void *varp, OptVal old_value, Opt
// Check the bound for num options.
if (new_value.type == kOptValTypeNumber) {
- errmsg = check_num_option_bounds((OptInt *)varp, old_value.data.number, errbuf, errbuflen,
- errmsg);
+ errmsg
+ = check_num_option_bounds((OptInt *)varp, old_value.data.number, errbuf, errbuflen, errmsg);
// Re-assign new_value because the new value was modified by the bound check.
new_value = optval_from_varp(opt_idx, varp);
}
@@ -3704,12 +3650,10 @@ static const char *set_option(const int opt_idx, void *varp, OptVal value, int o
vimoption_T *opt = &options[opt_idx];
- static const char *optval_type_names[] = {
- [kOptValTypeNil] = "Nil",
- [kOptValTypeBoolean] = "Boolean",
- [kOptValTypeNumber] = "Number",
- [kOptValTypeString] = "String"
- };
+ static const char *optval_type_names[] = { [kOptValTypeNil] = "Nil",
+ [kOptValTypeBoolean] = "Boolean",
+ [kOptValTypeNumber] = "Number",
+ [kOptValTypeString] = "String" };
if (value.type == kOptValTypeNil) {
// Don't try to unset local value if scope is global.
@@ -3899,8 +3843,8 @@ int find_key_option_len(const char *arg_arg, size_t len, bool has_lt)
} else if (has_lt) {
arg--; // put arg at the '<'
int modifiers = 0;
- key = find_special_key(&arg, len + 1, &modifiers,
- FSK_KEYCODE | FSK_KEEP_X_KEY | FSK_SIMPLIFY, NULL);
+ key = find_special_key(&arg, len + 1, &modifiers, FSK_KEYCODE | FSK_KEEP_X_KEY | FSK_SIMPLIFY,
+ NULL);
if (modifiers) { // can't handle modifiers here
key = 0;
}
@@ -3959,13 +3903,12 @@ static void showoptions(bool all, int opt_flags)
if (opt_flags & OPT_ONECOLUMN) {
len = Columns;
} else if (p->flags & P_BOOL) {
- len = 1; // a toggle option fits always
+ len = 1; // a toggle option fits always
} else {
option_value2string(p, opt_flags);
len = (int)strlen(p->fullname) + vim_strsize(NameBuff) + 1;
}
- if ((len <= INC - GAP && run == 1)
- || (len > INC - GAP && run == 2)) {
+ if ((len <= INC - GAP && run == 1) || (len > INC - GAP && run == 2)) {
items[item_count++] = p;
}
}
@@ -3975,26 +3918,24 @@ static void showoptions(bool all, int opt_flags)
// display the items
if (run == 1) {
- assert(Columns <= INT_MAX - GAP
- && Columns + GAP >= INT_MIN + 3
- && (Columns + GAP - 3) / INC >= INT_MIN
- && (Columns + GAP - 3) / INC <= INT_MAX);
+ assert(Columns <= INT_MAX - GAP && Columns + GAP >= INT_MIN + 3
+ && (Columns + GAP - 3) / INC >= INT_MIN && (Columns + GAP - 3) / INC <= INT_MAX);
int cols = (Columns + GAP - 3) / INC;
if (cols == 0) {
cols = 1;
}
rows = (item_count + cols - 1) / cols;
- } else { // run == 2
+ } else { // run == 2
rows = item_count;
}
for (int row = 0; row < rows && !got_int; row++) {
- msg_putchar('\n'); // go to next line
- if (got_int) { // 'q' typed in more
+ msg_putchar('\n'); // go to next line
+ if (got_int) { // 'q' typed in more
break;
}
int col = 0;
for (int i = row; i < item_count; i += rows) {
- msg_col = col; // make columns
+ msg_col = col; // make columns
showoneopt(items[i], opt_flags);
col += INC;
}
@@ -4008,7 +3949,7 @@ static void showoptions(bool all, int opt_flags)
static int optval_default(vimoption_T *p, const void *varp)
{
if (varp == NULL) {
- return true; // hidden option is always at default
+ return true; // hidden option is always at default
}
if (p->flags & P_NUM) {
return *(OptInt *)varp == (OptInt)(intptr_t)p->def_val;
@@ -4055,13 +3996,13 @@ static void showoneopt(vimoption_T *p, int opt_flags)
int save_silent = silent_mode;
silent_mode = false;
- info_message = true; // use os_msg(), not os_errmsg()
+ info_message = true; // use os_msg(), not os_errmsg()
void *varp = get_varp_scope(p, opt_flags);
// for 'modified' we also need to check if 'ff' or 'fenc' changed.
- if ((p->flags & P_BOOL) && ((int *)varp == &curbuf->b_changed
- ? !curbufIsChanged() : !*(int *)varp)) {
+ if ((p->flags & P_BOOL)
+ && ((int *)varp == &curbuf->b_changed ? !curbufIsChanged() : !*(int *)varp)) {
msg_puts("no");
} else if ((p->flags & P_BOOL) && *(int *)varp < 0) {
msg_puts("--");
@@ -4111,8 +4052,7 @@ int makeset(FILE *fd, int opt_flags, int local_only)
// P_PRI_MKRC flag and once without.
for (int pri = 1; pri >= 0; pri--) {
for (vimoption_T *p = &options[0]; p->fullname; p++) {
- if (!(p->flags & P_NO_MKRC)
- && ((pri == 1) == ((p->flags & P_PRI_MKRC) != 0))) {
+ if (!(p->flags & P_NO_MKRC) && ((pri == 1) == ((p->flags & P_PRI_MKRC) != 0))) {
// skip global option when only doing locals
if (p->indir == PV_NONE && !(opt_flags & OPT_GLOBAL)) {
continue;
@@ -4134,8 +4074,7 @@ int makeset(FILE *fd, int opt_flags, int local_only)
continue;
}
- if ((opt_flags & OPT_SKIPRTP)
- && (p->var == &p_rtp || p->var == &p_pp)) {
+ if ((opt_flags & OPT_SKIPRTP) && (p->var == &p_rtp || p->var == &p_pp)) {
continue;
}
@@ -4178,14 +4117,13 @@ int makeset(FILE *fd, int opt_flags, int local_only)
if (put_setnum(fd, cmd, p->fullname, (OptInt *)varp) == FAIL) {
return FAIL;
}
- } else { // P_STRING
+ } else { // P_STRING
int do_endif = false;
// Don't set 'syntax' and 'filetype' again if the value is
// already right, avoids reloading the syntax file.
if (p->indir == PV_SYN || p->indir == PV_FT) {
- if (fprintf(fd, "if &%s != '%s'", p->fullname,
- *(char **)(varp)) < 0
+ if (fprintf(fd, "if &%s != '%s'", p->fullname, *(char **)(varp)) < 0
|| put_eol(fd) < 0) {
return FAIL;
}
@@ -4245,8 +4183,7 @@ static int put_setstring(FILE *fd, char *cmd, char *name, char **valuep, uint64_
// If the option value is longer than MAXPATHL, we need to append
// each comma separated part of the option separately, so that it
// can be expanded when read back.
- if (size >= MAXPATHL && (flags & P_COMMA) != 0
- && vim_strchr(*valuep, ',') != NULL) {
+ if (size >= MAXPATHL && (flags & P_COMMA) != 0 && vim_strchr(*valuep, ',') != NULL) {
part = xmalloc(size);
// write line break to clear the option, e.g. ':set rtp='
@@ -4310,11 +4247,10 @@ static int put_setnum(FILE *fd, char *cmd, char *name, OptInt *valuep)
static int put_setbool(FILE *fd, char *cmd, char *name, int value)
{
- if (value < 0) { // global/local option using global value
+ if (value < 0) { // global/local option using global value
return OK;
}
- if (fprintf(fd, "%s %s%s", cmd, value ? "" : "no", name) < 0
- || put_eol(fd) < 0) {
+ if (fprintf(fd, "%s %s%s", cmd, value ? "" : "no", name) < 0 || put_eol(fd) < 0) {
return FAIL;
}
return OK;
@@ -4387,7 +4323,7 @@ void *get_varp_scope_from(vimoption_T *p, int scope, buf_T *buf, win_T *win)
case PV_VE:
return &(win->w_p_ve);
}
- return NULL; // "cannot happen"
+ return NULL; // "cannot happen"
}
return get_varp_from(p, buf, win);
}
@@ -4587,6 +4523,8 @@ void *get_varp_from(vimoption_T *p, buf_T *buf, win_T *win)
return &(buf->b_p_cfu);
case PV_OFU:
return &(buf->b_p_ofu);
+ case PV_URF:
+ return &(buf->b_p_urf);
case PV_EOF:
return &(buf->b_p_eof);
case PV_EOL:
@@ -4667,6 +4605,8 @@ void *get_varp_from(vimoption_T *p, buf_T *buf, win_T *win)
return &(buf->b_p_sw);
case PV_TFU:
return &(buf->b_p_tfu);
+ case PV_UMF:
+ return &(buf->b_p_umf);
case PV_TS:
return &(buf->b_p_ts);
case PV_TW:
@@ -4790,7 +4730,7 @@ void copy_winopt(winopt_T *from, winopt_T *to)
// Copy the script context so that we know were the value was last set.
memmove(to->wo_script_ctx, from->wo_script_ctx, sizeof(to->wo_script_ctx));
- check_winopt(to); // don't want NULL pointers
+ check_winopt(to); // don't want NULL pointers
}
/// Check string options in a window for a NULL value.
@@ -4898,7 +4838,7 @@ static void init_buf_opt_idx(void)
void buf_copy_options(buf_T *buf, int flags)
{
int should_copy = true;
- char *save_p_isk = NULL; // init for GCC
+ char *save_p_isk = NULL; // init for GCC
int did_isk = false;
// Skip this when the option defaults have not been set yet. Happens when
@@ -4918,8 +4858,7 @@ void buf_copy_options(buf_T *buf, int flags)
///
if ((vim_strchr(p_cpo, CPO_BUFOPTGLOB) == NULL || !(flags & BCO_ENTER))
&& (buf->b_p_initialized
- || (!(flags & BCO_ENTER)
- && vim_strchr(p_cpo, CPO_BUFOPT) != NULL))) {
+ || (!(flags & BCO_ENTER) && vim_strchr(p_cpo, CPO_BUFOPT) != NULL))) {
should_copy = false;
}
@@ -4930,7 +4869,7 @@ void buf_copy_options(buf_T *buf, int flags)
// BCO_NOHELP is given or the options were initialized already
// (jumping back to a help file with CTRL-T or CTRL-O)
bool dont_do_help = ((flags & BCO_NOHELP) && buf->b_help) || buf->b_p_initialized;
- if (dont_do_help) { // don't free b_p_isk
+ if (dont_do_help) { // don't free b_p_isk
save_p_isk = buf->b_p_isk;
buf->b_p_isk = NULL;
}
@@ -4938,7 +4877,7 @@ void buf_copy_options(buf_T *buf, int flags)
// reset 'readonly' and copy 'fileformat'.
if (!buf->b_p_initialized) {
free_buf_options(buf, true);
- buf->b_p_ro = false; // don't copy readonly
+ buf->b_p_ro = false; // don't copy readonly
buf->b_p_fenc = xstrdup(p_fenc);
switch (*p_ffs) {
case 'm':
@@ -5007,9 +4946,13 @@ void buf_copy_options(buf_T *buf, int flags)
set_buflocal_cfu_callback(buf);
buf->b_p_ofu = xstrdup(p_ofu);
COPY_OPT_SCTX(buf, BV_OFU);
+ buf->b_p_urf = xstrdup(p_urf);
+ COPY_OPT_SCTX(buf, BV_URF);
set_buflocal_ofu_callback(buf);
buf->b_p_tfu = xstrdup(p_tfu);
COPY_OPT_SCTX(buf, BV_TFU);
+ buf->b_p_umf = xstrdup(p_umf);
+ COPY_OPT_SCTX(buf, BV_UMF);
set_buflocal_tfu_callback(buf);
buf->b_p_sts = p_sts;
COPY_OPT_SCTX(buf, BV_STS);
@@ -5161,7 +5104,7 @@ void buf_copy_options(buf_T *buf, int flags)
}
}
- check_buf_options(buf); // make sure we don't have NULLs
+ check_buf_options(buf); // make sure we don't have NULLs
if (did_isk) {
(void)buf_init_chartab(buf, false);
}
@@ -5247,12 +5190,12 @@ void set_context_in_set_cmd(expand_T *xp, char *arg, int opt_flags)
if (*arg == '<') {
while (*p != '>') {
- if (*p++ == NUL) { // expand terminal option name
+ if (*p++ == NUL) { // expand terminal option name
return;
}
}
int key = get_special_key_code(arg + 1);
- if (key == 0) { // unknown name
+ if (key == 0) { // unknown name
xp->xp_context = EXPAND_NOTHING;
return;
}
@@ -5267,7 +5210,7 @@ void set_context_in_set_cmd(expand_T *xp, char *arg, int opt_flags)
p++;
}
if (*p == NUL) {
- return; // expand option name
+ return; // expand option name
}
nextchar = *++p;
is_term_option = true;
@@ -5307,8 +5250,7 @@ void set_context_in_set_cmd(expand_T *xp, char *arg, int opt_flags)
p++;
nextchar = '=';
}
- if ((nextchar != '=' && nextchar != ':')
- || xp->xp_context == EXPAND_BOOL_SETTINGS) {
+ if ((nextchar != '=' && nextchar != ':') || xp->xp_context == EXPAND_BOOL_SETTINGS) {
xp->xp_context = EXPAND_UNSUCCESSFUL;
return;
}
@@ -5340,8 +5282,7 @@ void set_context_in_set_cmd(expand_T *xp, char *arg, int opt_flags)
if (expand_option_subtract) {
xp->xp_context = EXPAND_SETTING_SUBTRACT;
return;
- } else if (expand_option_idx >= 0
- && options[expand_option_idx].opt_expand_cb != NULL) {
+ } else if (expand_option_idx >= 0 && options[expand_option_idx].opt_expand_cb != NULL) {
xp->xp_context = EXPAND_STRING_SETTING;
} else if (*xp->xp_pattern == NUL) {
xp->xp_context = EXPAND_OLD_SETTING;
@@ -5359,13 +5300,8 @@ void set_context_in_set_cmd(expand_T *xp, char *arg, int opt_flags)
// Options that have P_EXPAND are considered to all use file/dir expansion.
if (flags & P_EXPAND) {
p = options[opt_idx].var;
- if (p == (char *)&p_bdir
- || p == (char *)&p_dir
- || p == (char *)&p_path
- || p == (char *)&p_pp
- || p == (char *)&p_rtp
- || p == (char *)&p_cdpath
- || p == (char *)&p_vdir) {
+ if (p == (char *)&p_bdir || p == (char *)&p_dir || p == (char *)&p_path || p == (char *)&p_pp
+ || p == (char *)&p_rtp || p == (char *)&p_cdpath || p == (char *)&p_vdir) {
xp->xp_context = EXPAND_DIRECTORIES;
if (p == (char *)&p_path || p == (char *)&p_cdpath) {
xp->xp_backslash = XP_BS_THREE;
@@ -5489,10 +5425,9 @@ int ExpandSettings(expand_T *xp, regmatch_T *regmatch, char *fuzzystr, int *numM
for (int loop = 0; loop <= 1; loop++) {
regmatch->rm_ic = ic;
if (xp->xp_context != EXPAND_BOOL_SETTINGS) {
- for (int match = 0; match < (int)ARRAY_SIZE(names);
- match++) {
- if (match_str(names[match], regmatch, *matches,
- count, (loop == 0), fuzzy, fuzzystr, fuzmatch)) {
+ for (int match = 0; match < (int)ARRAY_SIZE(names); match++) {
+ if (match_str(names[match], regmatch, *matches, count, (loop == 0), fuzzy, fuzzystr,
+ fuzmatch)) {
if (loop == 0) {
num_normal++;
} else {
@@ -5502,18 +5437,15 @@ int ExpandSettings(expand_T *xp, regmatch_T *regmatch, char *fuzzystr, int *numM
}
}
char *str;
- for (size_t opt_idx = 0; (str = options[opt_idx].fullname) != NULL;
- opt_idx++) {
+ for (size_t opt_idx = 0; (str = options[opt_idx].fullname) != NULL; opt_idx++) {
if (options[opt_idx].var == NULL) {
continue;
}
- if (xp->xp_context == EXPAND_BOOL_SETTINGS
- && !(options[opt_idx].flags & P_BOOL)) {
+ if (xp->xp_context == EXPAND_BOOL_SETTINGS && !(options[opt_idx].flags & P_BOOL)) {
continue;
}
- if (match_str(str, regmatch, *matches, count, (loop == 0),
- fuzzy, fuzzystr, fuzmatch)) {
+ if (match_str(str, regmatch, *matches, count, (loop == 0), fuzzy, fuzzystr, fuzmatch)) {
if (loop == 0) {
num_normal++;
} else {
@@ -5566,10 +5498,8 @@ static char *escape_option_str_cmdline(char *var)
// before a file name character.
// The reverse is found at stropt_copy_value().
for (var = buf; *var != NUL; MB_PTR_ADV(var)) {
- if (var[0] == '\\' && var[1] == '\\'
- && expand_option_idx >= 0
- && (options[expand_option_idx].flags & P_EXPAND)
- && vim_isfilec((uint8_t)var[2])
+ if (var[0] == '\\' && var[1] == '\\' && expand_option_idx >= 0
+ && (options[expand_option_idx].flags & P_EXPAND) && vim_isfilec((uint8_t)var[2])
&& (var[2] != '\\' || (var == buf && var[4] != '\\'))) {
STRMOVE(var, var + 1);
}
@@ -5609,8 +5539,7 @@ int ExpandOldSetting(int *numMatches, char ***matches)
/// Expansion handler for :set=/:set+= when the option has a custom expansion handler.
int ExpandStringSetting(expand_T *xp, regmatch_T *regmatch, int *numMatches, char ***matches)
{
- if (expand_option_idx < 0
- || options[expand_option_idx].opt_expand_cb == NULL) {
+ if (expand_option_idx < 0 || options[expand_option_idx].opt_expand_cb == NULL) {
// Not supposed to reach this. This function is only for options with
// custom expansion callbacks.
return FAIL;
@@ -5647,9 +5576,8 @@ int ExpandSettingSubtract(expand_T *xp, regmatch_T *regmatch, int *numMatches, c
return ExpandOldSetting(numMatches, matches);
}
- char *option_val = *(char **)get_option_varp_scope_from(expand_option_idx,
- expand_option_flags,
- curbuf, curwin);
+ char *option_val
+ = *(char **)get_option_varp_scope_from(expand_option_idx, expand_option_flags, curbuf, curwin);
uint32_t option_flags = options[expand_option_idx].flags;
@@ -5760,10 +5688,7 @@ static void option_value2string(vimoption_T *opp, int scope)
} else if (wc != 0) {
xstrlcpy(NameBuff, transchar((int)wc), sizeof(NameBuff));
} else {
- snprintf(NameBuff,
- sizeof(NameBuff),
- "%" PRId64,
- (int64_t)(*(OptInt *)varp));
+ snprintf(NameBuff, sizeof(NameBuff), "%" PRId64, (int64_t)(*(OptInt *)varp));
}
} else { // P_STRING
varp = *(char **)(varp);
@@ -5797,8 +5722,7 @@ bool shortmess(int x)
{
return (p_shm != NULL
&& (vim_strchr(p_shm, x) != NULL
- || (vim_strchr(p_shm, 'a') != NULL
- && vim_strchr(SHM_ALL_ABBREVIATIONS, x) != NULL)));
+ || (vim_strchr(p_shm, 'a') != NULL && vim_strchr(SHM_ALL_ABBREVIATIONS, x) != NULL)));
}
/// vimrc_found() - Called when a vimrc or "VIMINIT" has been found.
@@ -5922,8 +5846,7 @@ int option_set_callback_func(char *optval, Callback *optcb)
}
typval_T *tv;
- if (*optval == '{'
- || (strncmp(optval, "function(", 9) == 0)
+ if (*optval == '{' || (strncmp(optval, "function(", 9) == 0)
|| (strncmp(optval, "funcref(", 8) == 0)) {
// Lambda expression or a funcref
tv = eval_expr(optval, NULL);
@@ -6009,8 +5932,7 @@ unsigned get_ve_flags(void)
///
/// @param win If not NULL, the window to get the local option from; global
/// otherwise.
-char *get_showbreak_value(win_T *const win)
- FUNC_ATTR_WARN_UNUSED_RESULT
+char *get_showbreak_value(win_T *const win) FUNC_ATTR_WARN_UNUSED_RESULT
{
if (win->w_p_sbr == NULL || *win->w_p_sbr == NUL) {
return p_sbr;
@@ -6040,16 +5962,14 @@ int get_fileformat(const buf_T *buf)
/// argument.
///
/// @param eap can be NULL!
-int get_fileformat_force(const buf_T *buf, const exarg_T *eap)
- FUNC_ATTR_NONNULL_ARG(1)
+int get_fileformat_force(const buf_T *buf, const exarg_T *eap) FUNC_ATTR_NONNULL_ARG(1)
{
int c;
if (eap != NULL && eap->force_ff != 0) {
c = eap->force_ff;
} else {
- if ((eap != NULL && eap->force_bin != 0)
- ? (eap->force_bin == FORCE_BIN) : buf->b_p_bin) {
+ if ((eap != NULL && eap->force_bin != 0) ? (eap->force_bin == FORCE_BIN) : buf->b_p_bin) {
return EOL_UNIX;
}
c = (unsigned char)(*buf->b_p_ff);
@@ -6152,7 +6072,7 @@ size_t copy_option_part(char **option, char *buf, size_t maxlen, char *sep_chars
if (*p != NUL && *p != ',') { // skip non-standard separator
p++;
}
- p = skip_to_option_part(p); // p points to next file name
+ p = skip_to_option_part(p); // p points to next file name
*option = p;
return len;
@@ -6185,25 +6105,21 @@ int win_signcol_count(win_T *wp)
}
/// Get window or buffer local options
-dict_T *get_winbuf_options(const int bufopt)
- FUNC_ATTR_WARN_UNUSED_RESULT
+dict_T *get_winbuf_options(const int bufopt) FUNC_ATTR_WARN_UNUSED_RESULT
{
dict_T *const d = tv_dict_alloc();
for (int opt_idx = 0; options[opt_idx].fullname; opt_idx++) {
struct vimoption *opt = &options[opt_idx];
- if ((bufopt && (opt->indir & PV_BUF))
- || (!bufopt && (opt->indir & PV_WIN))) {
+ if ((bufopt && (opt->indir & PV_BUF)) || (!bufopt && (opt->indir & PV_WIN))) {
void *varp = get_varp(opt);
if (varp != NULL) {
if (opt->flags & P_STRING) {
- tv_dict_add_str(d, opt->fullname, strlen(opt->fullname),
- *(const char **)varp);
+ tv_dict_add_str(d, opt->fullname, strlen(opt->fullname), *(const char **)varp);
} else if (opt->flags & P_NUM) {
- tv_dict_add_nr(d, opt->fullname, strlen(opt->fullname),
- *(OptInt *)varp);
+ tv_dict_add_nr(d, opt->fullname, strlen(opt->fullname), *(OptInt *)varp);
} else {
tv_dict_add_nr(d, opt->fullname, strlen(opt->fullname), *(int *)varp);
}
@@ -6235,9 +6151,8 @@ int get_sidescrolloff_value(win_T *wp)
Dictionary get_vimoption(String name, int scope, buf_T *buf, win_T *win, Error *err)
{
int opt_idx = findoption_len(name.data, name.size);
- VALIDATE_S(opt_idx >= 0, "option (not found)", name.data, {
- return (Dictionary)ARRAY_DICT_INIT;
- });
+ VALIDATE_S(opt_idx >= 0, "option (not found)", name.data,
+ { return (Dictionary)ARRAY_DICT_INIT; });
return vimoption2dict(&options[opt_idx], scope, buf, win);
}
@@ -6311,7 +6226,8 @@ static Dictionary vimoption2dict(vimoption_T *opt, int req_scope, buf_T *buf, wi
type = "boolean";
def = BOOLEAN_OBJ((intptr_t)def_val);
} else {
- type = ""; def = NIL;
+ type = "";
+ def = NIL;
}
PUT(dict, "type", CSTR_TO_OBJ(type));
PUT(dict, "default", def);