feat: add open_split/toggle_split API and upstream triage batch#83
Merged
Conversation
Problem: canola had no way to open a browser in a normal split window; only floating windows were supported via `open_float`/`toggle_float`. `M.close` also crashed with E444 when called from the last window. Solution: port stevearc#728 — add `open_split(dir, opts, cb)` and `toggle_split(dir, opts, cb)` mirroring the float API. Use `is_canola_win`/`canola_original_win` window vars (not the upstream `is_oil_win` names). Wrap `nvim_win_close` in `pcall` with `enew()` fallback to handle the last-window E444 case. Based on: stevearc#728
Cherry-picked from: stevearc#739
This was referenced Mar 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
canola had no way to open a file browser in a normal split window — only
floating windows via
open_float/toggle_float.M.closealso crashedwith E444 when called from the last window. The upstream tracker also had
stale/missing entries for 10 issues and PRs.
Solution
Port stevearc#728: add
open_split(dir, opts, cb)andtoggle_split(dir, opts, cb)with vimdoc. FixM.closeto wrapnvim_win_closeinpcallwithenew()fallback. Cherry-pick themacOS FreeDesktop trash recipe from stevearc#739. Triage #288, #330, stevearc#362, stevearc#380,
stevearc#393, stevearc#507, stevearc#736 and add stevearc#738 to the tracker.