aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/usercmd.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-02-10 12:07:37 +0100
committerGitHub <noreply@github.com>2024-02-10 12:07:37 +0100
commit607606e3bb7a435ac5a0eba2eb4abde8eff774bb (patch)
treed8c984815503a709cd5f122cf08aaa00d5b1a73d /src/nvim/usercmd.c
parent4948fa42efb90333a3b5738fd943b75f35415a7b (diff)
parent2d0e29614b4417e9764b9f7d588a50fe7f752749 (diff)
downloadrneovim-607606e3bb7a435ac5a0eba2eb4abde8eff774bb.tar.gz
rneovim-607606e3bb7a435ac5a0eba2eb4abde8eff774bb.tar.bz2
rneovim-607606e3bb7a435ac5a0eba2eb4abde8eff774bb.zip
Merge pull request #27398 from bfredl/arena2
refactor(api): use arena for more stuff
Diffstat (limited to 'src/nvim/usercmd.c')
-rw-r--r--src/nvim/usercmd.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/nvim/usercmd.c b/src/nvim/usercmd.c
index e20c3f6044..729e57cb2b 100644
--- a/src/nvim/usercmd.c
+++ b/src/nvim/usercmd.c
@@ -1136,6 +1136,20 @@ bool uc_split_args_iter(const char *arg, size_t arglen, size_t *end, char *buf,
return true;
}
+size_t uc_nargs_upper_bound(const char *arg, size_t arglen)
+{
+ bool was_white = true; // space before first arg
+ size_t nargs = 0;
+ for (size_t i = 0; i < arglen; i++) {
+ bool is_white = ascii_iswhite(arg[i]);
+ if (was_white && !is_white) {
+ nargs++;
+ }
+ was_white = is_white;
+ }
+ return nargs;
+}
+
/// split and quote args for <f-args>
static char *uc_split_args(const char *arg, char **args, const size_t *arglens, size_t argc,
size_t *lenp)