wlh320 / rime-ls

A language server for Rime input method engine 通过 LSP 代码补全使用 Rime 输入法
BSD 3-Clause "New" or "Revised" License
198 stars 13 forks source link

fix: find raw_input from the end #21

Closed TwIStOy closed 9 months ago

wlh320 commented 9 months ago

感谢!确实应该从右面匹配。

但是现在的写法还有点小问题,就是 raw_input 是空串的时候可以跳过判断,不然 rfind 会返回字符串长度,影响标点符号的输入了。

可以在前面加个判断

        let real_offset = new_offset
            + raw_input
                .and_then(utils::option_string)
                .and_then(|rime_raw_input| new_input.borrow_pinyin().rfind(&rime_raw_input))
                .unwrap_or(0);
TwIStOy commented 9 months ago

fixed!