- Allow running with newer node versions
- Update dependencies
- Update server
- Fix AST getting out of sync with the document, when the client sends multiple content changes at once. Mostly affecting non vscode clients
- Fix expose/unexpose detection if a type starts with the same name as another
- Support newer node versions
- Update tree-sitter-elm
- Update dependencies
- Update dependencies
- Update server
- Suggest auto import completions and code actions for module aliases
- Add auto import completions for ports
- Show module aliases in hover and completions type strings
- Improve sorting of completions for exposed values
- Fix for field references when the module is not imported
- Fix the extract function code action incorrectly computing parameters
- Fix union constructor type inference when there are comments between the arguments
- Fix some type inference bugs related to extensible records
- Support node 18
- Update dependencies
-
Improved an error message
-
Update language server to 2.6.0
- Start using completion item label description for module name
- Add completions for destructured record patterns and ports
- Add function parameter record field completions
- Don't try to get code actions when there is a top level parsing error
- Fix move function refactor
- Fix expose being able to expose the same function multiple times
- Fix a bug with extract function parameter calculation
- Fix for reference count of function in a let, with a type annotation.
- Don't cache operator definitions, fixes a type inference error with
Parser.Advanced
- Update language server to 2.5.2
- Fix a bug that caused the language server to stop working
- Fix clients starting multiple times due to parallelization
-
Removed node 12 compatibility
-
Update to new language server version
-
Update dependencies
-
Update language server to 2.5.0
- Removed node 12 compatibility
- Update to new language server version
- Improve error handling for broken package cache
- Rework expose/unexpose code action
- Use
--compiler
option for elm-test when elmPath is specified - Add expose/unexpose
type
with variants action - Fix type inference of non-rigid number vars
- Fix elm review path handling on windows
- Small improvements to progress messaging
- Update dependencies
-
Update dependencies
-
Updated language server
- Improve whitespace handling for
of
keyword - Updated tree sitter parser to fix some parse errors
- Improve whitespace handling for
-
Update dependencies
-
Updated language server
- Implement fuzzy matching when using the workspace symbol search
- Ignore suppressed elm-review errors
- Parsing improvements
- Fix references and renames being wrong in some edge case
- Fix edge case where type inference was not returning correct results
- Fix auto import when there are module docs and no imports
- Fix type inference for cases, that need more then 26 types
- Update dependencies
-
Add json schema help for
elm-analyse.json
-
Removed json schema help for
elm-tooling.json
, it's no longer needed -
Fix problem when being used with VSCode Live Share
-
Updated language server
- Remove the need for "entrypoints" in elm-tooling.json
- Add a code action to add function argument from missing declaration
- Add a code action to add missing union constructors
- Add annotations from ports to hovers and suggestions
- "Add type annotation" can now be enabled/disabled via elm-analyse.json and will also honor excluded folders
- Fix type inference for empty record pattern
- Fix reporting when elm, elm-test or elm-review were not found
- Fix clients that don't provide incremental changes
-
Update dependencies
-
Updated language server
- 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
-
Add test-runner UI
-
Add basic elm-review integration, showing diagnostics and offer fixes (off by default, find it in the settings)
-
Start extension, if an elm.json is found, not on entering an elm file
-
Fix commands not being unique per workspace
-
Updated language server
- 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
- Update dependencies
- Updated language server
- 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
- Updated language server
- Add setting to disable diagnostics on change
- Improve performance of unused diagnostic
- Improve completions
- Fix problem with type inference caching
- Updated language server
- 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
-
Fix elm package install command
-
Updated language server
- 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)
-
Improved docs
-
Updated language server
-
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
- 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
- Update package rankings
- Update our parser
-
- Updated the language server
- Fix bug on file open
- Fix some type inference bugs
- Reset diagnostics for elmMake and elmAnalyze
- No changes
- No changes
- Updated the language server
- Debounce sending diagnostics to the client
- Support finding field references and renaming
- Tree sitter parser improvements
- Handle negate expressions in type inference
- Updated the language server
- Fixed hovers for functions not showing up
- Fixed hovers for let definitions not showing if they have no type annotation
- Fixed a problem with node 10
-
Elm-Analyse will be disabled by default from now on
-
Added elm-tooling.json schema for better integration
-
Updated dependencies
-
Updated the language server
- Make entrypoints configurable via elm-tooling.json
- Default elmAnalyseTrigger to never
- Added type inference
- Added type inference diagnostics for missing top level type annotations
- Added codeActions to infer annotations for functions
- Added goto definition and references for ports
- Create function declaration from usage
- More goto definition improvements
- Tree sitter now parses the files incrementally after the initial scan
-
Prefill newly create elm files
-
Renaming files in the file explorer will rename tho module definition
-
Cache codelens requests to prevent duplicate server requests
-
Updated the language server
- Improve definition for conflicting module/type names
- Various completion sorting tweaks
- Add parameter names to hovers/autocompletions for functions
- Improve module renames to also rename the file
- Add support renaming files in the vscode file explorer
- Use dependency injection to resolve classes
-
Fixed names with "_" being highlighted wrong
-
Updated dependencies
-
Updated the language server
- Add value completions for non-imported modules
- Add definition handling for type variables
- Improved annotation/function name completions
- Various other completion improvements
- Fixed wrong wildcard shadowing rules
- Update tree sitter and other dependencies
- Updated the language server
- Revert "We changed the used globbing lib to a slightly faster one"
- Updated the language server
- We changed the used globbing lib to a slightly faster one
- Improved sorting of autoimport completions
- Don't complete in comments
- Separate snippets and keywords by type and show them in different circumstances
- Added completions for module values or possible submodules
- Added function completion for used but not declared function
- Fix for possible exception on completion
- Fix external modules not being found in some cases
- Fix record completions interfering with Module completions
- Updated the language server
- Fixed bug that was causing problems with completions from external packages
- Updated the language server
- Fix problem on import generation for windows systems
- Updated the language server
- Fix imports form other files not showing up in some cases
-
Added restart command
-
Make elm.json schema stricter
-
Update dependencies
-
Updated the language server
- Add completions for possible imports
- Scaffold case branches (use the new snippet and code action)
- Sort auto imports by closest similar modules
- Improve record field access completions
- Remove exposing subscriptions in Browser.sandbox snippet
- Fixed references to shadowed modules being potentially wrong
- Don't use flatmap to be node 10 compatible (caused problems for npm package users)
- Update elm-analyse
- Update dependencies
- Updated the language server
- Add record access completions for types and nested types
- Fix elm.json being ignored when paths are similar to another
- Fix record field jump to definitions
- Fix record field completions in some cases
- Fix auto import not suggesting modules with multiple prefixes
- Fix error where qualified names were not taken into account for definition resolving
- Updated package rankings
- Updated the language server
- Fix exposing list params not getting completed for imports
- Fix possible imports for packages not in ranking list
- Prevent imports from getting out of date
-
Fix case where type constructor highlighting was wrong
-
Client support for codeLens exposing/unexposing and move function refactoring
-
Updated the language server
- Add diagnostic on unknown symbols and offer importing via codeAction (needs the file to be save and the compiler to run)
- Support exposing/unexposing functions and types via codeLense or codeAction
- Add support for move function refactoring
- Fix init taking long when using files with thousands of functions
- Add new snippet for if-else conditions
- Better completions for record update syntax
- Added completions for basic keywords like if, then, else, let etc.
- Improved hovers for types aliases
- Added jump to definition for fields of records
- Better handling of invalid renames
- Updated the language server
- Improved goto definition, find references and rename for anonymous functions, let definitions, destructured functions in let definitions, destructured parameters and case branches
- Show comment from type for type constructor
-
Improve auto closing and surrounding pairs some more
-
Align char syntax highlighting to recommended namespace
-
Updated the language server
- Fade unused symbols
- Improved some codeAction texts
- Raised minimal vscode version
- Fix problem with formatting
-
Added support for new language server features
-
Add syntax highlighting for hexadecimal constants
-
Add /= to syntax highlighting
-
Updated the language server
- Add selection range handling
- Add progress indicator for startup
- Improved package ratings
- Remove deleted files from diagnostics
- Fix errors that could happen on startup
- Fix interactions not working after ( or similar characters
-
Syntax highlighting fixes for comments and some other corner cases
-
Add multiline string syntax to auto closing pairs
-
Update the language server
- Add support for multiple elm.json files in a single project directory tree
- Fix possible issue with server not recognising files in non-normalized source-directories (containing "..").
- Completions are now ranked better
- Show code for types in completions/hovers
- Fix elm analyse warnings not getting cleaned up correctly
-
Improve type alias and type highlighting for some cases
-
Update the language server
- Fix type annotations not showing for local parameters
- Fix files without module declaration not getting added to our index
- Fix rename devouring Module prefixes
-
Fix a case of wrong highlighting
-
Update the language server
- Improved completions for type annotations, functions, import and module statements
- Fixed a bug where files without imports would not index the virtual imports
-
Update
elm.json
schema to allow0.19.1
as a version -
Renamed extension from
ElmLS
toElm
-
Updated the language server
- Add more feedback on init for common errors
- Make sure a file without permissions doesn't crash the server
-v
to print version was not working
- Updated the language server
- Remove completions committing when space is pressed
-
Made elm.json schema completions better and more helpful
-
Fixed '"' breaking syntax highlighting
-
Updated the language server
- Completions should be much nicer to use now
- Improved performance for codeLenses
- Do not crash when the elm compiler generates invalid json
- Fix codeLens bug showing wrong count for types
- Print version with
-v
or--version
-
Reference code lenses are now clickable, try it!
-
Updated the language server
-
Add elm make code actions for more compiler errors
-
Various improvements to folding
-
Process files on init in parallel
-
Fixed some problems with references not being correct
-
Fallback to old configuration flow when clients don't support the new one
-
Get rid of crypto deprecation warnings
-
Updated tree-sitter syntax parsing
- Add glsl parsing
- Nest if/then/else expressions
- Let and in now correctly nest
- Change when block_comments are set, should now be better for annotations
- End functions/case as early as possible, so they don't include whitespace
-
- Updated the language server
- Fixed case where elm-format might have stripped the last line from you files
- Fixed missing dependency on startup
- Updated the language server
- Fix problem on init on windows systems
- Added commands for installing and browsing Elm packages
- Change extension icon
- Updated the language server
- Updated and clarified the readme in multiple ways, also added sublime text instructions
- Reworked settings and detection of
elm
,elm-test
andelm-format
- Server figures out the elm version automatically
- Correctly detect cursors on or after the last character of a token
- elm.json detection is now handled by the server, the setting is deprecated
- Handle elm libraries better, we failed to load the correct deps before this
- You can configure when to run elm-analyse via the setting
elmAnalyseTrigger
("change" | "save" | "never") - Some cleanups for cases where the elm compiler does not respond with a json
- Updated the language server
- Fixed document changes causing high cpu load
- Included a fix for a memory out of bounds error that could occur
- Removed
runtime
option, that is now unneeded due to us using wasm - Use normal file path rather than file:// protocol when reading a file
- Revert determination of used elm compiler version, as it was causing file open to go unnoticed
- Updated the language server
- Use WASM version of tree-sitter and updated tree-sitter - This mean multiple parsing improvements
- Added completions for methods defined in a let scope
- Added completions from case branches
- Added code actions for some rename suggestions from elm make
- Removed the ability to run elm-test for now, as it was problematic
- Determine the used elm version, so that we're ready for 0.19.1
- Cleaned up the symbols that we show in the outline or when searching
- Fixed multiple problems with multi workspace useage
- Fixed type references including (..) on search or rename
- Fixed elm make not reporting the correct path in some edgecases
- Don't reveal the output channel on each log
- Better names for output channels in multi workspace projects
- Initial release