LuaLS / LuaLS/lua-language-server
Feature Request/How-to: Inlined parameter annotation
オープン
まだ誰も着手していません。
enhancement
- 主要言語
- Lua
- スター
- 4.4k
- フォーク
- 442
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
I'd like to be able to do inlined type annotation for parameters. It doesn't currently seem to be possible. What I mean is, instead of this:
---@param key unknown
---@param callbackFn fun(Hook, ...):any
---@param priority? number
---@param hostTableToHook? table
---@param defaultNativeBehavior? function
---@param hookedTableIsMetaTable? boolean
function Hook.basic(key, callbackFn, priority, hostTableToHook, defaultNativeBehavior, hookedTableIsMetaTable)
return Hook.add(key, callbackFn, priority, hostTableToHook, defaultNativeBehavior, hookedTableIsMetaTable, true)
end
I'd like to be able to do this:
function Hook.basic(
key, ---@param unknown
callbackFn, ---@param fun(Hook, ...):any
priority, ---@param? number
hostTableToHook, ---@param? table
defaultNativeBehavior, ---@param? function
hookedTableIsMetaTable ---@param? boolean
)
return Hook.add(key, callbackFn, priority, hostTableToHook, defaultNativeBehavior, hookedTableIsMetaTable, true)
end
This would cut down on the boilerplate a bit and make the code cleaner.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、言語サーバーの関数パラメーターと既存のインラインアノテーションに関するパース処理とテストを探します。これらの箇所をこの issue の2つの構文例と比較します。完了条件は、インラインのパラメーターアノテーションが受け入れられ、示されている optional 型および function 型として解釈され、テストでカバーされることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- lua
- 領域
- devtools
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 25/100