Releases: JohnnyMorganz/luau-lsp
Releases Β· JohnnyMorganz/luau-lsp
1.16.1
[1.16.1] - 2023-01-30
Fixed
- Fixed error in document symbols not conforming to specification -
selectionRange
will now be fully enclosed byrange
1.16.0
[1.16.0] - 2023-01-29
Added
- Support documentation comments attached to a table and table types, e.g. on
DATA
in the following:
--- Doc comment
local DATA = {
...
}
--- Doc comment
type Contents = {
...
}
- Include documentation comments on functions and tables in autocompletion
- Added configuration option
luau-lsp.require.mode
to configure how string requires are resolved. It can either berelativeToWorkspaceRoot
(default) orrelativeToFile
- Added
luau-lsp.types.documentationFiles
to support adding extra documentation symbols to the database. These are used to support definition files, and should be in the same format as shown here - Added
luau-lsp.diagnostics.strictDatamodelTypes
(default:false
) which configures whether we use expressive DataModel types to power diagnostics.
When off,game
/script
/workspace
(and all their members) are typed asany
, which helps to prevent false positives, but may lead to false negatives. - Added CLI option
--base-luaurc=PATH
for both LSP and Analyze mode to provide a path to a.luaurc
file which is used as the default configuration - Added support for Go To Definition / Type Definition on imported type references
module.Type
(gated behind FFlagSupportTypeAliasGoToDeclaration
)
Changed
- Sync to upstream Luau 0.560
- Class symbols with no documentation present in the docs file will no longer show anything on hover/autocomplete (i.e. won't show
@luau/global/require
) Instance.new()
now accepts variables which are of type string without erroring. It will instead error when Instance.new is called with a string literal which is an unknown class name- In the CLI,
luau-lsp lsp
now supports passing multiple--docs=
parameters - The CLI will now error when an unknown option is passed to it
- Diagnostics will now be emitted on
.luaurc
files with parse errors
Fixed
- Fixed unknown require errors occurring in multi-root workspaces when in a folder which isn't the first one
- Fixed diagnostics not clearing for files which were deleted unconventionally (i.e., outside of VSCode using File Explorer, or external commands such as
git stash
)
1.15.0
[1.15.0] - 2023-01-11
Added
- Added syntax highlighting support for interpolated strings
- Added color viewers for Color3.new/fromRGB/fromHSV/fromHex (gated behind
config.types.roblox
)
- Added support for autocompleting require-by-string functions with files and folders when using base Luau
Code_TNvzk5h7Tu.mp4
- Support documentation comments on variables:
--- documentation comment
local x = "string"
--- another doc comment
local y = function()
end
- Support documentation comments on table properties, such as the following:
local tbl = {
--- This is some special information
data = "hello",
--- This is a doc comment
values = function()
end,
}
local x = tbl.values -- Should give "This is a doc comment"
local y = tbl.data -- Should give "This is some special information"
Changed
- Sync to upstream Luau 0.558
- All Luau FFlags are no longer enabled by default. This can be re-enabled by configuring
luau-lsp.fflags.enableByDefault
. It is recommended to keepluau-lsp.fflags.sync
enabled so that FFlags sync with upstream Luau - Allow variable number of
=
sign for multiline doc comments, so--[[
and--[===[
etc. are valid openers
Fixed
- Luau analyze now exits with code 0 if there are no reported errors (all errors are ignored)
require(instance:FindFirstChild("Testing", true))
will no longer resolve as an immediate child of instance due to the recursive argument- Fixed a bug where internally the wrong pointer to an Instance type was being used for DM nodes which manifested into failed unification and
never
types - Constant variables will now be syntax highlighted appropriately at definition site (
local CONSTANT
)
Full Changelog: 1.14.3...1.15.0
1.14.3
[1.14.3] - 2022-12-10
Changed
- Sync to upstream Luau 0.556 (fixes crashing problems)
- Sync to latest language client
1.14.2
[1.14.2] - 2022-12-04
Changed
- Sync to upstream Luau 0.555 (in particular, this has improvements to class definitions)
What's Changed
- Update to latest types dump by @github-actions in #235
- add parent argument to Instance.new by @Uncontained0 in #238
New Contributors
- @Uncontained0 made their first contribution in #238
Full Changelog: 1.14.1...1.14.2
1.14.1
[1.14.1] - 2022-11-23
Changed
- Sync to upstream Luau 0.554
Fixed
- Fixed stack overflow when looking up properties on a table type where the
__index
is set to itself
1.14.0
[1.14.0] - 2022-11-13
Added
- Show inlay hints for variables in
for x in y
loops
Changed
- Sync to upstream Luau 0.553
Fixed
- Fixed rename symbol not working when cursor after variable
- Fixed rename symbol causing server crashing when attempting to rename a token which is not a variable
1.13.1
[1.13.1] - 2022-10-29
Fixed
- Respect client capabilities for snippet support in completion items
- Respect
luau-lsp.completion.addParentheses
whenfillCallArguments
is enabled - Fixed Inlay Hints crash when calling a function which only takes varargs
- Fixed Request Failed due to "No managed text document" as URLs were not being updated correctly
1.13.0
[1.13.0] - 2022-10-28
Added
- Show documentation for overloaded functions in completion and hover. We show the documentation string of the first overload, and how many other overloads are present.
- Show documentation for builtin class methods in signature help, including for the correct overload
- Show documentation for parameters in signature help
- Added
luau-lsp.completion.addParentheses
andluau-lsp.completion.addTabstopAfterParentheses
to configure whether parentheses are added when completing a function call, and whether we include a tab stop after the parentheses respectively. - Automatically fill function call arguments using parameter names. This can be disabled using
luau-lsp.completion.fillCallArguments
.
Changed
- Sync to upstream Luau 0.551
- Hide parameter name and variable inlay hint if the name is just
_
Fixed
- Fixed string-based requires to use a fully-qualified file path, fixing Document Link (Follow Link) support for requires
- Fixed reverse dependencies not being marked as dirty when using string requries due to unnormalised file paths
- Fixed incorrect highlighting of unnamed parameters in signature help when multiple parameters present of same type
- Fixed documentation not provided for some built-ins on hover
- Fixed signature help highlighting of parameters named
_
- Fixed documentation comments of parent function being attached to a nested function
- Use location to determine which parameter is active in signature help
- Correctly handle highlighting variadic arguments in signature help
- [Sublime Text] Fixed push diagnostics not being recomputed when sourcemap or
.luaurc
changes
1.12.1
[1.12.1] - 2022-10-18
Re-release of v1.12.0 to fix VSCode Windows x64 extension issues
Fixed
- Fixed attempting to run workspace diagnostics on null workspace causing Internal Server errors (affecting Sublime Text)