Helix Mode

Flow

This document describes Helix Mode implementation.

What and what not

The first and biggest difference is that Flow has a mode that emulates Helix, or at least has equivalent of the worthiest actions that can be done with Helix. The conversely is not true.

When entering to Helix Mode through F4, you land on NOR imode, there are SEL and INS imodes implemented.

: opens up Flow’s rich command palette that might have functionalities Helix users are used to have, if you find something missing, it’s possible to open a feature request, make sure to review other issues to avoid repeating or see in Discord to ask if there is a workaround, or anyone else is interested in porting your requirement; adding a reaction to an issue offers awareness on what to implement or to get higher priority, remember that it is possible to bounce back to Flow(f4) mode if needed.

Enhancing hx mode

This is a programmer’s editor, you are more than welcome to enhance to suit your needs that maybe coincide with others.

Take a look at architecture and contributing for an overview and the mechanics of getting your changes into flow.

hx mode is modal kind, the same as vim mode, and the file that has the particular work to make it real is src/tui/mode/helix.zig, adding a command and the corresponding meta is what is required. More on commands.

Pickers

Flow hx mode offers most of the Helix pickers functionalities with panels and palettes. Example of panels are the g r (go to reference from lsp) and space / (a.k.a find in files). Examples of palettes are space b to pick a buffer or space f to open a file in your project. Panels open below the editor while palettes open overlapping the working area.