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

Discuss removal of some APIs #2466

Open
predragnikolic opened this issue May 3, 2024 · 4 comments
Open

Discuss removal of some APIs #2466

predragnikolic opened this issue May 3, 2024 · 4 comments

Comments

@predragnikolic
Copy link
Member

Some API are not necessary anymore.

While this removal might not happen soon,
I still wanted to give a heads up.

Client configuration

The following api will stay:

  • selector
  • priority_selector

The following will be deprecated and removed:

  • feature_selector
  • document_selector
  • languages
    • scopes
    • languageId
    • syntaxes

Each package that still uses the deprecated api
will get an update to migrate to selector and priority_selector.

  • Remove view2scope - not used
  • Remove syntax2scope - not used
  • Remove default_clients in a non breaking way
@jwortmann
Copy link
Member

There is also uri_to_filename function from the API marked as deprecated for a long time. Maybe it can be removed? (probably better to check LSP-* packages first if it is used somewhere)

  • Remove default_clients in a non breaking way

How is this possible in a "non-breaking way"? I'm all for removing the default_clients (even if it would be breaking), but if someone used those configs, it would stop working for them, no? Or what am I missing?

@predragnikolic
Copy link
Member Author

Remove default_clients in a non breaking way

I can add code to migrate the "default_clients" to users LSP.sublime-settings "clients" section. (in reality, it would require more code, I would need to merge the "clients" configuration to "default_clients" and then move it to "clients", but you get the point)

I would like to avoid people having to deal with breaking changes, unless they really have to... But that is just nice to have :)
If we just delete the "default_clients" I would be fine with that, and people will be notified about that change in the release notes. Which is also OK.

@predragnikolic
Copy link
Member Author

probably better to check LSP-* packages first if it is used somewhere

The easiest way to see if we are breaking a LSP-pacakge is by cloning
https://github.com/sublimelsp/lsp_maintainers

Should help when doing breaking changes to see what plugins are affected.

Commands:

Preferences: LSP Maintainers Settings - configure what LSP-* will be cloned and included in the project.
LSP Maintainers: Clone Projects - will clone the specified LSP-* plugins in the sublime package directory.
LSP Maintainers: Open Projects - will open the those LSP-* plugins in the current window.

@jwortmann
Copy link
Member

Some more which could be considered:

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

2 participants