Skip to content

Conversation

@doorgan
Copy link
Collaborator

@doorgan doorgan commented Jan 9, 2026

Closes #140
Closes #155

There's a rather big change to the way we do configuration, not only to support this new option, but also becase there was a race condition that prevented config changes from being applied reliably, as requests other than didChangeConfiguration could be handled at the same time as eg textDocument/didOpen, which would return a state with the old config, overwriting the new one.

The new approach is to use :persistent_term instead. I opted for this rather than a genserver or an agent because configuration changes are infrequent, and removing the config from the server state is enough to eliminate that race condition

@doorgan doorgan force-pushed the doorgan/configuration branch 3 times, most recently from 982fef7 to 34c17d9 Compare January 10, 2026 12:21
@doorgan doorgan force-pushed the doorgan/configuration branch from 34c17d9 to 9a679fc Compare January 14, 2026 10:51
|> maybe_add_watched_extensions(settings)
new_config =
old_config
|> set_dialyzer_enabled(settings)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused, do we support dialzyer?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The option was already there and I didn't remove it. Looking into the codebase we're not doing anything with it so I'll remove it altogether.
Looking at discussions from when this was still Lexical, there were some attempts to add dialyzer and there was a TODO for it: lexical-lsp/lexical#95
But it never got implemented, and this config option seems to be a leftover from that time

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Roger

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Configuration Workspace Symbols

3 participants