Elm Assist LSPA fast Elm development extension for VS Code, powered by a native Rust language server. Real-time diagnostics, auto-fix code actions, and hover documentation for 54 built-in lint rules — no Node.js runtime, no Elm compiler dependency, no plugin system to configure. FeaturesReal-time diagnosticsLint errors appear as you type with 150ms debouncing. Parse errors are shown inline when syntax is invalid, while lint rules continue to run on the valid portions of your file. Quick-fix code actions25 rules offer auto-fixes via the lightbulb menu or Hover documentationHover over any diagnostic to see the rule name, description, and whether an auto-fix is available. File watchingExternal changes (git checkout, build tools) are detected automatically. Config changes to Project-aware analysisThe server scans your entire project at startup, enabling cross-file rules like unused exports, unused modules, and unused custom type constructors. Rules54 rules covering simplification, unused code, code style, debugging, complexity, and port safety. 25 of these offer auto-fixes.
Full rule listSimplification NoIfTrueFalse (fix), NoBooleanCase (fix), NoAlwaysIdentity (fix), NoRedundantCons (fix), NoUnnecessaryParens (fix), NoNegationOfBooleanOperator (fix), NoFullyAppliedPrefixOperator (fix), NoIdentityFunction (fix), NoListLiteralConcat (fix), NoEmptyListConcat (fix), NoStringConcat (fix), NoBoolOperatorSimplify (fix), NoMaybeMapWithNothing (fix), NoResultMapWithErr (fix), NoPipelineSimplify (fix), NoNestedNegation (fix) Unused code NoUnusedImports (fix), NoUnusedVariables (fix), NoUnusedExports, NoUnusedCustomTypeConstructors, NoUnusedCustomTypeConstructorArgs, NoUnusedModules, NoUnusedParameters (fix), NoUnusedLetBinding (fix), NoUnusedPatterns Code style NoMissingTypeAnnotation, NoSinglePatternCase (fix), NoExposingAll (fix), NoImportExposingAll (fix), NoDeprecated, NoMissingDocumentation, NoUnnecessaryTrailingUnderscore, NoPrematureLetComputation, NoSimpleLetBody (fix), NoUnnecessaryPortModule (fix), NoMissingTypeAnnotationInLetIn, NoMissingTypeExpose, NoRedundantlyQualifiedType (fix), NoRecordPatternInFunctionArgs Debugging NoDebug (fix) Complexity CognitiveComplexity, NoUnoptimizedRecursion, NoRecursiveUpdate, NoConfusingPrefixOperator, NoShadowing Port safety NoDuplicatePorts, NoUnsafePorts, NoInconsistentAliases, NoUnusedDependencies Other NoEmptyLet (fix), NoEmptyRecordUpdate (fix), NoWildcardPatternLast, NoMaxLineLength, NoTodoComment RequirementsThe
Or download a pre-built binary from GitHub Releases. The extension searches for the binary in this order:
ConfigurationExtension settings
Project configurationCreate an
Changes to CLI toolsThe
See the elm-assist repository for full documentation. LicenseMIT |