LuaLS / LuaLS/lua-language-server
@return支持多种类型
Đang mở
Chưa có ai nhận issue này.
enhancement
- 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ả
两个方案,大佬参考:
方案一采用语法@return ()|()|()这种
---@return (string,number)|(nil, string)
local function foo()
do
return 'foo', 1 --正常
end
do
return nil, 'some error' --正常
end
do
return nil, 1 -- 此处出错
end
end
方案二,其实我觉得这种更直观,也便于书写
---@return string,number
---@return nil, string
local function foo()
do
return 'foo', 1 --正常
end
do
return nil, 'some error' --正常
end
do
return nil, 1 -- 此处出错
end
end
现在的设定,下面两种定义是等效的
---@return string,number
local function foo() end
---@return string
---@return number
local function foo() end
可见,通过逗号表达式,一条@return语句就可以表达多个值类型,多条连续的@return语法应该留给更重要的多返回类型语法!优雅,简洁!个人愚见,仅供参考
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 xem xét việc phân tích cú pháp @return hiện có và việc xác thực kiểu trả về của language server, sau đó so sánh cả hai cú pháp được đề xuất với các ví dụ trong issue. Được xem là hoàn thành khi một cú pháp được thống nhất hỗ trợ nhiều chữ ký trả về thay thế và từ chối giá trị trả về không khớp được nêu trong ví dụ, với coverage cho hành vi phân tách bằng dấu phẩy hiện có.
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
- tooling
- 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
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100