From 74ec230c630b71292a06f1008db487d083047409 Mon Sep 17 00:00:00 2001 From: RoaringFerrum Date: Tue, 29 Nov 2022 14:35:56 +0800 Subject: [PATCH] fix completion failure on utf-8 multi-byte characters. --- plugin/clang/cindex.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugin/clang/cindex.py b/plugin/clang/cindex.py index 4e6e3c5b..00fe6165 100644 --- a/plugin/clang/cindex.py +++ b/plugin/clang/cindex.py @@ -2025,7 +2025,7 @@ def from_source(cls, filename, args=None, unsaved_files=None, options=0, unsaved_array[i].name = encode(name) unsaved_array[i].contents = encode(contents) - unsaved_array[i].length = len(contents) + unsaved_array[i].length = len(unsaved_array[i].contents) ptr = conf.lib.clang_parseTranslationUnit(index, encode(filename), args_array, len(args), unsaved_array, @@ -2207,7 +2207,7 @@ def reparse(self, unsaved_files=None, options=0): raise TypeError('Unexpected unsaved file contents.') unsaved_files_array[i].name = encode(name) unsaved_files_array[i].contents = encode(value) - unsaved_files_array[i].length = len(value) + unsaved_files_array[i].length = len(unsaved_files_array[i].contents) ptr = conf.lib.clang_reparseTranslationUnit(self, len(unsaved_files), unsaved_files_array, options) @@ -2271,7 +2271,7 @@ def codeComplete(self, path, line, column, unsaved_files=None, raise TypeError('Unexpected unsaved file contents.') unsaved_files_array[i].name = encode(name) unsaved_files_array[i].contents = encode(value) - unsaved_files_array[i].length = len(value) + unsaved_files_array[i].length = len(unsaved_files_array[i].contents) ptr = conf.lib.clang_codeCompleteAt(self, encode(path), line, column, unsaved_files_array, len(unsaved_files), options) if ptr: