diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-03-11 21:01:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-11 21:01:47 +0100 |
commit | 9312e2d06ae29db2e21b575b007c29da514e5df3 (patch) | |
tree | 0a4e12ff9280c0c0922ce1c29f355794b46446b1 /src | |
parent | 3b63374b33a3db38a3d2b2e467f7902b6a9fe1af (diff) | |
download | rneovim-9312e2d06ae29db2e21b575b007c29da514e5df3.tar.gz rneovim-9312e2d06ae29db2e21b575b007c29da514e5df3.tar.bz2 rneovim-9312e2d06ae29db2e21b575b007c29da514e5df3.zip |
autocmd: rename "once" => "-once" #9713
- Rename "nested" to "-nested", but continue to support "nested" for
backwards-compatibility.
- Allow any order: "-once -nested" or "-nested -once".
ref https://github.com/neovim/neovim/pull/9706#issuecomment-471295747
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/fileio.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index f111376d84..51180c4939 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -6047,20 +6047,23 @@ void do_autocmd(char_u *arg_in, int forceit) } } - // Check for "once" flag. cmd = skipwhite(cmd); - if (*cmd != NUL && STRNCMP(cmd, "once", 4) == 0 - && ascii_iswhite(cmd[4])) { - once = true; - cmd = skipwhite(cmd + 4); - } - - // Check for "nested" flag. - cmd = skipwhite(cmd); - if (*cmd != NUL && STRNCMP(cmd, "nested", 6) == 0 - && ascii_iswhite(cmd[6])) { - nested = true; - cmd = skipwhite(cmd + 6); + for (size_t i = 0; i < 2; i++) { + if (*cmd != NUL) { + // Check for "-once" flag. + if (!once && STRNCMP(cmd, "-once", 5) == 0 && ascii_iswhite(cmd[5])) { + once = true; + cmd = skipwhite(cmd + 5); + } + // Check for "-nested" flag. + if (!nested + && ((STRNCMP(cmd, "-nested", 7) == 0 && ascii_iswhite(cmd[7])) + // Deprecated form (without "-"). + || (STRNCMP(cmd, "nested", 6) == 0 && ascii_iswhite(cmd[6])))) { + nested = true; + cmd = skipwhite(cmd + ('-' == cmd[0] ? 7 : 6)); + } + } } // Find the start of the commands. |