aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/mbyte.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2023-05-22 14:16:42 +0200
committerGitHub <noreply@github.com>2023-05-22 14:16:42 +0200
commit07883940b2294e0ab32fb58e6624d18d9dd1715a (patch)
tree2ce3b16ad7b6e96a4141a8502a3c667071ebf814 /src/nvim/mbyte.c
parentcb34d0ddd086141d6afcb9c48eae180abbeffecc (diff)
parent6eeb28845a930fbfe128dc3edc7969b0d9b2ed1c (diff)
downloadrneovim-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.c18
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)
{