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

Add support for workspace folders #383

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open

Conversation

natebosch
Copy link
Owner

No description provided.

- Pass the file path of the buffer which triggered the server to start
  to decide the first workspace root. In the case of a server restart,
  remember the file that was open when the restart command was issued.
- Add a `lsc#workspace#findMarker` utility function to search upwards
  from a file to a directory which contains some other file that marks
  the "root" for that project.

TODO:
- Add docs.
- Check capabilities before sending the message.
- Figure out if removing roots is necessary. This would require tracking
  per-server lists of files.
- Allow giving a name to the roots.
- Implement the `workspace/workspaceFolders` request.

Potential future support
- A known file like `.lsc_root` to reliably locally mark the root for
  any given workspace.
- Support for user specific project roots, or perhaps just support the
  common ones from the start, like `.git/`
- Add a stub for `lsc#workspace#byMarker()` to make it easier to write
  the tests.
- Read client capabilities in `StubServer`.
- Outline some tests. Add a test reading client capabilities.
Report stderr for vim.expr (might be helpful in other places too). Fix
the bug surfaced by this output with an extra closing paren.

Send an extra "<cr>" since the multiple sendKeys seem to leave vim in a
state with a "Press Enter to continue", maybe where it prints the
function that was just created?
@prabirshrestha
Copy link

@natebosch I would be curious to hear your thoughts on this vim/vim#7748. Feel free to directly comment on the vim github issue.

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

2 participants