Add it in Tori
- Open Settings with the gear in the title bar.
- Go to Linters.
- ESLint is already there: it ships inside Tori. When the catalog has a newer version, Add a linter lists it with Update.
Adding writes one file and runs nothing. The server itself already ships inside Tori.
Use it without the catalog
Download the file and drop it in the folder below. Tori loads it the next time it starts.
Download file eslint.toml
~/.config/tori/packs/lsp/
The file
eslint.tomlRead only
1# Bundled ESLint server, `vscode-eslint-language-server` from the2# `vscode-langservers-extracted` package. Installed by `pnpm lsp:install`. See3# LSP-SERVERS.md.45schema_version = 16id = "eslint"7label = "ESLint"8description = "ESLint diagnostics and fixes beside the TypeScript server"9license = "Apache-2.0"10contributor = { name = "Tori", github = "gettori" }11role = "secondary"1213# One session per repo: the server finds each file's own config.14root_markers = [".git"]1516activation_markers = [17 "eslint.config.js",18 "eslint.config.mjs",19 "eslint.config.cjs",20 "eslint.config.ts",21 "eslint.config.mts",22 "eslint.config.cts",23 ".eslintrc",24 ".eslintrc.js",25 ".eslintrc.cjs",26 ".eslintrc.json",27 ".eslintrc.yaml",28 ".eslintrc.yml",29]3031verified_against = "vscode-langservers-extracted 4.10.0"32verified_on = "2026-09-21"3334# Loads the project's own `eslint`, its config and its plugins.35runs_project_code = true3637[languages]38ts = "typescript"39mts = "typescript"40cts = "typescript"41tsx = "typescriptreact"42js = "javascript"43mjs = "javascript"44cjs = "javascript"45jsx = "javascriptreact"4647[launch]48kind = "bundled_node"49entry = "resources/lsp/node_modules/vscode-langservers-extracted/bin/vscode-eslint-language-server"50args = ["--stdio"]5152# The server applies no defaults to these and throws on several when absent:53# `nodePath` has to be set (TOML has no null, so the empty string), and54# `rulesCustomizations`, `experimental`, `problems` and `codeAction` are read unguarded.55[settings]56validate = "on"57run = "onType"58nodePath = ""59format = false60quiet = false61onIgnoredFiles = "off"62useESLintClass = false63rulesCustomizations = []6465[settings.experimental]66useFlatConfig = false6768[settings.problems]69shortenToSingleLine = false7071[settings.codeAction.disableRuleComment]72enable = true73location = "separateLine"7475[settings.codeAction.showDocumentation]76enable = true7778[settings.codeActionOnSave]79mode = "all"