objectionary/eo-lsp-server

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

Open

#338 opened on Jun 3, 2026

View on GitHub
 (5 comments) (0 reactions) (0 assignees)TypeScript (9 forks)github user discovery
bughelp wanted

Repository metrics

Stars
 (6 stars)
PR merge metrics
 (PR metrics pending)

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.

Contributor guide