WhatsApp / erlang-language-platform

Erlang Language Platform. LSP server and CLI.
https://whatsapp.github.io/erlang-language-platform/
Apache License 2.0
209 stars 16 forks source link

Request textDocument/codeAction failed #24

Closed misaki214 closed 1 month ago

misaki214 commented 2 months ago

Describe the bug

When clicking on the file, the following error message pops up:

image

Error report:

thread '<unnamed>' panicked at crates/base_db/src/lib.rs:218:13:
byte index 2001 is not a char boundary; it is inside '使' (bytes 1999..2002) of `%%%=============================================================================
%%% @doc    test.erl
%%% @author 
%%% @since  2022-11-21
%%% @deprecated 头文件头文件new.
%%%============================================================================`[...]
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[Error - 2:01:59 PM] Request textDocument/codeAction failed.
  Message: internal error
  Code: -32603 
Panic context:
> 
request: textDocument/codeAction CodeActionParams {
    text_document: TextDocumentIdentifier {
        uri: Url {
            scheme: "file",
            cannot_be_a_base: false,
            username: "",
            password: None,
            host: None,
            port: None,
            path: "/mnt/c/Users/miSaki/Desktop/temp/src/test.erl",
            query: None,
            fragment: None,
        },
    },
    range: Range {
        start: Position {
            line: 24,
            character: 60,
        },
        end: Position {
            line: 24,
            character: 60,
        },
    },
    context: CodeActionContext {
        diagnostics: [],
        only: None,
    },
    work_done_progress_params: WorkDoneProgressParams {
        work_done_token: None,
    },
    partial_result_params: PartialResultParams {
        partial_result_token: None,
    },
}

To Reproduce

Copy the following code or file

%%%=============================================================================
%%% @doc    test.erl
%%% @author 
%%% @since  2022-11-21
%%% @deprecated 头文件头文件new.
%%%=============================================================================

%% 触发条件定义
% -define(TEST1,                              2).     %% 测试测试测试测试测试测试测试
% -define(TEST2,                              3).     %% 身上有特殊效果时触发
% -define(TEST3,                              4).     %% 作用对象是主人
% -define(TEST4,                              1).     %% 受到某个特殊效果时触发
% -define(TEST5,                              2).     %% 身上有特殊效果时触发
% -define(TEST6,                              3).     %% 身上有特殊效果时触发
% -define(TEST7,                              4).     %% 身上有特殊效果时触发
% -define(TEST8,                              5).     %% 回血时触发
% -define(TEST9,                              6).     %% 闪避时触发
% -define(TEST10,                             7).     %% 闪避时触发
%% 触发条件定义
-define(TEST1,                              0).     %% 无条件触发
-define(TEST2,                              1).     %% 受到某个特殊效果时触发
-define(TEST3,                              2).     %% 身上有特殊效果时触发
-define(TEST4,                              3).     %% 血量触发(低于)
-define(TEST5,                              4).     %% 暴击时触发
-define(TEST6,                              5).     %% 回血时触发
-define(TEST7,                              6).     %% 受到致死伤害时触发
-define(TEST8,                              7).     %% 闪避时触发
-define(TEST9,                              8).     %% 身上有任一特殊效果时触发
-define(TEST10,                             9).     %% 某任一伤害类型时触发
-define(TEST11,                             10).    %% 使用某一技能时触发

Source file: test.zip

Context

robertoaloi commented 1 month ago

Thanks for reporting @misaki214. Fix coming soon.

robertoaloi commented 1 month ago

Fixed via 113f9698a911c4ca24ae7e9728fd07e3e5556392.