Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bad support for emoji #749

Closed
sumneko opened this issue Oct 21, 2021 · 7 comments
Closed

Bad support for emoji #749

sumneko opened this issue Oct 21, 2021 · 7 comments
Labels
enhancement New feature or request
Milestone

Comments

@sumneko
Copy link
Collaborator

sumneko commented Oct 21, 2021

see https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#textDocuments
The offsets should be based on a UTF-16 string representation, however this extension used UTF-8.
The length of emoji in UTF-16 is 2 while in UTF-8 is 1, which makes incorrect offsets calc.

@sumneko sumneko added bug Something isn't working enhancement New feature or request and removed bug Something isn't working labels Oct 21, 2021
@sumneko sumneko added this to the 2.5.0 milestone Oct 22, 2021
@sumneko
Copy link
Collaborator Author

sumneko commented Oct 22, 2021

@lilystudent2016
Copy link

似乎是昨天更新后才出现这样的问题?现在输入中文注释或者想往控制台输出中文,vscode就会有弹窗报以下错误

[Error - 上午11:19:06] Request textDocument/semanticTokens/range failed.
Message: [11:19:06.832][error][#0:script\encoder\utf16le.lua:37]: script\encoder\utf16le.lua:7: attempt to perform bitwise operation on a nil value (local 'h')
stack traceback:
script\encoder\utf16le.lua:37: in function 'encoder.utf16le.decode'
script\encoder\init.lua:45: in function 'encoder.offset'
script\proto\converter.lua:75: in function <script\proto\converter.lua:68>
(...tail calls...)
script\proto\converter.lua:137: in function 'proto.converter.unpackRange'
script\provider\provider.lua:711: in function <script\provider\provider.lua:699>
[C]: in function 'xpcall'
script\proto\proto.lua:148: in function <script\proto\proto.lua:123>

Code: -32603

[Error - 上午11:04:08] Request textDocument/codeAction failed.
Message: [11:04:08.784][error][#0:script\encoder\utf16le.lua:22]: script\encoder\utf16le.lua:22: invalid UTF-8 code
stack traceback:
script\encoder\utf16le.lua:22: in function 'encoder.utf16le.encode'
script\encoder\init.lua:44: in function 'encoder.offset'
script\proto\converter.lua:75: in function <script\proto\converter.lua:68>
(...tail calls...)
script\proto\converter.lua:136: in function 'proto.converter.unpackRange'
script\provider\provider.lua:617: in function <script\provider\provider.lua:608>
[C]: in function 'xpcall'
script\proto\proto.lua:148: in function <script\proto\proto.lua:123>

Code: -32603

@sumneko
Copy link
Collaborator Author

sumneko commented Oct 27, 2021

可以提供一些演示吗,我这边没法再现

@lilystudent2016
Copy link

就像这样光标在中文上就弹窗报错,Request textDocument xxx failed
image

@sumneko
Copy link
Collaborator Author

sumneko commented Oct 27, 2021

utf-8
我yiran依然无法重现,你能弄一个可以重现的最小演示代码发给我嘛?

@lilystudent2016
Copy link

确实有点奇怪,复制单文件到新路径用vscode打开,也会出现这个弹窗报错但不在同一个地方。目前试验发现是中文的?号处会报错,不知道能否复现。
还是不能复现可以试试这个文件https://github.com/lilystudent2016/QSanguosha-For-Hegemony-Qt6/blob/75af89280c1ce3cb655915e7288471f462ff75f7/lua/ai/power-ai.lua

@sumneko
Copy link
Collaborator Author

sumneko commented Oct 27, 2021

在中文标点符号处可以再现,谢谢!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants