Skip to content

Persistent and comprehensive server configuraiton #78

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
michaelpj opened this issue Sep 18, 2020 · 1 comment
Closed

Persistent and comprehensive server configuraiton #78

michaelpj opened this issue Sep 18, 2020 · 1 comment

Comments

@michaelpj
Copy link
Collaborator

We have formatter configuration now, which is nice, but it's a little bit clunky:

  • It only covers formatters, and not all of them (missing "stylish-haskell").
  • It's not persistent: you have to redo it every time your server starts. I haven't figured out a way to set it persistently (but I'm an emacs noob).

I would guess we want a bunch of defcustom variables for all the relevant configuration. Maybe we should go through the list of options the vscode extension provides and copy them over?

michaelpj added a commit to michaelpj/lsp-haskell that referenced this issue Sep 18, 2020
This does two things:
- Create `defcustom` variables for settings, matching the vscode
extension for all the language server settings.
- Use `lsp-mode`'s support for custom settings to handle sending them to
the server.

This lets users persistently configure their server settings using
normal Emacs setting customization.

This will probably break people, so should maybe be a major version
bump.

Fixes emacs-lsp#69, emacs-lsp#75, emacs-lsp#78; supersedes the (excellent) emacs-lsp#74 and emacs-lsp#76.

Notes:
- I have not copied the settings from the vscode extension regarding
starting the server. We don't try and get prebuilt binaries, so I
thought it was simplest to stick to command-and-arguments.
- I renamed the process option for consistency with other servers and to
avoid references to `hie`. This PR will already break basically everyone, so
I thought I might as well do that too.
- The current customization functions re-send a `didChangeConfiguration`
notification when called. `lsp-mode` does *not* currently do this when
you change variables, which is annoying. My inclination is to let them
fix it in the name of simplicity, but if anyone really hates not being
able to change the formatter without restarting the server I can try and
hack something together.
@michaelpj
Copy link
Collaborator Author

Fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant