-
Notifications
You must be signed in to change notification settings - Fork 283
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
RFC - Project Selector #2823
Comments
Thanks for this proposal @benwainwright - I really appreciate the thought you put into it, and the way you broke down the steps. Overall, I like the idea a lot. I'm jumping between different projects in different domains so I think I would use it too. One feature that is in the back of my mind is multi-root workspaces - (#729 and described here: https://code.visualstudio.com/docs/editor/multi-root-workspaces). This is still a ways out; but I'm just considering how this proposal could integrate or if there would be a conflict. I actually think it could map well - each of those workspace roots described in The plan for implementation sounds good to me as well. Some thoughts on each bullet point:
The design we're moving towards is that the editor is subdivided into A good example of a feature-contributing-configuration is the auto-update feature:
We could add similar configuration settings to a feature - probably a good feature for this to live in would be the Once we have that configuration-contribution, we just need to wire it up here: Line 515 in ff003ff
Similar to the above - we have the concept of a 'command' contribution:
When the command is defined, it has a bindable action (in the one I linked - The feature already has plumbing for commands, so it's really a matter of just adding it here and to the
The menu architecture needs to work (they currently aren't a feature - I'd like to have a This PR adds a few other things - but it adds a new menu for 'Open Buffers' picker (basically, the
We do have a Ripgrep API, and we have a way to directly ask about the folders/files in a path - this oni2/src/Service/OS/Service_OS.rei Line 47 in ff003ff
The subscriptions are one concept that isn't really part of React/Redux - they're inspired by Elm: https://guide.elm-lang.org/effects/ And the Ripgrep API lives here: https://github.com/onivim/oni2/blob/master/src/Core/Ripgrep.rei
Cool, we have this wired up in the
Got pretty long, but let me know if you have any further questions. Thanks for the help! |
Not a problem. As I'm just starting out in this domain, as I've already mentioned on other issues, I don't expect to be even close to finishing this for a long while. But I'll give it a shot! |
@bryphe Okkkkk...., so I've forked the repo, and done what I think is the initial configuration wiring (master...benwainwright:master). Now it gets a little less obvious to a newbie. Here is what I think need to do, tell me if I'm going along the right lines:
That should get me as far as showing the menu... I think? But now my back hurts, I've got stuff on tomorrow so I think its time to get an early night. If you could give me an indication of whether this looks like the right approach that would be fab. |
Hello, Looks great. I have similar needs that I described in #2961. My workflow is to use :NERDTreeFromBookmark command in (neo)vim. With this command I can choose a directory in a list of directories that I bookmarked (contains project root directories, as well as project sub directories that I frequently use). (I a perfect world, it would do a CTRL-P fuzzy-finding on this list of bookmarks) When I select a directory, the file explorer opens and focus in this directory, and I can navigate to the files, or subdirectory/file that I want. I create/delete the bookmarks directly from the file explorer with the :Bookmark command. |
The functionality with the
The thing it's missing is the bookmark functionality mentioned above |
Oh wow, thanks @bryphe I'll have a look at that... |
Hi there!
So I've recently checked out the application and as I mentioned to @bryphe on another issue, I'd like to start contributing. The thing that I'd really like to see in Oni2, which would probably tip me into using it as my main workhorse is the project selection feature suggestion I describe in #1914 (comment). If its ok, I'd like to have a go at implementing this.
I'm obviously completely new to this codebase, so I'm gonna need a little guidance on
a. How the maintainers feel about the feature suggestion itself and the intended behaviour and
b. Roughly where I need to start to make these changes
Desired Behaviour
This is the behaviour of the new feature that I have in my head. It's basically a rip off of my very simple vim plugin https://github.com/benwainwright/fzf-project, which is fundamental to my workflow and I think everyone would benefit from. It would work like this:
projects.workspaceRoots
, which can take an array of strings representing a number of directories available on diskcmd-p
["bish", "bash", "bosh", "bush"]
Next Steps
In order to implement this, I would need to (I'm guessing) know how to
Now this is probably going to take me some time, and I'm happy to do my own research. But if people have some time to give me some signposts to let me know what general areas of code I'm looking at to implement each of these bullet points, that would obviously speed me up.
The text was updated successfully, but these errors were encountered: