LuaLS / LuaLS/lua-language-server
Fringe Use Case: Different environments in different parts of the file
还没有人认领这个 Issue。
- 主要语言
- Lua
- 星标
- 4.4k
- 派生
- 442
- PR 合并指标
- 30 天内没有已合并 PR
描述
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"?
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
尚未确定任何文件、测试或入口点。首先确定 plugins 是否可以提供根据上下文改变可用符号的注解,然后评估基于文件路径的环境和虚函数;当三个请求都有记录在案的可行性决定和已定义的行为时,即可视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- lua
- 领域
- devtools
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100