mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-07-07 21:25:37 +00:00
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import eslintConfigPrettier from "eslint-config-prettier";
|
|
import stylistic from "@stylistic/eslint-plugin";
|
|
import eslint from "@eslint/js";
|
|
import tseslint from "typescript-eslint";
|
|
import stylisticJs from "@stylistic/eslint-plugin-js";
|
|
import { type FlatESLintConfig } from "eslint-define-config";
|
|
|
|
const config: FlatESLintConfig[] = [
|
|
eslintConfigPrettier,
|
|
eslint.configs.recommended,
|
|
stylisticJs.configs["disable-legacy"],
|
|
...tseslint.configs.recommended,
|
|
stylistic.configs.customize({
|
|
indent: 4,
|
|
quotes: "double",
|
|
semi: true,
|
|
braceStyle: "1tbs",
|
|
arrowParens: true,
|
|
}),
|
|
{
|
|
rules: {
|
|
"no-console": "warn",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{
|
|
args: "all",
|
|
argsIgnorePattern: "^_",
|
|
caughtErrors: "all",
|
|
caughtErrorsIgnorePattern: "^_",
|
|
destructuredArrayIgnorePattern: "^_",
|
|
varsIgnorePattern: "^_",
|
|
ignoreRestSiblings: true,
|
|
},
|
|
],
|
|
// the following stylistic lints conflict with prettier
|
|
"@stylistic/operator-linebreak": "off",
|
|
"@stylistic/indent-binary-ops": "off",
|
|
"@stylistic/indent": "off",
|
|
"@stylistic/brace-style": "off",
|
|
"@stylistic/quotes": "off",
|
|
},
|
|
},
|
|
{
|
|
ignores: ["out/", ".vscode-test/", "node_modules/"],
|
|
},
|
|
];
|
|
|
|
export default config;
|