Open files and pipe command output from terminals into your current Neovim instance, avoiding nested sessions.
flatten.nvim is a Neovim plugin that prevents nested Neovim sessions when opening files or piping command output from terminal emulators like Wezterm and Kitty, or from Neovim's own `:term`. It streamlines workflows by routing these operations into the current Neovim instance, keeping everything in one place.
Neovim users who frequently open files from terminal buffers or pipe command output, especially those using terminal emulators like Wezterm or Kitty and wanting to avoid nested editor sessions.
Developers choose flatten.nvim for its high configurability and seamless terminal integration, offering features like blocking support for specific filetypes, command passthrough, and flexible window management that alternatives like nvim-unception may not provide.
Pipe from wezterm, kitty, and neovim terminals into your current neovim instance. Like code -r on steroids.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows blocking for git commits and rebases, keeping the terminal paused until editing is complete, as shown in the default config with the `block_for` table including these filetypes.
Offers extensive hooks like `should_block` and `post_open` for custom workflows, enabling deep integration with tools like toggleterm, as demonstrated in the advanced configuration examples.
Seamlessly flattens instances from Wezterm and Kitty terminals based on working directory, enhancing workflow continuity without nested sessions.
Enables passing commands from guest to host instances, allowing execution before or after file opening, as per usage examples with `--cmd` and `+` flags.
Undergoing breaking changes on the road to 1.0.0, as noted in the README warning, which can disrupt existing configurations and require frequent updates.
Only supports Wezterm and Kitty out of the box; other terminals require custom `pipe_path` implementation, and Kitty lacks flatten-by-cwd support, limiting broader adoption.
Cannot be lazy-loaded, as the README explicitly recommends early loading to minimize delay, conflicting with performance-optimized setups that rely on lazy loading.