LuaLS / LuaLS/lua-language-server

Fringe Use Case: Different environments in different parts of the file

Đang mở
#3,164 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.