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

Improve feature provider option descriptions #98

Open
lgeiger opened this issue Mar 27, 2018 · 4 comments
Open

Improve feature provider option descriptions #98

lgeiger opened this issue Mar 27, 2018 · 4 comments

Comments

@lgeiger
Copy link
Owner

@lgeiger lgeiger commented Mar 27, 2018

At this point the descriptions of the plugin options visible in the Atom settings are rather basic and often less accurate than what can be found in the documentation of the specific feature provider.

We should improve those descriptions and/or link to the relevant docs if applicable.

Any help on this is highly appreciated. This issue doesn't need to be fixed in one go, we can iteratively improve the plugin documentation.

@exploide
Copy link

@exploide exploide commented Mar 27, 2018

I spotted the following things:

  • Rope folder: If empty, no such a folder is used at all. This is a bit odd because if you leave it empty, the default (.ropeconfig) is used. So it may need to contain whitespace?!
  • Pydocstyle convention. This can be left blank? What does happen in the case that neither pep257 nor numpy is chosen?
  • Yapf: If both Yapf and autopep8 are enabled the latter is preferred. Does this mean that if both are enabled, there is no way to invoke Yapf despite it is enabled? In this case it would be more intuitive to have a select field that either enables Yapf or autopep8. But this list needs to be populated dynamically because installation of these plugins got optional and not all may be available.
@lgeiger
Copy link
Owner Author

@lgeiger lgeiger commented Mar 27, 2018

@exploide Thanks for the review 👍

Rope folder: If empty, no such a folder is used at all. This is a bit odd because if you leave it empty, the default (.ropeconfig) is used. So it may need to contain whitespace?!

Good point fixed in #99

Pydocstyle convention. This can be left blank? What does happen in the case that neither pep257 nor numpy is chosen?

I personally don't use pydocstyle. The options mirror the CLI of pydocstyle. Unfortunately I haven't found a good way of handling null values in Atom config schema.

Yapf:
Does this mean that if both are enabled, there is no way to invoke Yapf despite it is enabled?

I haven't tried it myself but that's how I interpret the language server docs. We should test it and clear up the docs.

In this case it would be more intuitive to have a select field that either enables Yapf or autopep8.

Apart from the the downside you mentioned we had a similar discussion for completions on the pyls repo some time ago: palantir/python-language-server#222 (comment)

It would become impossible for a plugin to add extra formatters. Which was the point of plugins in the first place.
This is certainly a good argument for the language server itself. Though I'm unsure if this is a thing we want or should support in ide-python.

For now I tried to keep the config options as close to the language server as possible to avoid additional conversions. But I'm very open to ideas for restructuring our settings.

@exploide
Copy link

@exploide exploide commented Mar 27, 2018

Good, thanks. Seems like a few points need further investigation.

I don't fully understand the thing with the formatters. If there were another plugin that eventually decides to offer formatting functionality (let's say pydocstyle supports formatting in the future), then the language server would need additional code to expose this functionality via the interface implemented by languageclient / ide-ui anyway. Or am I wrong? So changes to the language server (and then in this package) become necessary in every case?!

@lgeiger
Copy link
Owner Author

@lgeiger lgeiger commented Mar 27, 2018

Seems like a few points need further investigation.

👍

So changes to the language server (and then in this package) become necessary in every case?!

People can also install 3rd-party-plugins like the isort-formatter to extend the functionality of the language server. I don't know if we'd be able to support this use case if we implement a custom config.

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

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.