Skip to content

Releases: JohnnyMorganz/luau-lsp

1.16.1

30 Jan 12:51
Compare
Choose a tag to compare

[1.16.1] - 2023-01-30

Fixed

  • Fixed error in document symbols not conforming to specification - selectionRange will now be fully enclosed by range

1.16.0

29 Jan 17:57
Compare
Choose a tag to compare

[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 be relativeToWorkspaceRoot (default) or relativeToFile
  • 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 as any, 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 FFlag SupportTypeAliasGoToDeclaration)

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

11 Jan 18:11
Compare
Choose a tag to compare

[1.15.0] - 2023-01-11

Added

  • Added syntax highlighting support for interpolated strings

image

  • Added color viewers for Color3.new/fromRGB/fromHSV/fromHex (gated behind config.types.roblox)

image

  • 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 keep luau-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

10 Dec 13:03
Compare
Choose a tag to compare

[1.14.3] - 2022-12-10

Changed

  • Sync to upstream Luau 0.556 (fixes crashing problems)
  • Sync to latest language client

1.14.2

04 Dec 13:38
Compare
Choose a tag to compare

[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

23 Nov 20:03
Compare
Choose a tag to compare

[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

13 Nov 15:05
Compare
Choose a tag to compare

[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

29 Oct 17:24
Compare
Choose a tag to compare

[1.13.1] - 2022-10-29

Fixed

  • Respect client capabilities for snippet support in completion items
  • Respect luau-lsp.completion.addParentheses when fillCallArguments 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

28 Oct 20:11
Compare
Choose a tag to compare

[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 and luau-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

18 Oct 19:08
Compare
Choose a tag to compare

[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)