EmmyLua / IntelliJ-EmmyLua

Lua IDE/Debugger Plugin for IntelliJ IDEA
https://emmylua.github.io
Apache License 2.0
1.72k stars 287 forks source link

给 @class 注解增加 @constructor 特性? #530

Open aceyin opened 1 year ago

aceyin commented 1 year ago

问题

现在的 @class 注解, 只支持 @field 属性,用于定义一个 class 的成员。

期望

增加一个 @constructor 注解, 用于给 @class 定义构造函数

举例

-- user.lua

local function new_user(name) end

--- @class entity.User
--- @constructor fun(name:string):entity.User
--- @field name string
local user = {}
return setmetatable(user, {__call=new_user})

-- test.lua

local user = require 'user'

local joe = user('joe') -- 点击 user 可以跳转到 new_user 函数?
CppCXY commented 1 year ago

在可以预计的一年内应该都不会有