LuaLS / LuaLS/lua-language-server
Fringe Use Case: Different environments in different parts of the file
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ả
This may seem like a ridiculous idea, and it is, but a project I am working with called Recoil Engine has a concept called "gadgets", which run in different contexts ("synced" or "unsynced") which provide different environments based on when the gadget is executed. This is a weird way of doing it, sure, but it's a 20 year old codebase.
My question is if it would be possible to provide LS support for these different contexts by offering some kind of annotation like --- @context synced via a plugin to change what is available in different parts of the file.
Relatedly, would it be possible to offer different environments based on filepaths? for example, Recoil's UI stuff would be exposed in /luaui but not /luarules.
Is it also possible to mark a function as being "virtual"?
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
Chưa xác định được tệp, bài kiểm thử hoặc điểm vào nào. Hãy bắt đầu bằng cách xác định liệu plugins có thể cung cấp các chú thích làm thay đổi các symbol khả dụng theo ngữ cảnh hay không, sau đó đánh giá các môi trường dựa trên filepath và các hàm ảo; công việc được coi là hoàn tất khi có quyết định khả thi được lập thành tài liệu và hành vi được định nghĩa cho cả ba yêu cầu.
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