Closed
Description
How are you using the lua-language-server?
Visual Studio Code Extension (sumneko.lua)
Which OS are you using?
Windows
What is the issue affecting?
Annotations
Expected Behaviour
I want to create a generic class with a private field, but this is not supported.
---@class Array<T>: { [integer]: T }
---@field private length integer
length
field refers to an Array class, not an Array<T>, well the signs
(generic class) are not good at this moment.
But I can do table/turple declaration
---@class Array<T>: { [integer]: T, length: integer }
unfortunately I can't specify the scope result.visible
(private, protected, public, package).
Actual Behaviour
It's easy to add this for parsing in luadoc, what about this syntax?
---@class Array<T>: { [integer]: T, (private) length: integer } -- OK
---@class Array<T>: { [integer]: T, private length: integer } -- OK
---@class Array<T>: { [integer]: T, (private length: integer) } -- OK
---@class Array<T>: { [integer]: T, ((private) length: integer) } -- wrong?
or
---@class Array<T>: { [integer]: T, (private) length: integer } -- OK
---@class Array<T>: { [integer]: T, private length: integer } -- wrong
---@class Array<T>: { [integer]: T, (private length: integer) } -- wrong
---@class Array<T>: { [integer]: T, ((private) length: integer) } -- OK
References:
parseTable
lua-language-server/script/parser/luadoc.lua
Lines 351 to 356 in 8a6d9db
result.visible
lua-language-server/script/parser/luadoc.lua
Lines 1169 to 1187 in 8a6d9db
I want to hear someone's opinion.
Metadata
Metadata
Assignees
Labels
No labels