Releases: elm-tooling/elm-language-server
2.2.1
2.2.0
- Add server handling to discover tests (vscode)
- Add basic elm-review integration, showing diagnostics and offer fixes (off by default, find it in the settings)
- Add code action to create function in another module
- Add completions for anonymous function params
- Change default for
singleFieldRecord
rule to be false - Rework how we find test folders - will be only in
tests
for now - Reword remove all unused code action
- Improve performance of files with a lot of possible imports
- Prefer "Add Type Annotation" code action, followed by "Expose function" code action
- Fix type alias wrongly being shown as unused
- Fix duplicate completions for type aliases and constructors
- Fix wrong reference of Union constructor to import with the same name
- Fix unused_pattern for empty constructs
- Update parser
- Update dependencies
2.1.0
- Drop node 10
- Update tree-sitter-elm, should improve parsing significantly
- Add code action to create missing record field
- Add code action to remove all unused in a file
- Add code action to remove unused functions
- Add code action to remove all unused code in a file
- Improve whitespace handling on removal of unused nodes
- Improved snippets for
Browser.
- Reimplement diagnostics and code actions for missing case patterns
- Improve references
- Rework import definitions to be more like the compiler
- Add ambiguous type/value diagnostics
- Don't create diagnostic on duplicate imports
- Improve exposing completions
- Show completions for multiple modules if they share a name/alias
- Fix elm-format matcher for files that fail to parse
- Fix elmAnalyse excludedPath not working with relative paths
- Fix parsing of new files
- Fix inference for cons patterns with lists
- Fix unknown parameter used when calling elm-test
- Use text documents buffer to parse dirty files on auto server restart
- Improve logging and error texts on the binary error path
- Update dependencies
Merge pull request #510 from elm-tooling/prepare-2.0.3
- Add setting to disable diagnostics on change
- Improve performance of unused diagnostic
- Improve completions
- Fix problem with type inference caching
2.0.2
- Updated dependency, so that Apple M1 based laptops should work
- Improve unused import diagnostics
- Fix the
disableElmLSDiagnostics
setting not working - Don't crash if server fails to initialize
- Fix wrong display of fix record diff
- Handle kernel code usages better
- More type checker improvements
2.0.1
- Fixed test files not being recognized correctly on windows
- Fixed some type inference problems
- Fixed linked editing ranges breaking, when deleting a whole word
- Remove
file
entry from symbolproviders (Outline, Go to symbol and breadcrumbs) - Don't show files from dependencies in WorkspaceSymbolProvider (Go to symbol in workspace)
2.0.0
Features
-
Enabled type checking diagnostics that update on document change. These include parsing errors, type mismatch errors, value not found errors, etc
-
Support file events APIs (Previously VSCode only)
- On file create, the module name will be inserted
- On file rename, the module name and all references will be updated
-
A new "extract function" code action. Select a complete expression and it can be extracted to a function in the top level or the enclosing let expression (if there is one)
-
A new "install package" code action. When you try to import a module that is not installed, a code action will offer to install it. (we only check your local elm cache for possible packages and there is a setting to control skipping confirmation)
-
Replaced elm-analyse with our own diagnostics, there might be missing rules for you due to this
-
Show inferred type information on hovers
-
Support linked editing ranges. When editing a function name, the type annotation name will auto rename, or vice versa (needs to be enabled in most clients)
-
Watch elm.json for changes. The server will restart when a change is detected
-
Run elm make on server init
-
Improve record completions
-
Ports now have codeLenses, can find references and have correct types on mouseover
Bug Fixes
- Greatly improve performance of diagnostics and type inference
- Fix some type inference cases
- Fix module resolution to be more like how the compiler resolves modules
- Fix some incorrect unused value diagnostics
- Fix how errors from third party binaries are shown
- Fixed test dependencies being available in non test modules
Other Changes
- Update package rankings
- Update our parser