diff options
author | bfredl <bjorn.linse@gmail.com> | 2023-05-22 14:16:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-22 14:16:42 +0200 |
commit | 07883940b2294e0ab32fb58e6624d18d9dd1715a (patch) | |
tree | 2ce3b16ad7b6e96a4141a8502a3c667071ebf814 /src/nvim/mbyte.c | |
parent | cb34d0ddd086141d6afcb9c48eae180abbeffecc (diff) | |
parent | 6eeb28845a930fbfe128dc3edc7969b0d9b2ed1c (diff) | |
download | rneovim-07883940b2294e0ab32fb58e6624d18d9dd1715a.tar.gz rneovim-07883940b2294e0ab32fb58e6624d18d9dd1715a.tar.bz2 rneovim-07883940b2294e0ab32fb58e6624d18d9dd1715a.zip |
Merge pull request #20130 from bfredl/inline
feat(ui): inline virtual text
Diffstat (limited to 'src/nvim/mbyte.c')
-rw-r--r-- | src/nvim/mbyte.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c index 7d61b918d2..66c26275f1 100644 --- a/src/nvim/mbyte.c +++ b/src/nvim/mbyte.c @@ -2024,6 +2024,24 @@ int mb_charlen(const char *str) return count; } +int mb_charlen2bytelen(const char *str, int charlen) +{ + const char *p = str; + int count = 0; + + if (p == NULL) { + return 0; + } + + for (int i = 0; *p != NUL && i < charlen; i++) { + int b = utfc_ptr2len(p); + p += b; + count += b; + } + + return count; +} + /// Like mb_charlen() but for a string with specified length. int mb_charlen_len(const char *str, int len) { |