aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/main.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2025-01-05 17:10:16 -0800
committerGitHub <noreply@github.com>2025-01-05 17:10:16 -0800
commit5e02a2c47072ec08279b830daa6f82e39ba86c6e (patch)
treeac44f70b814e85c9398b531b577e6ebf203c5340 /src/nvim/main.c
parent570a8da01b55c3aad1f057be236f55ccf82ed8af (diff)
downloadrneovim-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.c6
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) {