Skip to content
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

Merge workspace and client structures. #289

Closed
wants to merge 1 commit into from

Conversation

phst
Copy link
Contributor

@phst phst commented Feb 15, 2018

There doesn’t seem to be any conceptual difference between workspaces and
clients, so let’s get rid of one of the concepts.

There doesn’t seem to be any conceptual difference between workspaces and
clients, so let’s get rid of one of the concepts.
@tigersoldier
Copy link
Contributor

This is a backwards incompatible change and is likely breaking company-lsp. Please consider providing alias functions and bump the version.

@phst
Copy link
Contributor Author

phst commented Feb 18, 2018

This is a backwards incompatible change and is likely breaking company-lsp.

This refactoring only affects internal data structures, which other packages shouldn't rely on. If company-lsp is broken by this, it should be changed to only rely on the public API (extending the public API if necessary).

@phst phst mentioned this pull request Feb 18, 2018
@tigersoldier
Copy link
Contributor

There is no proper public APIs for tools like company-lsp to work with lsp-mode. This change not only breaks company-lsp, but also lsp-ui hosted in this very same organization. These two packages are well-received by the lsp-mode users. Breaking them causes undesirable pains to the users.

Refactoring is good and I don't want to block it. But please consider doing it in a less harmful way. Either a) define true public APIs that company-lsp and lsp-ui can rely, wait until packages migrate to using them, or b) provide backward-compatible function aliases so that they are not broken.

If you are taking option a), I'm happy to list all private APIs company-lsp is using.

cc @sebastiencs

@phst
Copy link
Contributor Author

phst commented Feb 18, 2018

I think we should definitely move toward option (a). Not distinguishing between public APIs and private implementation details makes refactorings too onerous.

@MaskRay
Copy link
Member

MaskRay commented Feb 22, 2018

I agree that with this PR, the name "client" captures more of the intuitive meaning. The specification does use both "workspace" and "client", but in a different way.

lsp--cur-workspace lsp--workspace-root lsp--workspace-client have been used many places in lsp-ui

@yyoncho
Copy link
Member

yyoncho commented Nov 21, 2018

Closing in favour of #469 . lsp--client will be used as a registration spec.

@yyoncho yyoncho closed this Nov 21, 2018
renatofdds pushed a commit to renatofdds/lsp-mode that referenced this pull request May 13, 2023
* Don't use `lsp-execute-command'

`lsp-execute-command' is a liability that needs to be removed; use lsp's
:action-handlers for the reference and implementation lenses instead.

Also remove the duplicate definition of the reference and implementation lens
action functions.

* `lsp-show-xrefs': supply DISPLAY argument

* Fix CI byte-compile

Declare `lsp-lens-backend' where necessary.
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

Successfully merging this pull request may close these issues.

None yet

4 participants