summaryrefslogtreecommitdiffstats
path: root/parser.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2020-04-17 18:55:19 -0700
committerKaz Kylheku <kaz@kylheku.com>2020-04-17 18:55:19 -0700
commit364f0437f66da9ae980266ef437519de9eb0f970 (patch)
tree54f3137827c9302cf3175c58b62f22a6d2924054 /parser.c
parent6c593ff0ce9277a8ddc98eaa1980b3e6f0832fa5 (diff)
downloadtxr-364f0437f66da9ae980266ef437519de9eb0f970.tar.gz
txr-364f0437f66da9ae980266ef437519de9eb0f970.tar.bz2
txr-364f0437f66da9ae980266ef437519de9eb0f970.zip
listener: completion for Unicode identifiers.
* parser.c (provide_completions): Recognize U+0080 and higer characters as token constituents, allowing completion to work for symbols which use these characters.
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/parser.c b/parser.c
index ad892e91..b1dfc693 100644
--- a/parser.c
+++ b/parser.c
@@ -995,7 +995,8 @@ static void provide_completions(const wchar_t *data,
if (!ptr)
goto out;
- while ((iswalnum(convert(wint_t, *ptr)) || wcschr(gly, *ptr)) &&
+ while ((iswalnum(convert(wint_t, *ptr)) || wcschr(gly, *ptr) ||
+ *ptr >= 0x80) &&
(sym = ptr) && ptr > data)
ptr--;
@@ -1010,7 +1011,8 @@ static void provide_completions(const wchar_t *data,
} else {
ptr--;
- while ((iswalnum(convert(wint_t, *ptr)) || wcschr(gly, *ptr)) &&
+ while ((iswalnum(convert(wint_t, *ptr)) || wcschr(gly, *ptr) ||
+ *ptr >= 0x80) &&
(pkg = ptr) && ptr > data)
ptr--;