Releases: JohnnyMorganz/luau-lsp
Releases · JohnnyMorganz/luau-lsp
1.25.0
[1.25.0] - 2023-10-14
Changed
- Sync to upstream Luau 0.599
- Prioritise
game:GetService()
as the first autocompletion entry when typinggame:
- Code blocks in hover and documentation now use
luau
as the syntax highlighting
Fixed
- Do not add line separator in hover when there is no text documentation
- Fixed init files not working with directory aliases (e.g.
require("@dir")
orrequire("@dir/subdir")
)
1.24.1
[1.24.1] - 2023-09-09
Changed
- Sync to upstream Luau 0.594
- Support autocomplete end on
do
blocks
Fixed
- Fixed crash when attempting to Go To Definition of an imported type
1.24.0
[1.24.0] - 2023-08-26
Changed
- Sync to upstream Luau 0.592
- Simplified Instance.new and game:GetService calls internally and in the definitions file to reduce complexity issues in the typechecker.
Fixed
- Fixed cleanup of rojo sourcemap generation process when VSCode exits
- Fixed color presentations values being unclamped causing errors in other editors
- Fixed newline not added to separate services and requires when the suggestion imports both at the same time
1.23.0
[1.23.0] - 2023-08-06
NOTE: For automatic sourcemap generation users, this release now requires Rojo v7.3.0+ is installed, with rojo sourcemap --watch
support
Added
- Added command
luau-lsp.reloadServer
to restart the language server without having to reload the workspace
Changed
- Sync to upstream Luau 0.589
- Changes to settings which require server restart will now reload the server instead of having to reload the whole VSCode workspace
- Switch to Rojo
rojo sourcemap --watch
command for sourcemap autogeneration. Note that on rojo error, you must manually restart sourcemap regeneration. Requires Rojo v7.3.0+
Fixed
- Reverted change to type checking in 1.22.0 that reduced memory footprint. This should resolve the problems where diagnostics aren't showing with an InternalCompilerError, at the cost of increased memory use if
luau-lsp.diagnostics.workspace
is enabled. - Fixed string require resolution when the string had a secondary extension:
Module.mod
will be resolved asModule.mod.luau
- Fixed resolution of directory aliases pointing to relative paths
1.22.1
[1.22.1] - 2023-07-15
Changed
- Sync to upstream Luau 0.584
- Removed need for typechecking for operations that don't require the type information (e.g., document link / color)
Fixed
- Fixed diagnostics not showing when working in a new file with no workspace open
- Fixed race condition where sometimes the server does not receive user configuration on initial load, falling back to defaults
luau-lsp.fflags.override
will now be parsed when using CLI analyze settings. Note that the otherfflags
options are not supported in CLI analyze mode- Fixed semantic tokens segfault crash on some tables
- Fixed duplicate definitions showing in the Go To Definition page
- Fixed some syntax highlighting inconsistencies
- Added a temporary fix to "RecursionLimitException" exceptions leaking to the public interface.
1.22.0
[1.22.0] - 2023-06-30
Added
- Support requiring directories with
init.luau
(orinit.lua
) files inside of them. i.e.require("../Directory")
resolves to../Directory/init.luau
. - The CLI analyze now accepts a parameter
--settings=path/to/settings.json
which takes in LSP-style settings to configure features such as require settings. Note: this is separate to.luaurc
Changed
- Significant improvements to memory usage in large workspaces when workspace indexing or diagnostics are enabled
- Sync to upstream Luau 0.582
- Deprioritise file or directory aliases over exact paths in autocomplete, since typically aliases start with a prefix (e.g.
@
) - Signature Help is more intelligent about providing information about the best function overload which matches
Fixed
- Fixed language features not working in new untitled files
- Fixed incorrect color conversions in the color picker between RGB/HSV/Hex
- Fixed autoimporting modules not respecting multiline requires
- Fixed documentation for
debug
andutf8
library - Fixed synthetic
typeof()
showing up in signature help for builtin tables (e.g.function typeof(string).byte(...)
) - Fixed signature help highlighting for
string
library - Fixed rename symbol on a type definition
type NAME = ...
- Fixed file and directory aliases not being canonicalised to absolute paths causing "Follow Link" to fail when using relative alias paths
- Don't show directory aliases after the first path segment has been typed
- Fixed rename symbol not working when triggered at the end of a symbol
- Fix indentation of autocomplete end when autocompleting inside of a function call
1.21.0
[1.21.0] - 2023-06-14
Deprecated
- Deprecated
luau-lsp.autocompleteEnd
setting in favour ofluau-lsp.completion.autocompleteEnd
Added
- Added folding ranges for multi-line function definitions, so long parameter lists can be collapsed
- Added notification when we detect definitions file changes
- Added support for auto-requiring modules when autocompleteing a type reference, to allow indexed types: i.e. autocompleting
Module
intype Foo = Module.Bar
- Added
luau-lsp.require.directoryAliases
to map require string prefixes to directories - Added tilde expansion to
luau-lsp.require.fileAliases
(anddirectoryAliases
), mapping~/foo.lua
to a file in your home directory - End autocompletion will now work for defined anonymous functions inside of function calls
Changed
- Sync to upstream Luau 0.580
- Updated workspace indexing strategy to minimise memory usage. We no longer index ignored files (
luau-lsp.ignoreGlobs
),
and there is a settingluau-lsp.index.maxFiles
(default: 10,000) to configure the amount of files indexed before backing off.
Fixed
- When editing in model projects, we now force relative requires, instead of incorrect absolute requires using a "ProjectRoot"
1.20.2
[1.20.2] - 2023-05-10
Fixed
- Fixed internal error for LazyType unwrapping
1.20.1
[1.20.1] - 2023-05-09
Fixed
- Fixed bug in semantic tokens system causing language server crashes
1.20.0
[1.20.0]
Added
- Added support for workspace symbols to resolve symbols across the whole workspace. In VSCode, you can open this using
Ctrl + T
- Added configuration option
luau-lsp.require.fileAliases
to statically provide custom mappings from string requires to a file path.
For example, adding@example/constants
mapping toC:/fakepath/constants.luau
will automatically resolverequire("@example/constants")
- Added support for Folding Ranges. The language server now signals the following foldable ranges in a document:
- Whole blocks, such as
do .. end
,for - do .. end
function() .. end
etc. - Tables, and type tables
x = { .. }
- Multiline function calls
foo(..)
- Block comments
--[[ .. ]]
- Custom comment regions denoted using
--#region
and--#endregion
- Whole blocks, such as
- Added support for Call Hierarchies. Call Hierarchies allow you to view all incoming and outgoing calls of a function:
i.e., all functions that call the current function, as well as all functions that the current function calls.
This works at multiple levels, displaying ancestor and descendant functions.
Changed
- Sync to upstream Luau 0.575