diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2025-01-05 17:10:16 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-05 17:10:16 -0800 |
commit | 5e02a2c47072ec08279b830daa6f82e39ba86c6e (patch) | |
tree | ac44f70b814e85c9398b531b577e6ebf203c5340 /src/nvim/main.c | |
parent | 570a8da01b55c3aad1f057be236f55ccf82ed8af (diff) | |
download | rneovim-5e02a2c47072ec08279b830daa6f82e39ba86c6e.tar.gz rneovim-5e02a2c47072ec08279b830daa6f82e39ba86c6e.tar.bz2 rneovim-5e02a2c47072ec08279b830daa6f82e39ba86c6e.zip |
"nvim -es": disable shada #21723
Problem:
`nvim -es` (and `nvim -Es`) is the recommended way to non-interactively
run commands/vimscript. But it enables shada by default, which is
usually not wanted.
Solution:
- Disable shada by default for `nvim -es/-Es`. This can be overridden by
`-i foo` if needed.
- Do NOT change the 'loadplugins' default.
- User config + packages _should_ be enabled by default, for both `nvim
-es` and `nvim -l`. Else any Lua packages you have can't be accessed
without `-u path/to/config`, which is clumsy.
- Use-cases:
```
nvim --headless "+Lazy! sync" +qa
would become: nvim -es "+Lazy! sync"
nvim --headless +PlugInstall +qall
would become: nvim -es +PlugInstall
```
- Opt-out (`--clean` or `-u NONE`) is much easier than opt-in (`-u
path/to/config`).
- User config/packages are analogous to pip packages, which are
expected when doing `python -c ...`.
related: 7c94bcd2d77e2e54b8836ab8325460a367b79eae
related: ddd0eb6f5120a09b97867d2561ea61309038ccd2
Diffstat (limited to 'src/nvim/main.c')
-rw-r--r-- | src/nvim/main.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c index 2b55a48c12..58d110e8b2 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -1228,6 +1228,9 @@ static void command_line_scan(mparm_T *parmp) if (exmode_active) { // "-es" silent (batch) Ex-mode silent_mode = true; parmp->no_swap_file = true; + if (p_shadafile == NULL || *p_shadafile == NUL) { + set_option_value_give_err(kOptShadafile, STATIC_CSTR_AS_OPTVAL("NONE"), 0); + } } else { // "-s {scriptin}" read from script file want_argument = true; } @@ -2085,8 +2088,7 @@ static void source_startup_scripts(const mparm_T *const parmp) { // If -u given, use only the initializations from that file and nothing else. if (parmp->use_vimrc != NULL) { - if (strequal(parmp->use_vimrc, "NONE") - || strequal(parmp->use_vimrc, "NORC")) { + if (strequal(parmp->use_vimrc, "NONE") || strequal(parmp->use_vimrc, "NORC")) { // Do nothing. } else { if (do_source(parmp->use_vimrc, false, DOSO_NONE, NULL) != OK) { |