69 KiB
changelog
3.7.4
2024-1-5
FIX
rename to unicode withLua.runtime.unicodeName = true
3.7.3
2023-11-14
FIX
can not infer arg type in some cases.
3.7.2
2023-11-9
FIX
#2407
3.7.1
2023-11-7
3.7.0
2023-8-24
-
NEW
support---@type
and--[[@as]]
for return statement -
NEW
commandline parameter--force-accept-workspace
: allowing the use of the root directory or home directory as the workspace -
NEW
diagnostic:inject-field
-
NEW
---@enum
supports attributekey
---@enum (key) AnimalType local enum = { Cat = 1, Dog = 2, } ---@param animal userdata ---@param atp AnimalType ---@return boolean local function isAnimalType(animal, atp) return API.isAnimalType(animal, enum[atp]) end assert(isAnimalType(animal, 'Cat'))
-
NEW
---@class
supports attributeexact
---@class (exact) Point ---@field x number ---@field y number local m = {} m.x = 1 -- OK m.y = 2 -- OK m.z = 3 -- Warning
-
FIX
wrong hover and signature for method with varargs and overloads -
FIX
#2155 -
FIX
#2224 -
FIX
#2252 -
FIX
#2267
3.6.25
2023-7-26
FIX
#2214
3.6.24
2023-7-21
NEW
diagnostic:missing-fields
FIX
shake ofcodeLens
FIX
#2145
3.6.23
2023-7-7
CHG
signature: narrow by inputed literal
3.6.22
2023-6-14
3.6.21
2023-5-24
FIX
disable ffi plugin
3.6.20
2023-5-23
NEW
support connecting by socket with--socket=PORT
FIX
#2113
3.6.19
2023-4-26
3.6.18
2023-3-23
3.6.17
2023-3-9
CHG
export documents: export global variablesFIX
#1715FIX
#1753FIX
#1914FIX
#1922FIX
#1924FIX
#1928FIX
#1945FIX
#1955FIX
#1978
3.6.13
2023-3-2
FIX
setting:Lua.addonManager.enable
should betrue
by defaultFIX
failed to publish to Windows
3.6.12
2023-3-2
NEW
Addon Manager, try it with commandlua.addon_manager.open
. Thanks to carsakiller!
3.6.11
2023-2-13
3.6.10
2023-2-7
3.6.9
2023-2-2
3.6.8
2023-1-31
NEW
commandlua.exportDocument
. VSCode will display this command in the right-click menuCHG
settingLua.workspace.supportScheme
has been removed. All schemes are supported if the language id islua
FIX
#1831FIX
#1838FIX
#1841FIX
#1851FIX
#1855FIX
#1857
3.6.7
2023-1-20
3.6.6
2023-1-17
3.6.5
2023-1-16
NEW
support casting global variablesNEW
code lens: this feature is disabled by default.NEW
settings:Lua.codeLens.enable
: Enable code lens.
CHG
improve memory usage for large librariesCHG
definition: supports finding definitions for@class
and@alias
, since they may be defined multi timesCHG
rename: supports@field
CHG
improve patch for.luarc.json
CHG
---@meta [name]
: once declaredname
, user can only require this file by declared name. meta file can not be required with name_
CHG
remove telemetryFIX
#831FIX
#1729FIX
#1737FIX
#1751FIX
#1767FIX
#1796FIX
#1805FIX
#1808FIX
#1811FIX
#1824
3.6.4
2022-11-29
NEW
modifyrequire
after renaming filesFIX
circulation reference in process analysis---@type number local x ---@type number local y x = y y = x --> Can not infer `y` before
FIX
#1698FIX
#1704FIX
#1717
3.6.3
2022-11-14
3.6.2
2022-11-10
3.6.1
2022-11-8
FIX
wrong diagnostics forpcall
andxpcall
FIX
duplicate fields in table hoverFIX
description disapeared for overloaded functionFIX
#1675
3.6.0
2022-11-8
NEW
supportsprivate
/protected
/public
/package
- mark in
doc.field
---@class unit ---@field private uuid integer
- mark with
---@private
,---@protected
,---@public
and---@package
---@class unit local mt = {} ---@private function mt:init() end ---@protected function mt:update() end
- mark by settings
Lua.doc.privateName
,Lua.doc.protectedName
andLua.doc.packageName
---@class unit ---@field _uuid integer --> treat as private when `Lua.doc.privateName` has `"_*"`
- mark in
NEW
settings:Lua.misc.executablePath
: #1557 specify the executable path in VSCodeLua.diagnostics.workspaceEvent
: #1626 set the time to trigger workspace diagnostics.Lua.doc.privateName
: treat matched fields as privateLua.doc.protectedName
: treat matched fields as protectedLua.doc.packageName
: treat matched fields as package
NEW
CLI--doc [path]
to make docs. server will generatedoc.json
anddoc.md
inLOGPATH
.doc.md
is generated bydoc.json
by example codescript/cli/doc2md.lua
.CHG
#1558 detect multi librariesCHG
#1458semantic-tokens
: global variable is setted tovariable.global
// color global variables to red "editor.semanticTokenColorCustomizations": { "rules": { "variable.global": "#ff0000" } }
CHG
#1177 re-support for symlinks, users need to maintain the correctness of symlinks themselvesCHG
#1561 infer definitions and types across chain expression---@class myClass local myClass = {} myClass.a.b.c.e.f.g = 1 ---@type myClass local class print(class.a.b.c.e.f.g) --> inferred as integer
CHG
#1582 the following diagnostics consideroverload
missing-return
missing-return-value
redundant-return-value
return-type-mismatch
CHG
workspace-symbol: supports chain fields based on global variables and types. tryio.open
oriolib.open
CHG
#1641 if a function only has varargs and has---@overload
, the varargs will be ignoredCHG
#1575 search definitions by first argument ofsetmetatable
---@class Object local obj = setmetatable({ initValue = 1, }, mt) print(obj.initValue) --> `obj.initValue` is integer
CHG
#1153 infer type by generic parameters or returns of function---@generic T ---@param f fun(x: T) ---@return T[] local function x(f) end ---@type fun(x: integer) local cb local arr = x(cb) --> `arr` is inferred as `integer[]`
CHG
#1201 infer parameter type by expected returned function of parent function---@return fun(x: integer) local function f() return function (x) --> `x` is inferred as `integer` end end
CHG
#1332 infer parameter type when function in table---@class A ---@field f fun(x: string) ---@type A local t = { f = function (x) end --> `x` is inferred as `string` }
CHG
find reference: respectincludeDeclaration
(although I don't know how to turn off this option in VSCode)CHG
#1344 improve---@see
CHG
#1484 settingruntime.special
supports fields{ "runtime.special": { "sandbox.require": "require" } }
CHG
#1533 supports completion with table field of functionCHG
#1457 infer parameter type by function type---@type fun(x: number) local function f(x) --> `x` is inferred as `number` end
CHG
#1663 check parameter types of generic extends---@generic T: string | boolean ---@param x T ---@return T local function f(x) return x end local x = f(1) --> Warning: Cannot assign `integer` to parameter `<T:boolean|string>`.
CHG
#1434 type check: check the fields in table:---@type table<string, string> local x ---@type table<string, number> local y x = y --> Warning: Cannot assign `<string, number>` to `<string, string>`
CHG
#1374 type check: supports array part in literal table---@type boolean[] local t = { 1, 2, 3 } --> Warning: Cannot assign `integer` to `boolean`
CHG
---@enum
supports runtime valuesFIX
#1479FIX
#1480FIX
#1567FIX
#1593FIX
#1595FIX
#1599FIX
#1606FIX
#1608FIX
#1637FIX
#1640FIX
#1642FIX
#1662FIX
#1672
3.5.6
2022-9-16
3.5.5
2022-9-7
3.5.4
2022-9-6
NEW
type-formatting
: fix wrong indentation of VSCodeCHG
document-symbol
: redesigned to better support forSticky Scroll
feature of VSCodeFIX
diagnostics.workspaceDelay
can not prevent first workspace diagnosticFIX
#1476FIX
#1490FIX
#1493FIX
#1499FIX
#1526
3.5.3
2022-8-13
3.5.2
2022-8-1
3.5.1
2022-7-26
NEW
supports colorNEW
settingLua.runtime.pluginArgs
CHG
settingtype.castNumberToInteger
default bytrue
CHG
improve supports for multi-workspaceFIX
#1354FIX
#1355FIX
#1363FIX
#1365FIX
#1367FIX
#1368FIX
#1370FIX
#1375FIX
#1391
3.5.0
2022-7-19
NEW
LuaDoc
:---@operator
:---@class fspath ---@operator div(string|fspath): fspath ---@type fspath local root local fileName = root / 'script' / 'main.lua' -- `fileName` is `fspath` here
NEW
LuaDoc
:---@source
:-- Also supports absolute path or relative path (based on current file path) ---@source file:///xxx.c:50:20 XXX = 1 -- when finding definitions of `XXX`, returns `file:///xxx.c:50:20` instead here.
NEW
LuaDoc
:---@enum
:---@enum animal Animal = { Cat = 1, Dog = 2, } ---@param x animal local function f(x) end f() -- suggests `Animal.Cat`, `Animal.Dog`, `1`, `2` as the first parameter
NEW
diagnostics:unknown-operator
unreachable-code
NEW
settings:diagnostics.unusedLocalExclude
NEW
VSCode: add support for EmmyLuaUnityCHG
support multi-type:---@type number, _, boolean local a, b, c -- `a` is `number`, `b` is `unknown`, `c` is `boolean`
CHG
treat_ENV = XXX
aslocal _ENV = XXX
_ENV = nil
: disable all globals_ENV = {}
: allow all globals_ENV = {} ---@type mathlib
: only allow globals inmathlib
CHG
hover: dose not show unknown---@XXX
as descriptionCHG
contravariance is allowed at the class declaration---@class BaseClass local BaseClass ---@class MyClass: BaseClass local MyClass = BaseClass -- OK!
CHG
hover: supports path in link--![](image.png) --> will convert to `--![](file:///xxxx/image.png)` local x
CHG
signature: only show signatures matching the entered parametersFIX
#880FIX
#1284FIX
#1292FIX
#1294FIX
#1306FIX
#1311FIX
#1317FIX
#1320FIX
#1330FIX
#1345FIX
#1346FIX
#1348
3.4.2
2022-7-6
CHG
diagnostic:type-check
ignoresnil
ingetfield
CHG
diagnostic:---@diagnostic disable: <ERR_NAME>
can suppress syntax errorsCHG
completion:completion.callSnippet
no longer generate parameter typesCHG
hover: show---@type {x: number, y: number}
as detail instead oftable
CHG
dose not infer asnil
byt.field = nil
FIX
#1278FIX
#1288
3.4.1
2022-7-5
NEW
settings:type.weakNilCheck
CHG
allow type contravariance forsetmetatable
when initializing a class---@class A local a = {} ---@class B: A local b = setmetatable({}, { __index = a }) -- OK!
FIX
#1256FIX
#1257FIX
#1267FIX
#1269FIX
#1273FIX
#1275FIX
#1279
3.4.0
2022-6-29
NEW
diagnostics:cast-local-type
assign-type-mismatch
param-type-mismatch
unknown-cast-variable
cast-type-mismatch
missing-return-value
redundant-return-value
missing-return
return-type-mismatch
NEW
settings:diagnostics.groupSeverity
diagnostics.groupFileStatus
type.castNumberToInteger
type.weakUnionCheck
hint.semicolon
CHG
infernil
as redundant return valuelocal function f() end local x = f() -- `x` is `nil` instead of `unknown`
CHG
infer called function by params num---@overload fun(x: number, y: number):string ---@overload fun(x: number):number ---@return boolean local function f() end local n1 = f() -- `n1` is `boolean` local n2 = f(0) -- `n2` is `number` local n3 = f(0, 0) -- `n3` is `string`
CHG
semicolons and parentheses can be used inDocTable
---@type { (x: number); (y: boolean) }
CHG
return names and parentheses can be used inDocFunction
---@type fun():(x: number, y: number, ...: number)
CHG
supports---@return boolean ...
CHG
improve experience for diagnostics and semantic-tokensFIX
diagnostics flash when opening a fileFIX
sometimes workspace diagnostics are not triggeredFIX
#1228FIX
#1229FIX
#1242FIX
#1243FIX
#1249
3.3.1
2022-6-17
3.3.0
2022-6-15
NEW
LuaDoc
supports`CODE`
---@type `CONST.X` | `CONST.Y` local x if x == -- suggest `CONST.X` and `CONST.Y` here
CHG
infer type byerror
---@type integer|nil local n if not n then error('n is nil') end print(n) -- `n` is `integer` here
CHG
infer type byt and t.x
---@type table|nil local t local s = t and t.x or 1 -- `t` in `t.x` is `table`
CHG
infer type bytype(x)
local x if type(x) == 'string' then print(x) -- `x` is `string` here end local tp = type(x) if tp == 'boolean' then print(x) -- `x` is `boolean` here end
CHG
infer type by>
/<
/>=
/<=
FIX
with clients that support LSP 3.17 (VSCode), workspace diagnostics are triggered every time when opening a file.FIX
#1204FIX
#1208
3.2.5
2022-6-9
3.2.4
2022-5-25
NEW
settings:workspace.supportScheme
:["file", "untitled", "git"]
diagnostics.disableScheme
:["git"]
NEW
folding: support folding---@alias
CHG
ifrootUri
orworkspaceFolder
is set toROOT
orHOME
, this extension will refuse to load these directories and show an error message.CHG
show warning message when scanning more than 100,000 files.CHG
upgrade LSP to3.17
FIX
hover: can not uniontable
with other basic typesFIX
#1125FIX
#1131FIX
#1134FIX
#1141FIX
#1144FIX
#1150FIX
#1155
3.2.3
2022-5-16
CHG
parse.luarc.json
as jsonc. In order to please the editor, it also supports.luarc.jsonc
as the file name.CHG
dose not load files in symbol linksFIX
memory leak with symbol linksFIX
diagnostic: send empty results to every file after startupFIX
#1103FIX
#1107
3.2.2
2022-4-26
FIX
diagnostic:unused-function
cannot handle recursion correctlyFIX
#1092FIX
#1093FIX
runtime errors reported by telemetry, see #1091
3.2.1
2022-4-25
FIX
broken in VSCode
3.2.0
2022-4-25
NEW
supports infer of callback parameter---@type string[] local t table.sort(t, function (a, b) -- `a` and `b` is `string` here end)
NEW
using---@overload
as class constructor---@class Class ---@overload fun():Class local mt local x = mt() --> x is `Class` here
NEW
add--[[@as type]]
local x = true local y = x--[[@as integer]] -- y is `integer` here
NEW
add---@cast
---@cast localname type
---@cast localname +type
---@cast localname -type
---@cast localname +?
---@cast localname -?
NEW
generic: resolveT[]
bytable<integer, type>
or---@field [integer] type
NEW
resolveclass[1]
by---@field [integer] type
NEW
diagnostic:missing-parameter
NEW
diagnostic:need-check-nil
CHG
diagnostic: no longer markredundant-parameter
asUnnecessary
FIX
diagnostic:unused-function
does not recognize recursionFIX
#1051FIX
#1072FIX
#1077FIX
#1088FIX
runtime errors
3.1.0
2022-4-17
NEW
support find definition in methodCHG
hint: move to LSP. Its font is now controlled by the client.CHG
hover: splitlocal
intolocal
/parameter
/upvalue
/self
.CHG
hover: added parentheses to some words, such asglobal
/field
/class
.FIX
definition oftable<k, v>
FIX
#994FIX
#1057FIX
runtime errors reported by telemetry, see #1058
3.0.2
2022-4-15
FIX
table<string, boolean>[string] -> boolean
FIX
gototype definition
FIX
#1050
3.0.1
2022-4-11
3.0.0
2022-4-10
CHG
break changesCHG
diagnostic:type-check
: removed for nowno-implicit-any
: renamed tono-unknown
CHG
formatter: no longer need--preview
CHG
LuaDoc
: supports---@type (string|integer)[]
FIX
semantic: color offunction
FIX
#1027FIX
#1028
2.6.8
2022-4-9
CHG
completion: call snippet shown asFunction
instead ofSnippet
whenLua.completion.callSnippet
isReplace
FIX
#976FIX
#995FIX
#1004FIX
#1008FIX
#1009FIX
#1011FIX
#1014FIX
#1016FIX
#1017FIX
runtime errors reported by telemetry
2.6.7
2022-3-9
NEW
diagnosis report, read moreCHG
VSCode
: 1.65 has built in newLua
syntax files, so this extension no longer provides syntax files, which means you can install other syntax extensions in the marketplace. If you have any suggestions or issues, please open issues here.CHG
telemetry: the prompt will only appear in VSCode to avoid repeated prompts in other platforms due to the inability to automatically modify the settings.FIX
#965FIX
#975
2.6.6
2022-2-21
2.6.5
2022-2-17
2.6.4
2022-2-9
CHG
completion: reduced sorting priority for postfix completionFIX
#936FIX
#937FIX
#940FIX
#941FIX
#941FIX
#943FIX
#946
2.6.3
2022-1-25
2.6.2
2022-1-25
FIX
#925
2.6.1
2022-1-24
CHG
default values of settings:Lua.diagnostics.workspaceDelay
:0
sec ->3
secLua.workspace.maxPreload
:1000
->5000
Lua.workspace.preloadFileSize
:100
KB ->500
KB
CHG
improve performanceFIX
modify luarc failedFIX
library files not recognized correctlyFIX
#903FIX
#906FIX
#920
2.6.0
2022-1-13
NEW
supports multi-workspace in server side, for developers of language clients, please read here to learn more.NEW
setting:Lua.hint.arrayIndex
Lua.semantic.enable
Lua.semantic.variable
Lua.semantic.annotation
Lua.semantic.keyword
CHG
completion: improve response speedCHG
completion: can be triggered inLuaDoc
and stringsCHG
diagnostic: smootherCHG
settingsLua.color.mode
removedFIX
#876FIX
#879FIX
#884FIX
#885FIX
#886FIX
#902
2.5.6
2021-12-27
CHG
diagnostic: now syntax errors inLuaDoc
are shown asWarning
FIX
#863FIX
return type ofmath.floor
FIX
runtime errors
2.5.5
2021-12-16
FIX
dose not work in VSCode
2.5.4
2021-12-16
2.5.3
2021-12-6
2.5.2
2021-12-2
2.5.1
2021-11-29
FIX
incorrect syntax error
2.5.0
2021-11-29
NEW
settings:Lua.runtime.pathStrict
: not check subdirectories when usingruntime.path
Lua.hint.await
: displayawait
when calling a function marked as asyncLua.completion.postfix
: the symbol that triggers postfix, default is@
NEW
add supports forlovr
NEW
file encoding supportsutf16le
andutf16be
NEW
full IntelliSense supports for literal tables, see #720 and #727NEW
LuaDoc
annotations:---@async
: mark a function as async---@nodiscard
: the return value of the marking function cannot be discarded
NEW
diagnostics:await-in-sync
: check whether calls async function in sync function. disabled by default.not-yieldable
: check whether the function supports async functions as parameters. disabled by default.discard-returns
: check whether the return value is discarded.
NEW
localept-br
, thanks Jeferson FerreiraNEW
supports utf-8-offsetsNEW
supports quickfix for.luarc.json
NEW
completion postifx:@function
,@method
,@pcall
,@xpcall
,@insert
,@remove
,@concat
,++
,++?
CHG
LuaDoc
:---@class
can be re-declared- supports unicode
- supports
---@param ... number
, equivalent to---@vararg number
- supports
fun(...: string)
- supports
fun(x, y, ...)
, equivalent tofun(x: any, y: any, ...: any)
CHG
settings from--configpath
,.luarc.json
,client
no longer prevent subsequent settings, instead they are merged in orderCHG
no longer asks to trust plugin in VSCode, because VSCode already provides the workspace trust featureCHG
skip huge files (>= 10 MB)CHG
after usingLua.runtime.nonstandardSymbol
to treat//
as a comment,//
is no longer parsed as an operator
2.4.11
2021-11-25
2.4.10
2021-11-23
2.4.9
2021-11-18
-
CHG
for performance reasons, some of the features that are not cost-effective in IntelliSense have been disabled by default, and you can re-enable them through the following settings:Lua.IntelliSense.traceLocalSet
Lua.IntelliSense.traceReturn
Lua.IntelliSense.traceBeSetted
Lua.IntelliSense.traceFieldInject
2.4.8
2021-11-15
2.4.7
2021-10-27
FIX
#762
2.4.6
2021-10-26
NEW
diagnostic:redundant-return
FIX
#744FIX
#748FIX
#749FIX
#752FIX
#753FIX
#756FIX
#758FIX
#760
2.4.5
2021-10-18
FIX
accidentally load lua files from user workspace
2.4.4
2021-10-15
CHG
improve.luarc.json
FIX
#722
2.4.3
2021-10-13
2.4.2
2021-10-8
2.4.1
2021-10-2
2.4.0
2021-10-1
NEW
loading settings from.luarc.json
NEW
settings:Lua.diagnostics.libraryFiles
Lua.diagnostics.ignoredFiles
Lua.completion.showWord
Lua.completion.requireSeparator
NEW
diagnostics:different-requires
NEW
---@CustomClass<string, number>
NEW
supports$/cancelRequest
NEW
EventEmitter
--- @class Emit --- @field on fun(eventName: string, cb: function) --- @field on fun(eventName: '"died"', cb: fun(i: integer)) --- @field on fun(eventName: '"won"', cb: fun(s: string)) local emit = {} emit:on(--[[support autocomplete fr "died" and "won"]]) emit:on("died", function (i) -- should be i: integer end) emit:on('won', function (s) -- should be s: string end)
NEW
---@module 'moduleName'
---@module 'mylib' local lib -- the same as `local lib = require 'mylib'`
NEW
add supports ofskynet
CHG
hover: improve showing multi definesCHG
hover: improve showing multi comments at enumsCHG
hover: shows methodCHG
hint:Lua.hint.paramName
now supportsDisable
,Literal
andAll
CHG
only search first file byrequire
CHG
no longer infer by usageCHG
no longer ignore file names case in WindowsCHG
watching library changesCHG
completion: improve misspelling resultsCHG
completion:Lua.completion.displayContext
default to0
CHG
completion:autoRequire
has better inserting positionCHG
diagnostics:redundant-parameter
default severity toWarning
redundant-value
default severity toWarning
CHG
infer: more strict of calculation resultsCHG
#663FIX
runtime errorsFIX
hint: may show param-2 asself
FIX
semantic: may fail when scrollingFIX
#647FIX
#660FIX
#673
2.3.7
2021-8-17
CHG
improve performanceFIX
#244
2.3.6
2021-8-9
FIX
completion: can not find global fieldsFIX
globals and class may lost
2.3.5
2021-8-9
CHG
improve memory usageCHG
completion: call snip triggers signature (VSCode only)FIX
completion: may not find results
2.3.4
2021-8-6
CHG
improve performanceFIX
#625
2.3.3
2021-7-26
2.3.2
2021-7-21
NEW
LuaDoc
: supports['string']
as field:---@class keyboard ---@field ['!'] number ---@field ['?'] number ---@field ['#'] number
NEW
add supports oflove2d
FIX
gitignore pattern\
broken initializationFIX
runtime errors
2.3.1
2021-7-19
NEW
settingLua.workspace.userThirdParty
, add private user third-parth by this settingCHG
path in config supports~/xxxx
FIX
autoRequire
inserted incorrect codeFIX
autoRequire
may provide dumplicated optionsFIX
#606FIX
#607
2.3.0
2021-7-16
NEW
VSCode
: click the status bar icon to operate:- run workspace diagnostics
NEW
LuaDoc
: supports[1]
as field:---@class position ---@field [1] number ---@field [2] number ---@field [3] number
NEW
hover: view arraylocal array = {'a', 'b', 'c'}
:local array: { [1]: string = "a", [2]: string = "b", [3]: string = "c", }
NEW
completion: supports enums infun()
---@type fun(x: "'aaa'"|"'bbb'") local f f(--[[show `'aaa'` and `'bbb'` here]])
FIX
loading workspace may hangFIX
debug.getuservalue
anddebug.setuservalue
should not exist inLua 5.1
FIX
infer of---@type class[][]
FIX
infer of---@type {}[]
FIX
completion: displaying@fenv
inLua 5.1
FIX
completion: incorrect at end of lineFIX
when a file is renamed, the file will still be loaded even if the new file name has been set to ignoreFIX
#596FIX
#597FIX
#598FIX
#601
2.2.3
2021-7-9
CHG
improveauto require
CHG
will not sleep anymoreFIX
incorrect doc:debug.getlocal
FIX
completion: incorrect callbackFIX
#592
2.2.2
2021-7-9
FIX
incorrect syntax colorFIX
incorrect type infer
2.2.1
2021-7-8
FIX
change setting may failed
2.2.0
2021-7-8
NEW
detect and apply third-party libraries, including:- OpenResty
- Cocos4.0
- Jass
NEW
LuaDoc
: supports literal table:---@generic T ---@param x T ---@return { x: number, y: T, z?: boolean} local function f(x) end local t = f('str') -- hovering "t" shows: local t: { x: number, y: string, z?: boolean, }
CHG
improve changing config from server sideCHG
improve hover colorCHG
improve performanceCHG
telemetry: sends version of this extensionFIX
supports for file with LFFIX
may infer a custom class as a string
2.1.0
2021-7-2
NEW
supports local config file, using--configpath="config.json"
, learn more hereNEW
gototype definition
NEW
infer type by callback param:---@param callback fun(value: string) local function work(callback) end work(function (value) -- value is string here end)
NEW
optional field---@field name? type
CHG
#549CHG
diagnostics: always ignore the ignored files even if they are openedFIX
completion:type() ==
may does not work
2.0.5
2021-7-1
NEW
hover
andcompletion
reports initialization progressCHG
class field
consider implicit definition---@class Class local mt = {} function mt:init() self.xxx = 1 end function mt:func() print(self.xxx) -- self.xxx is defined end
CHG
improve performanceFIX
#580
2.0.4
2021-6-25
2.0.3
2021-6-24
CHG
improve memory usageFIX
some dialog boxes block the initialization processFIX
diagnosticsundefined-field
: blocks main threadFIX
#565
2.0.2
2021-6-23
NEW
supports literal table inpairs
local t = { a = 1, b = 2, c = 3 } for k, v in pairs(t) do -- `k` is string and `v` is integer here end
CHG
viewlocal f ---@type fun(x:number):boolean
---before function f(x: number) -> boolean ---after local f: fun(x: number): boolean
FIX
#558FIX
#567FIX
#568FIX
#570FIX
#571
2.0.1
2021-6-21
FIX
#566
2.0.0
2021-6-21
NEW
implementCHG
diagnosticsundefined-field
,deprecated
: default byOpened
instead ofNone
CHG
settingLua.runtime.plugin
: default by""
instead of".vscode/lua/plugin.lua"
(for security)CHG
settingLua.intelliSense.searchDepth
: removedCHG
settingLua.misc.parameters
:string array
instead ofstring
CHG
settingLua.develop.enable
,Lua.develop.debuggerPort
,Lua.develop.debuggerWait
: removed, useLua.misc.parameters
insteadFIX
#441FIX
#493FIX
#531FIX
#542FIX
#543FIX
#553FIX
#562FIX
#563
1.21.3
2021-6-17
NEW
supportsuntrusted workspaces
FIX
performance issues, thanks to folke
1.21.2
2021-5-18
1.21.1
2021-5-8
FIX
#529
1.21.0
2021-5-7
NEW
setting:completion.showParams
NEW
LuaDoc
: supports multiline commentsNEW
LuaDoc
: tail comments support lua string
1.20.5
2021-4-30
NEW
setting:completion.autoRequire
NEW
setting:hover.enumsLimit
CHG
folding: supports-- #region
FIX
completion: details may be suspendedFIX
#522FIX
#523
1.20.4
2021-4-13
1.20.3
2021-4-6
1.20.2
2021-4-2
CHG
LuaDoc
: supports---@param self TYPE
CHG
completion: does not show suggests after\n
,{
and,
, unless your settingeditor.acceptSuggestionOnEnter
isoff
FIX
#482
1.20.1
2021-3-27
FIX
telemetry window blocks initializingFIX
#468
1.20.0
2021-3-27
CHG
telemetry: change to opt-in, see #462 and Privacy-PolicyFIX
#467
1.19.1
2021-3-22
1.19.0
2021-3-18
NEW
VSCode: new settingLua.misc.parameters
NEW
new settingLua.runtime.builtin
, used to disable some built-in librariesNEW
quick fix: disable diagnostic in line/fileNEW
setting:Lua.runtime.path
supports absolute pathNEW
completion: field in table
---@class A
---@field x number
---@field y number
---@field z number
---@type A
local t = {
-- provide `x`, `y` and `z` here
}
NEW
LuaDoc
: supports multi-line comment before resume
---this is
---a multi line
---comment
---@alias XXXX
---comment 1
---comment 1
---| '1'
---comment 2
---comment 2
---| '2'
---@param x XXXX
local function f(x)
end
f( -- view comments of `1` and `2` in completion
CHG
intelli-scense: search from generic param to returnCHG
intelli-scense: search across varargCHG
text-document-synchronization: refactoredCHG
diagnostic: improvenewline-call
CHG
completion: improvethen .. end
CHG
improve initialization speedCHG
improve performanceFIX
missed syntax errorfunction m['x']() end
FIX
#452
1.18.1
2021-3-10
CHG
semantic-tokens: improve colors ofconst
andclose
CHG
type-formating: improve execution conditionsFIX
#444
1.18.0
2021-3-9
NEW
LuaDoc
: supports---@diagnostic disable
NEW
code-action: convert JSON to LuaNEW
completion: providethen .. end
snippetNEW
type-formating:-- press `enter` at $ local function f() $ end -- formating result: local function f() $ end -- as well as do $ end -- formating result do $ end
CHG
Windows
: dose not provideucrt
any moreCHG
Lua.workspace.library
: usepath[]
instead of<path, true>
FIX
missed syntax errorlocal a <const>= 1
FIX
workspace: preload blocked when hittingLua.workspace.maxPreload
FIX
#443FIX
#445
1.17.4
2021-3-4
1.17.3
2021-3-3
CHG
intelli-scense: treatV[]
astable<integer, V>
inpairs
FIX
completion:detail
disappears during continuous inputFIX
#435FIX
#436FIX
#437
1.17.2
2021-3-2
FIX
running in Windows
1.17.1
2021-3-1
CHG
intelli-scense: improve infer acrosstable<K, V>
andV[]
.CHG
intelli-scense: improve infer acrosspairs
andipairs
FIX
hover: shows nothing when hovering unknown functionFIX
#398FIX
#421FIX
#422
1.17.0
2021-2-24
NEW
diagnostic:duplicate-set-field
NEW
diagnostic:no-implicit-any
, disabled by defaultCHG
completion: improve field and tableCHG
improve infer crossipairs
CHG
cache globals when loadingCHG
completion: remove trigger character\n
for now, see #401FIX
diagnositc: may open file with wrong uri caseFIX
#406
1.16.1
2021-2-22
FIX
signature: parameters may be misplacedFIX
completion: interface in nested tableFIX
completion: interface not show after,
FIX
#400FIX
#402FIX
#403FIX
#404FIX
runtime errors
1.16.0
2021-2-20
NEW
file encoding supportsansi
NEW
completion: supports interface, see #384NEW
LuaDoc
: supports multiple class inheritance:---@class Food: Burger, Pizza, Pie, Pasta
CHG
renametable*
totablelib
CHG
LuaDoc
: revert compatible with--@
, see #392CHG
improve performanceFIX
missed syntax errorf() = 1
FIX
missed globalbit
inLuaJIT
FIX
completion: may insert error text when continuous inputingFIX
completion: may insert error text after resolveFIX
#349FIX
#396
1.15.1
2021-2-18
CHG
diagnostic:unused-local
excludesdoc.param
CHG
definition: excludes values, see #391FIX
not works on Linux and macOS
1.15.0
2021-2-9
NEW
LUNAR YEAR, BE HAPPY!CHG
diagnostic: when there are too many errors, the main errors will be displayed firstCHG
main thread no longer loop sleeps, see #329 #386CHG
improve performance
1.14.3
2021-2-8
1.14.2
2021-2-4
1.14.1
2021-2-2
FIX
#372
1.14.0
2021-2-2
NEW
VSCode
hintNEW
flush cache after 5 minNEW
VSCode
help semantic color with market themeCHG
create/delete/rename files no longer reload workspaceCHG
LuaDoc
: compatible with--@
FIX
VSCode
settingsFIX
#368FIX
#371
1.13.0
2021-1-28
NEW
VSCode
status barNEW
VSCode
options in some windowCHG
performance optimizationFIX
endless loop
1.12.2
2021-1-27
CHG
performance optimizationFIX
modifying the code before loading finish makes confusionFIX
signature: not works
1.12.1
2021-1-27
FIX
endless loop
1.12.0
2021-1-26
1.11.2
2021-1-7
1.11.1
2021-1-5
CHG
performance optimization
1.11.0
2021-1-5
NEW
Lua.runtime.plugin
NEW
intelli-scense: improvedm.f = function (self) end
fromself
tom
CHG
performance optimizationCHG
completion: improve performance of workspace wordsFIX
hover: tail comments may be cuttedFIX
runtime errors
1.10.0
2021-1-4
NEW
workspace: supports.dll
(.so
) inrequire
NEW
folding:---@class
,--#region
and docs of functionNEW
diagnostic:count-down-loop
CHG
supports~
in command lineCHG
completion: improve workspace wordsCHG
completion: show words in stringCHG
completion: splitfor .. in
tofor .. ipairs
andfor ..pairs
CHG
diagnostic:unused-function
checks recursiveFIX
#339
1.9.0
2020-12-31
NEW
YEAR! Peace and love!NEW
specify path oflog
andmeta
by--logpath=xxx
and--metapath=XXX
in command lineNEW
completion: worksapce wordNEW
completion: show words in commentNEW
completion: generate function documentationCHG
got arg after script name:lua-language-server.exe main.lua --logpath=D:\log --metapath=D:\meta --develop=false
FIX
runtime errors
1.8.2
2020-12-29
CHG
performance optimization
1.8.1
2020-12-24
FIX
telemetry: connect failed caused not working
1.8.0
2020-12-23
NEW
runtime: support nonstandard symbolNEW
diagnostic:close-non-object
FIX
#318
1.7.4
2020-12-20
FIX
workspace: preload may failed
1.7.3
2020-12-20
FIX
luadoc: typo ofpackage.config
FIX
#310
1.7.2
2020-12-17
CHG
completion: use custom tabsizeFIX
#307FIX
a lot of runtime errors
1.7.1
2020-12-16
NEW
setting:diagnostics.neededFileStatus
FIX
scan workspace may failsFIX
quickfix:newline-call
failedFIX
a lot of other runtime errors
1.7.0
2020-12-16
NEW
diagnostic:undefined-field
NEW
telemetry:CHG
diagnostic:unused-function
ignores function with<close>
CHG
semantic: not cover local callCHG
language client: update to 7.0.0FIX
semantic: tokens may not be updated correctlyFIX
completion: require path brokenFIX
hover: document uriFIX
#291FIX
#294
1.6.0
2020-12-14
NEW
completion: auto require local modulesNEW
completion: support delegateNEW
hover: show function by keywordfunction
NEW
code action: swap paramsCHG
standalone: unbind the relative path between binaries and scriptsCHG
hover:LuaDoc
also catchs--
(no need---
)CHG
rename: support docCHG
completion: keyword considers expressionFIX
#297
1.5.0
2020-12-5
NEW
settingruntime.unicodeName
NEW
fully supports---@generic T
FIX
#274FIX
#276FIX
#279FIX
#280
1.4.0
2020-12-3
NEW
settinghover.previewFields
: limit how many fields are shown in table hoverNEW
fully supports---@type Object[]
NEW
supports---@see
NEW
diagnosticunbalanced-assignments
CHG
resolves infer ofstring|table
CHG
unused-local
ignores local with---@class
CHG
locale file format changes tolua
1.3.0
2020-12-1
NEW
provides change logs, I think it's good idea for people knowing what's new(bugs)NEW
meta files of LuaJITNEW
support completion oftype(o) == ?
CHG
now I think it's a bad idea as it took me nearly an hour to complete the logs started from version1.0.0
FIX
closing ignored or library file dose not clean diagnosticsFIX
searching oft.f1
whent.f1 = t.f2
FIX
missing signature help of global function
1.2.1
2020-11-27
FIX
syntaxes tokens: #272
1.2.0
2020-11-27
NEW
hover shows comments from---@param
and---@return
: #135NEW
supportLuaDoc
as tail commentFIX
---@class
inheritanceFIX
missed syntaxes token:punctuation.definition.parameters.finish.lua
1.1.4
2020-11-25
FIX
wiered completion suggests for require paths inLinux
andmacOS
: #269
1.1.3
2020-11-25
FIX
extension not works inUbuntu
: #268
1.1.2
2020-11-24
NEW
auto completion finds globals fromLua.diagnostics.globals
NEW
support tailLuaDoc
CHG
no moreLua.intelliScense.fastGlobal
, now globals always fast and accurateCHG
LuaDoc
supports--- @
CHG
find reference
uses extraLua.intelliSense.searchDepth
CHG
diagnostics are limited by100
in each fileFIX
library files are under limit ofLua.workspace.maxPreload
: #266
1.1.1
2020-11-23
NEW
auto completion special marks deprecated itemsFIX
diagnostics may push wrong uri inLinux
andmacOS
FIX
diagnostics not cleaned up when closing ignored lua fileFIX
reload workspace remains old cachesFIX
incorrect hover of local attribute
1.1.0
2020-11-20
NEW
no longerBETA
NEW
usemeta.lua
instead ofmeta.lni
, now you can find the definition of builtin functionCHG
Lua files outside of workspace no longer launch a new server
1.0.6
2020-11-20
NEW
diagnosticcode-after-break
CHG
optimize performanceCHG
updated language clientCHG
unused-function
ignores global functions (may used out of Lua)CHG
checks if client supportsLua.completion.enable
: #259FIX
support for single Lua fileFIX
#257
1.0.5
2020-11-14
NEW
LuaDoc
supports moreEmmyLua
1.0.4
2020-11-12
FIX
extension not works
1.0.3
2020-11-12
NEW
server kills itself when disconnectingNEW
LuaDoc
supports moreEmmyLua
FIX
Lua.diagnostics.enable
not works: #251
1.0.2
2020-11-11
NEW
supports---|
afterdoc.type
CHG
lowcase-global
ignores globals with---@class
FIX
endless loopFIX
#244
1.0.1
2020-11-10
FIX
autocompletion not works.
1.0.0
2020-11-9
NEW
implementation, NEW start!