Releases: JohnnyMorganz/luau-lsp
Releases · JohnnyMorganz/luau-lsp
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)
1.12.0
[1.12.0] - 2022-10-18
Added
- Added support for moonwave-style documentation comments! Currently only supports comments attached to functions directly. See https://eryn.io/moonwave for how to write doc comments
- Provide autocomplete for class names in
Instance:IsA("ClassName")
and errors when ClassName is unknown - Provide autocomplete for properties in
Instance:GetPropertyChangedSignal("Property")
and errors when Property is unknown - Provide autocomplete for enums in
EnumItem:IsA("enum")
and errors when Enum is unknown - Added command line flag
--ignore=GLOB
toluau-lsp analyze
allowing you to provide glob patterns to ignore diagnostics, similar toluau-lsp.ignoreGlobs
. Repeat the flag multiple times for multiple patterns
Changed
- Sync to upstream Luau 0.549
- Deprioritise metamethods (
__index
etc.) in autocomplete
Fixed
- Fixed inlay hints not showing for variable types when
hover.strictDataModelTypes
is disabled - Fixed Internal Errors for workspace diagnostics when a type error was being displayed backed by the incorrect text document causing string errors
- Fixed Internal Errors for goto definitions as incorrect document used for string conversions
- Fixed overloaded functions not being highlighted as functions in autocomplete
- Potential fix to Request Failed errors
- Fixed
self
incorrectly showing up in Inlay Hints and Signature Help - Fixed Studio Plugin syncing causing server crashes
1.11.2
[1.11.2] - 2022-10-08
Changed
- Sync to upstream Luau 0.548
Fixed
- Fixed inlay hints no longer showing up
- Fixed inlay hints not showing up in first load of file until a dummy change is made
- Fixed DM types not generated for
script
nodes. Improved autocomplete will now be provided for non-DataModel projects (e.g.Tool
as Root)
Full Changelog: 1.11.1...1.11.2
1.11.1
[1.11.1] - 2022-10-01
Changed
- Sync to upstream Luau 0.547
Fixed
- Fixed handling of UTF-16 characters of different size to UTF-8 (i.e., emojis, non-english text). Will no longer produce malformed strings and weird diagnostics
1.11.0
[1.11.0] - 2022-09-28
Added
- Added support for Semantic Tokens
Changed
- Improved autocomplete items ordering by applying heuristics to sort items
- Table keys are prioritised when autocompleting inside of a table
Fixed
- Fixed
.meta.json
file being picked as a script's file path instead of the actual Luau file - Fixed diagnostics not clearing for files when workspace diagnostics is not enabled
- Fixed metatable name not being used when hovering over the function of a metatable
- Manually increased some internal limits to reduce likelihood of type errors
- Fixed diagnostics (and other global configuration) not loading when not inside of a workspace
- Fixed server erroring when configuration is not sent by the client
- Fixed diagnostics not showing on initial startup in push diagnostics mode (Sublime Text)
- Fixed "insert inlay hint" incorrectly enabled for error types
1.10.1
[1.10.1] - 2022-09-24
Changed
- Further improvements to instance type creation
- Sync to upstream Luau 0.546
Fixed
- Children of
game
will now correctly show in autocomplete - Fix autocomplete of non-identifier properties:
[email protected]
->Packages._Index["[email protected]"]
- Fixed mapping of requires from
game.Players.LocalPlayer.PlayerScripts
togame.StarterPlayer.StarterPlayerScripts
(and PlayerGui + StarterGear) - Fixed type errors being reported twice in
luau-lsp analyze
1.10.0
This release introduces support for a Studio Plugin to allow the language server to infer instance trees: #136
We also start creating nightly releases available at https://github.com/JohnnyMorganz/luau-lsp/actions/workflows/nightly.yml which builds and packages current main branch every day at midnight UTC.
To use a nightly release, visit the nightly actions section and select an action run. You should find artifacts available to download - unpackage the relevant artifact then use Extensions: Install from VSIX...
from vscode. We also build a binary which can be used.
[1.10.0] - 2022-09-17
Added
- Introduced a Studio plugin to infer instance trees for partially managed projects. This works alongside Rojo sourcemaps, where instance information retrieved from Studio is merged into the sourcemap. Starting the plugin can be configured using
luau-lsp.plugin.enabled
. Install the plugin from the Plugin Marketplace
Changed
- Sync to upstream Luau 0.545
- Inlay hints for variables will no longer show if the type hint string is the same as the variable name (i.e.,
local tbl = {}
, the hint: tbl
will no longer show) (#137) - Restructured instance types system to reduce memory and type creation footprint
Fixed
- Fixed false document diagnostics showing up for opened tabs when VSCode is first started (#132)
- Various type definition improvements
1.9.2
[1.9.2] - 2022-09-06
Changed
- Sync to upstream Luau 0.543
Fixed
- Fixed diagnostics for ignored files not clearing when workspace diagnostics is enabled (#77)
- Fixed
luau-lsp analyze
would not exit with non-zero error code when definitions failed to load - Fixed
luau-lsp analyze
would not exit with non-zero error code when file path provided was not found - Fixed crash when Suggest Imports is enabled and you have a local variable defined with no assigned value (e.g.
local name
)
- Improve RequestAsync type by @JohnnyMorganz in #121
- Correct types for
HumanoidDescription
andTeleportService
methods by @fewkz in #125
New Contributors
Full Changelog: 1.9.1...1.9.2
1.9.1
[1.9.1] - 2022-08-29
Changed
- Sync to upstream Luau 0.542
Fixed
- New service imports which come first alphabetically will group with existing imports rather than going at the beginning of the file
- Fixed warning messages showing up as notifications when generating Rojo Sourcemap even if it works successfully