LuaLS / LuaLS/lua-language-server

能够生成文件本地的注释么?就像lua本身的local一样

オープン
#854 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

enhancement feat/LuaCats Annotations
主要言語
Lua
スター
4.4k
フォーク
442
PR マージ指標
30日以内にマージされた PR はありません

説明

image
如上图,我这个文件里并没有定义Enum,但是其他文件中有定义Enum,这样构成了冲突。

另外,想问下能不能,当我local xxx = require "xxx"了之后,就导入所有xxx文件里的结构。
举个例子
在a.lua里

---@alias Enum
---| 'Enum.ZERO' # = 0
---| 'Enum.ONE' # = 1
---| 'Enum.TWO' # = 2

在b.lua里

local aa = require "a"
---@type aa.Enum
local x

然后这时候如果我输入x = ,弹出来的提示是aa.Enum.ZERO | aa.Enum.ONE | aa.Enum.TWO

插件版本
image

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

issue の a.lua と b.lua の例を使ってリクエストを再現し、まず language server によるファイルローカルなアノテーションの処理と require の解決から着手してください。payload にはソースファイルやテストの指定がないため、最初に関連する実装と既存のカバレッジを特定してください。aa.Enum の補完で列挙されている Enum 値が提示され、ファイル間で定義が競合しなくなれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
lua
領域
devtools
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。