objectionary/eo-lsp-server

Redundant `config || defaultSettings` fallback in `validateTextDocument` at `server.ts`

Aberta

#338 aberto em 3 de jun. de 2026

 (5 comentários) (0 reação) (0 responsável)TypeScript (9 forks)github user discovery
bughelp wanted

Métricas do repositório

Stars
 (6 estrelas)
Métricas de merge de PR
 (Mesclagem média 4d 17h) (5 fundiu PRs em 30d)

Description

In validateTextDocument, the settings are read with const effective = config || defaultSettings; followed by const limit = effective.limit; at src/server.ts:168. The config value is the resolved result of getDocumentSettings, which already guarantees a real settings object on every path: the no-configuration branch returns settings at src/server.ts:143, and the configuration branch falls back to defaultSettings inside its own .then at src/server.ts:150. By the time line 168 runs, config can never be null or undefined.

That makes the outer || defaultSettings a fallback that can never fire, and the effective variable just an alias for config. The two lines are equivalent to const limit = config.limit;.

The fix is to drop effective and read config.limit directly. The genuine default handling already lives inside getDocumentSettings, so it should stay there and not be removed.

Guia do colaborador