Elm Language Server Versions Save

Language server implementation for Elm

2.2.1

2 years ago
  • Add instructions for elm-review
  • Add type variable references/renames
  • Fix false positive for unnecessary list concat diagnostics
  • Fix possible trailing slash on init (for Nova Editor)
  • Update dependencies

2.2.0

3 years ago
  • 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

3 years ago
  • 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

2.0.3

3 years ago
  • Add setting to disable diagnostics on change
  • Improve performance of unused diagnostic
  • Improve completions
  • Fix problem with type inference caching

2.0.2

3 years ago
  • 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

3 years ago
  • 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

3 years ago

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

1.13.2

3 years ago
  • Fix bug on file open
  • Fix some type inference bugs
  • Reset diagnostics for elmMake and elmAnalyze

1.13.1

3 years ago
  • Fixed some type inference bugs

1.13.0

3 years ago
  • Debounce sending diagnostics to the client
  • Support finding field references and renaming
  • Tree sitter parser improvements
  • Handle negate expressions in type inference