elm-language-server
elm-language-server copied to clipboard
Tracking where diagnostics differ from the compiler
Ongoing tracking issue for known areas where the diagnostics differ from the compiler.
Places we don't show an error when there should be:
- [x] Missing case branches
- [x] Unknown/missing exposed value in module exposing list
- [x] Same value name imported from multiple modules. Ambiguous name
- [ ] Multiple packages in dependencies expose a module with the same name
- [ ] Unused type variable
- [x] Mutual let recursion
- [ ] Type mismatch for recursive functions
- [ ] Infinite types
- [ ] Duplicates types, declarations, fields, etc
- [ ] No ports
- [x] Unknown value in import exposing list
- [ ] Unbound type variable
- [ ] Mismatched function and annotation names
- [ ] Redundant exports
- [ ] Shadowing
Not sure if I should raise a separate issue for this, but using reserved words as field-/argument-names also isn't detected by the language server. E.g. elm compiler gives:
I am partway through parsing a record type, but I got stuck on this field name:
80| { name : Maybe String
81| , type : LocationType
^^^^
It looks like you are trying to use `type` as a field name, but that is a
reserved word. Try using a different name!
but elm-language-server doesn't show any errors.