LuaLS / LuaLS/lua-language-server
Adding a new workspace folder breaks things
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Lua
- Star
- 4.4k
- Fork
- 442
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
How are you using the lua-language-server?
NeoVim
Which OS are you using?
Windows
What is the issue affecting?
Completion, Diagnostics/Syntax Checking, Hover, Libraries
Expected Behaviour
Addding new workspace folders should not break anything.
Actual Behaviour
Right now, adding a new workspace folder breaks two things, diagnostics and require statements:
-
You can fix the diagnostic errors by hooking to the
workspace/diagnostic/refreshhandler to manually refresh it, but even then this is very unreliable and prone to not working:
https://github.com/neovim/nvim-lspconfig/issues/2366 -
requirestatements that refers to modules in the new workspace folder also does not resolve correctly (hovering over the module string will display the byte length, instead of the resolved path). This means that completions from the required module will also be missing. So far I can't find any way to fix this without restarting neovim entirely.
Other LSP servers doesn't have this problem. Adding a new workspace folder should just work without any additional steps.
Reproduction steps
- Initialize the LSP server with a root directory
- Add a new workspace folder using
workspace/didChangeWorkspaceFolders - Opening a file from that workspace folder results in diagnostic errors and modules not being resolved correctly
Additional Notes
No response
Log File
No response
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện chuỗi thao tác đã được báo cáo: khởi tạo với một thư mục gốc, gửi workspace/didChangeWorkspaceFolders và mở một tệp trong thư mục đã thêm. Sau đó, điều tra cách workspace/diagnostic/refresh và việc phân giải mô-đun require hoạt động. Được xem là hoàn tất khi diagnostics, các đường dẫn khi hover và completions hoạt động trong workspace mới mà không cần khởi động lại Neovim hoặc dựa vào việc làm mới thủ công.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- lua, neovim
- Lĩnh vực
- devtools
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100