changelog.md
changelog
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 variables -
FIX
#1715 -
FIX
#1753 -
FIX
#1914 -
FIX
#1922 -
FIX
#1924 -
FIX
#1928 -
FIX
#1945 -
FIX
#1955 -
FIX
#1978
3.6.13
2023-3-2
-
FIX
setting:Lua.addonManager.enable
should betrue
by default -
FIX
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 menu -
CHG
settingLua.workspace.supportScheme
has been removed. All schemes are supported if the language id islua
-
FIX
#1831 -
FIX
#1838 -
FIX
#1841 -
FIX
#1851 -
FIX
#1855 -
FIX
#1857
3.6.7
2023-1-20
3.6.6
2023-1-17
3.6.5
2023-1-16
-
NEW
support casting global variables -
NEW
code lens: this feature is disabled by default. -
NEW
settings:-
Lua.codeLens.enable
: Enable code lens.
-
-
CHG
improve memory usage for large libraries -
CHG
definition: supports finding definitions for@class
and@alias
, since they may be defined multi times -
CHG
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 telemetry -
FIX
#831 -
FIX
#1729 -
FIX
#1737 -
FIX
#1751 -
FIX
#1767 -
FIX
#1796 -
FIX
#1805 -
FIX
#1808 -
FIX
#1811 -
FIX
#1824
3.6.4
2022-11-29
-
NEW
modifyrequire
after renaming files -
FIX
circulation reference in process analysis---@type number local x ---@type number local y x = y y = x --> Can not infer `y` before
-
FIX
#1698 -
FIX
#1704 -
FIX
#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 hover -
FIX
description disapeared for overloaded function -
FIX
#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 VSCode -
Lua.diagnostics.workspaceEvent
: #1626 set the time to trigger workspace diagnostics. -
Lua.doc.privateName
: treat matched fields as private -
Lua.doc.protectedName
: treat matched fields as protected -
Lua.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 libraries -
CHG
#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 themselves -
CHG
#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 ignored -
CHG
#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 function -
CHG
#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 values -
FIX
#1479 -
FIX
#1480 -
FIX
#1567 -
FIX
#1593 -
FIX
#1595 -
FIX
#1599 -
FIX
#1606 -
FIX
#1608 -
FIX
#1637 -
FIX
#1640 -
FIX
#1642 -
FIX
#1662 -
FIX
#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 VSCode -
CHG
document-symbol
: redesigned to better support forSticky Scroll
feature of VSCode -
FIX
diagnostics.workspaceDelay
can not prevent first workspace diagnostic -
FIX
#1476 -
FIX
#1490 -
FIX
#1493 -
FIX
#1499 -
FIX
#1526
3.5.3
2022-8-13
3.5.2
2022-8-1
3.5.1
2022-7-26
-
NEW
supports color -
NEW
settingLua.runtime.pluginArgs
-
CHG
settingtype.castNumberToInteger
default bytrue
-
CHG
improve supports for multi-workspace -
FIX
#1354 -
FIX
#1355 -
FIX
#1363 -
FIX
#1365 -
FIX
#1367 -
FIX
#1368 -
FIX
#1370 -
FIX
#1375 -
FIX
#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 EmmyLuaUnity -
CHG
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 description -
CHG
contravariance is allowed at the class declaration---@class BaseClass local BaseClass ---@class MyClass: BaseClass local MyClass = BaseClass -- OK!
-
CHG
hover: supports path in link-- --> will convert to `--` local x
-
CHG
signature: only show signatures matching the entered parameters -
FIX
#880 -
FIX
#1284 -
FIX
#1292 -
FIX
#1294 -
FIX
#1306 -
FIX
#1311 -
FIX
#1317 -
FIX
#1320 -
FIX
#1330 -
FIX
#1345 -
FIX
#1346 -
FIX
#1348
3.4.2
2022-7-6
-
CHG
diagnostic:type-check
ignoresnil
ingetfield
-
CHG
diagnostic:---@diagnostic disable: <ERR_NAME>
can suppress syntax errors -
CHG
completion:completion.callSnippet
no longer generate parameter types -
CHG
hover: show---@type {x: number, y: number}
as detail instead oftable
-
CHG
dose not infer asnil
byt.field = nil
-
FIX
#1278 -
FIX
#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
#1256 -
FIX
#1257 -
FIX
#1267 -
FIX
#1269 -
FIX
#1273 -
FIX
#1275 -
FIX
#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-tokens -
FIX
diagnostics flash when opening a file -
FIX
sometimes workspace diagnostics are not triggered -
FIX
#1228 -
FIX
#1229 -
FIX
#1242 -
FIX
#1243 -
FIX
#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
#1204 -
FIX
#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 types -
FIX
#1125 -
FIX
#1131 -
FIX
#1134 -
FIX
#1141 -
FIX
#1144 -
FIX
#1150 -
FIX
#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 links -
FIX
memory leak with symbol links -
FIX
diagnostic: send empty results to every file after startup -
FIX
#1103 -
FIX
#1107
3.2.2
2022-4-26
-
FIX
diagnostic:unused-function
cannot handle recursion correctly -
FIX
#1092 -
FIX
#1093 -
FIX
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 recursion -
FIX
#1051 -
FIX
#1072 -
FIX
#1077 -
FIX
#1088 -
FIX
runtime errors
3.1.0
2022-4-17
-
NEW
support find definition in method -
CHG
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
#994 -
FIX
#1057 -
FIX
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 changes -
CHG
diagnostic:-
type-check
: removed for now -
no-implicit-any
: renamed tono-unknown
-
-
CHG
formatter: no longer need--preview
-
CHG
LuaDoc
: supports---@type (string|integer)[]
-
FIX
semantic: color offunction
-
FIX
#1027 -
FIX
#1028
2.6.8
2022-4-9
-
CHG
completion: call snippet shown asFunction
instead ofSnippet
whenLua.completion.callSnippet
isReplace
-
FIX
#976 -
FIX
#995 -
FIX
#1004 -
FIX
#1008 -
FIX
#1009 -
FIX
#1011 -
FIX
#1014 -
FIX
#1016 -
FIX
#1017 -
FIX
runtime errors reported by telemetry
2.6.7
2022-3-9
-
NEW
diagnosis report, read more -
CHG
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
#965 -
FIX
#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 completion -
FIX
#936 -
FIX
#937 -
FIX
#940 -
FIX
#941 -
FIX
#941 -
FIX
#943 -
FIX
#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
sec -
Lua.workspace.maxPreload
:1000
->5000
-
Lua.workspace.preloadFileSize
:100
KB ->500
KB
-
-
CHG
improve performance -
FIX
modify luarc failed -
FIX
library files not recognized correctly -
FIX
#903 -
FIX
#906 -
FIX
#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 speed -
CHG
completion: can be triggered inLuaDoc
and strings -
CHG
diagnostic: smoother -
CHG
settingsLua.color.mode
removed -
FIX
#876 -
FIX
#879 -
FIX
#884 -
FIX
#885 -
FIX
#886 -
FIX
#902
2.5.6
2021-12-27
-
CHG
diagnostic: now syntax errors inLuaDoc
are shown asWarning
-
FIX
#863 -
FIX
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 async -
Lua.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 #727 -
NEW
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 Ferreira -
NEW
supports utf-8-offsets -
NEW
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 order -
CHG
no longer asks to trust plugin in VSCode, because VSCode already provides the workspace trust feature -
CHG
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
#744 -
FIX
#748 -
FIX
#749 -
FIX
#752 -
FIX
#753 -
FIX
#756 -
FIX
#758 -
FIX
#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 defines -
CHG
hover: improve showing multi comments at enums -
CHG
hover: shows method -
CHG
hint:Lua.hint.paramName
now supportsDisable
,Literal
andAll
-
CHG
only search first file byrequire
-
CHG
no longer infer by usage -
CHG
no longer ignore file names case in Windows -
CHG
watching library changes -
CHG
completion: improve misspelling results -
CHG
completion:Lua.completion.displayContext
default to0
-
CHG
completion:autoRequire
has better inserting position -
CHG
diagnostics:-
redundant-parameter
default severity toWarning
-
redundant-value
default severity toWarning
-
-
CHG
infer: more strict of calculation results -
CHG
#663 -
FIX
runtime errors -
FIX
hint: may show param-2 asself
-
FIX
semantic: may fail when scrolling -
FIX
#647 -
FIX
#660 -
FIX
#673
2.3.7
2021-8-17
-
CHG
improve performance -
FIX
#244
2.3.6
2021-8-9
-
FIX
completion: can not find global fields -
FIX
globals and class may lost
2.3.5
2021-8-9
-
CHG
improve memory usage -
CHG
completion: call snip triggers signature (VSCode only) -
FIX
completion: may not find results
2.3.4
2021-8-6
-
CHG
improve performance -
FIX
#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 initialization -
FIX
runtime errors
2.3.1
2021-7-19
-
NEW
settingLua.workspace.userThirdParty
, add private user third-parth by this setting -
CHG
path in config supports~/xxxx
-
FIX
autoRequire
inserted incorrect code -
FIX
autoRequire
may provide dumplicated options -
FIX
#606 -
FIX
#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 hang -
FIX
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 line -
FIX
when a file is renamed, the file will still be loaded even if the new file name has been set to ignore -
FIX
#596 -
FIX
#597 -
FIX
#598 -
FIX
#601
2.2.3
2021-7-9
-
CHG
improveauto require
-
CHG
will not sleep anymore -
FIX
incorrect doc:debug.getlocal
-
FIX
completion: incorrect callback -
FIX
#592
2.2.2
2021-7-9
-
FIX
incorrect syntax color -
FIX
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 side -
CHG
improve hover color -
CHG
improve performance -
CHG
telemetry: sends version of this extension -
FIX
supports for file with LF -
FIX
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 here -
NEW
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
#549 -
CHG
diagnostics: always ignore the ignored files even if they are opened -
FIX
completion:type() ==
may does not work
2.0.5
2021-7-1
-
NEW
hover
andcompletion
reports initialization progress -
CHG
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 performance -
FIX
#580
2.0.4
2021-6-25
2.0.3
2021-6-24
-
CHG
improve memory usage -
FIX
some dialog boxes block the initialization process -
FIX
diagnosticsundefined-field
: blocks main thread -
FIX
#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
#558 -
FIX
#567 -
FIX
#568 -
FIX
#570 -
FIX
#571
2.0.1
2021-6-21
-
FIX
#566
2.0.0
2021-6-21
-
NEW
implement -
CHG
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
: removed -
CHG
settingLua.misc.parameters
:string array
instead ofstring
-
CHG
settingLua.develop.enable
,Lua.develop.debuggerPort
,Lua.develop.debuggerWait
: removed, useLua.misc.parameters
instead -
FIX
#441 -
FIX
#493 -
FIX
#531 -
FIX
#542 -
FIX
#543 -
FIX
#553 -
FIX
#562 -
FIX
#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 comments -
NEW
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 suspended -
FIX
#522 -
FIX
#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 initializing -
FIX
#468
1.20.0
2021-3-27
-
CHG
telemetry: change to opt-in, see #462 and Privacy-Policy -
FIX
#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 libraries -
NEW
quick fix: disable diagnostic in line/file -
NEW
setting:Lua.runtime.path
supports absolute path -
NEW
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 return -
CHG
intelli-scense: search across vararg -
CHG
text-document-synchronization: refactored -
CHG
diagnostic: improvenewline-call
-
CHG
completion: improvethen .. end
-
CHG
improve initialization speed -
CHG
improve performance -
FIX
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 conditions -
FIX
#444
1.18.0
2021-3-9
-
NEW
LuaDoc
: supports---@diagnostic disable
-
NEW
code-action: convert JSON to Lua -
NEW
completion: providethen .. end
snippet -
NEW
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 more -
CHG
Lua.workspace.library
: usepath[]
instead of<path, true>
-
FIX
missed syntax errorlocal a <const>= 1
-
FIX
workspace: preload blocked when hittingLua.workspace.maxPreload
-
FIX
#443 -
FIX
#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 input -
FIX
#435 -
FIX
#436 -
FIX
#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 function -
FIX
#398 -
FIX
#421 -
FIX
#422
1.17.0
2021-2-24
-
NEW
diagnostic:duplicate-set-field
-
NEW
diagnostic:no-implicit-any
, disabled by default -
CHG
completion: improve field and table -
CHG
improve infer crossipairs
-
CHG
cache globals when loading -
CHG
completion: remove trigger character\n
for now, see #401 -
FIX
diagnositc: may open file with wrong uri case -
FIX
#406
1.16.1
2021-2-22
-
FIX
signature: parameters may be misplaced -
FIX
completion: interface in nested table -
FIX
completion: interface not show after,
-
FIX
#400 -
FIX
#402 -
FIX
#403 -
FIX
#404 -
FIX
runtime errors
1.16.0
2021-2-20
-
NEW
file encoding supportsansi
-
NEW
completion: supports interface, see #384 -
NEW
LuaDoc
: supports multiple class inheritance:---@class Food: Burger, Pizza, Pie, Pasta
-
CHG
renametable*
totablelib
-
CHG
LuaDoc
: revert compatible with--@
, see #392 -
CHG
improve performance -
FIX
missed syntax errorf() = 1
-
FIX
missed globalbit
inLuaJIT
-
FIX
completion: may insert error text when continuous inputing -
FIX
completion: may insert error text after resolve -
FIX
#349 -
FIX
#396
1.15.1
2021-2-18
-
CHG
diagnostic:unused-local
excludesdoc.param
-
CHG
definition: excludes values, see #391 -
FIX
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 first -
CHG
main thread no longer loop sleeps, see #329 #386 -
CHG
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
hint -
NEW
flush cache after 5 min -
NEW
VSCode
help semantic color with market theme -
CHG
create/delete/rename files no longer reload workspace -
CHG
LuaDoc
: compatible with--@
-
FIX
VSCode
settings -
FIX
#368 -
FIX
#371
1.13.0
2021-1-28
-
NEW
VSCode
status bar -
NEW
VSCode
options in some window -
CHG
performance optimization -
FIX
endless loop
1.12.2
2021-1-27
-
CHG
performance optimization -
FIX
modifying the code before loading finish makes confusion -
FIX
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 optimization -
CHG
completion: improve performance of workspace words -
FIX
hover: tail comments may be cutted -
FIX
runtime errors
1.10.0
2021-1-4
-
NEW
workspace: supports.dll
(.so
) inrequire
-
NEW
folding:---@class
,--#region
and docs of function -
NEW
diagnostic:count-down-loop
-
CHG
supports~
in command line -
CHG
completion: improve workspace words -
CHG
completion: show words in string -
CHG
completion: splitfor .. in
tofor .. ipairs
andfor ..pairs
-
CHG
diagnostic:unused-function
checks recursive -
FIX
#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 line -
NEW
completion: worksapce word -
NEW
completion: show words in comment -
NEW
completion: generate function documentation -
CHG
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 symbol -
NEW
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 tabsize -
FIX
#307 -
FIX
a lot of runtime errors
1.7.1
2020-12-16
-
NEW
setting:diagnostics.neededFileStatus
-
FIX
scan workspace may fails -
FIX
quickfix:newline-call
failed -
FIX
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 call -
CHG
language client: update to 7.0.0 -
FIX
semantic: tokens may not be updated correctly -
FIX
completion: require path broken -
FIX
hover: document uri -
FIX
#291 -
FIX
#294
1.6.0
2020-12-14
-
NEW
completion: auto require local modules -
NEW
completion: support delegate -
NEW
hover: show function by keywordfunction
-
NEW
code action: swap params -
CHG
standalone: unbind the relative path between binaries and scripts -
CHG
hover:LuaDoc
also catchs--
(no need---
) -
CHG
rename: support doc -
CHG
completion: keyword considers expression -
FIX
#297
1.5.0
2020-12-5