Skip to content

lsp-language-id-not-lowercase ​

LSP language IDs should be lowercase

Warning

Rule Details ​

This rule checks the values in the extensionToLanguage mapping of each LSP server entry in lsp.json and warns when a language ID contains uppercase characters. The LSP specification convention is to use lowercase language IDs (e.g., typescript not TypeScript). Using inconsistent casing can cause mismatches between editor expectations and server behavior.

Incorrect ​

Language IDs with uppercase characters

json
{
  "my-server": {
    "command": "/usr/bin/my-server",
    "extensionToLanguage": {
      ".ts": "TypeScript",
      ".py": "Python"
    }
  }
}

Correct ​

Lowercase language IDs

json
{
  "my-server": {
    "command": "/usr/bin/my-server",
    "extensionToLanguage": {
      ".ts": "typescript",
      ".py": "python"
    }
  }
}

How To Fix ​

Convert all language ID values to lowercase. For example, change "TypeScript" to "typescript" and "Python" to "python".

Options ​

This rule does not have any configuration options.

Resources ​

Version ​

Available since: v0.2.0