Configuring lint rules

I’m working on my first plugin but am having trouble with the linter. I think I’ve configured some acronyms for the obsidianmd/ui/sentence-case rule to ignore correctly, as VS Code recognises the changed settings. However if I run npm run lint then I see errors. Does anyone have any experience/advice?

```ts
export default tseslint.config(
…obsidianmd.configs.recommended,
{
languageOptions: {
globals: {
…globals.browser,
},
parserOptions: {
projectService: {
allowDefaultProject: [
‘eslint.config.js’,
‘manifest.json’
]
},
tsconfigRootDir: import.meta.dirname,
extraFileExtensions: [‘.json’]
},
},
plugins: {
obsidianmd
},
rules: {
“obsidianmd/ui/sentence-case”: [“error”, {
“acronyms”: [“IMDb”, “OMDb”, “API”],
“allowAutoFix”: true
}]
}
},
globalIgnores([
“node_modules”,
“dist”,
“esbuild.config.mjs”,
“eslint.config.js”,
“version-bump.mjs”,
“versions.json”,
“main.js”,
]),
);
```

The rule uppercases every entry in acronyms, so your IMDb turns into IMDB inside the rule. “Search IMDb” then fails with the suggestion “Search IMDB”, and the same happens to OMDb. With allowAutoFix: true, lint --fix will rewrite your UI text to that casing.

Mixed-case names belong in brands:

"obsidianmd/ui/sentence-case": ["error", {
  brands: ["IMDb", "OMDb"],
  acronyms: ["API", "URL", "HTTP"],
}]

One more catch: each list replaces the built-in defaults. Pass acronyms: ["API"] and “Sync over HTTP” starts failing, since HTTP lived only in the default list. List every acronym and brand your UI uses.

I tested this against eslint-plugin-obsidianmd 0.4.1 (dist/lib/rules/ui/sentenceCaseUtil.js builds the acronym set with toUpperCase()). If VS Code showed no errors with your old config, restart the ESLint server there. The rule flags those strings in both places.