LuaLS / LuaLS/lua-language-server
How to override a meta file definition?
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ả
I am using a 3rd party library for neovim runtime (neodev) which defines types for the global variables. There's a table which it generally annotates as:
---@meta
---@type table<integer, table<string, any>>
vim.b = {}
Is there way I can override this definition in my project scope as shown below?
---@meta
---@type table<integer, {autoformat?: boolean}>
vim.b = {}
The problem that I have currently is that the LSP infers vim.b[0].autoformat as any because the definitions annotate it as any|boolean.
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
Tái hiện ví dụ được nêu trong issue với định nghĩa vim.b toàn cục của neodev và khai báo @meta ở cấp dự án. Bắt đầu bằng cách theo dõi cách LuaLS phân giải các khai báo @meta và @type cạnh tranh, sau đó xác định hành vi ghi đè được hỗ trợ sẽ có nghĩa là gì; issue hoàn tất khi hành vi đó được triển khai hoặc được ghi lại rõ ràng bằng một trường hợp xác thực tập trung.
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
- Lĩnh vực
- devtools
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100