• v0.6.0 98855a73e4

    Release 0.6.0 Stable

    neurocyte released this 2025-11-05 22:00:11 +00:00 | 0 commits to master since this release

    Signed by neurocyte
    GPG key ID: 8EB1E1BB660E3FB9

    New Features

    Many features with new default keybindings have been added. Keybinding mentioned
    in these release notes are for Flow mode unless otherwise mentioned. Please
    check the command palette or the online command & keybinding reference
    (ctrl+f2 or ctrl+k ctrl+s) for the active keybindings in other modes.

    LSP Completion

    LSP completion suggestions support has been added. Completion requests are
    triggered with ctrl+space and supports fuzzy search of completion suggestions.
    Accept a suggestiong with Return or Tab.

    Clipboard history

    A history of cut & copy operations can be opened with shift+alt+v. The history
    is grouped by multi-cursor operations, so you can copy with multiple cursors and
    then paste with a single cursor or multiple cursors. Paste operations now accept
    an integer argument (alt+1, alt+2, etc.) to select a group from the history
    to paste without first opening the clipboard history.

    Tabbar Tab Improvements

    Tabs in the tabbar have received many quality of life improvements. There is now
    a file type icon, and on hover, a close icon. Tabs can be dragged to a new
    position with the mouse, or re-ordered with the keyboard with the new keybindings
    ctrl+shift+page_up and ctrl+shift+page_down. Recently closed tabs can be
    re-opened with ctrl+shift+t.

    AST selection & navigation improvements

    The expand_selection command to expand the selection to the parent AST node
    has been improved and now should work in any sitution. shrink_selection and
    the various sibling node selection commands will now select the node at the
    cursor if there is no selection.

    Tasks

    Tasks can now be added and deleted directly from the run task menu. Also the
    run_task command now accepts a string and with add and run a task in one step,
    which is useful for running tasks directly from the command line. For example:

    flow --exec 'run_task:git grep -n TODO'
    

    Automatic Light & Dark mode selection

    If your terminal supports it, flow will now select a theme to use based on the
    system color scheme. The light mode and dark mode themes are independently
    configurable. There is also a toggle command in flow to manually switch modes
    bound to alt+f11, and a command line argument.

    Widget styles

    Palettes and menus can now be display in a range of different styles. You can
    switch through the available styles while a widget has focus with the alt+f9
    keybinding. The selected widget style is persisted on a per widget type basis.

    Goto & Byte Offsets

    The goto mini mode now supports {row}:{column} syntax. Also, pressing b in
    goto mini mode will toggle goto byte offset mode. Byte offsets are also
    supported on the command line by prefixing the offset with the letter 'b'. For
    example:

    flow src/main.zig:b123
    

    Also, goto and goto_offset commands now accept integer parameters to directly
    jump.

    Underline mode

    Underline mode, triggered with ctrl+_, ctrl+= or ctrl+plus, will underline
    the current line with various characters.

    Git status

    A new git status palette lists changed and untracked files and lets you open
    them. It may be opened with the ctrl+shift+g keybind or by clicking on the
    git branch widget in the status bar.

    Kitty extensions for unicode widths & multi cursors

    We now support kitty char width protocol extension for much better unicode
    support in kitty. We also support kitty's multi-cursor protocol extensions to
    show proper terminal cursors when editing with multiple cursors.

    Tab width settings

    The tab width may now be interactively changed on a per buffer basis and there
    are new commands to set the tab width for the current buffer, session and
    globally.

    FreeBSD

    We now produce binary release for FreeBSD, thanks to Zig 0.15 support for
    FreeBSD cross-compilation.

    Win32 improvements

    The win32 GUI renderer now supports wide characters. Also, filesystems without
    proper support for fstat will work. This means flow now works correctly under
    WSL1 and WSL2 on windows filesystems.

    Helix mode improvements

    Helix mode has seen major improvments, mostly thanks to Igor Támara.

    • :x alias for :wq
    • % select_all
    • zz scroll_view_center
    • shorcuts for buffers
    • closing and saving including close all and save all
    • close other buffers and reload all
    • feature parity with helix copy paste (P before, R replace, r after)
    • zt zc zb scroll keybinds and G support
    • space g bound to open changed and new files reported by git
    • F, T, t, f select and extension movements
    • match helix clipboard behaviour on delete
    • r to replace with a character
    • extend word to right

    Vim mode improvements

    Vim mode now has vim style aliases for buffer commands and a :qa! aliase for
    quit_without_saving.

    New file types

    • fsharp
    • commonlisp
    • csproj
    • msbuild props
    • gettext-po
    • awk
    • latex
    • nickel
    • elm
    • hcl
    • perl
    • verilog
    • reStructuredText

    New themes

    • kanagawa
    • alabaster

    Zig 0.15.2

    Flow now builds with Zig 0.15 and has been fully ported to the new std.Io.Writer
    interfaces.

    Misc Minor Changes

    • delete_line & select_line: bound to ctrl+shift+k and shift+alt+e
      respectively, with full multi-cursor and integer argument (repeat) support

    • insert_command_name (command & keybind reference) is now additionally bound to
      ctrl+k ctrl+s

    • plain move_begin is now bound to ctrl+k home

    • selections are sensibly merged if they overlap

    • files & projects

      • add open_most_recent_file command
      • allow open_file to open projects (directories)
      • make change_project call open_recent instead of jumping to last file
      • refresh open_recent palette when the project is done loading the file list
      • add flow mode keybind for find_in_files to overlay/palette mode
      • always list the active project first in the recent projects list
      • use case insenstive matching for file_browser completion
      • file_browser now completes into subdirs when there is only one match
    • display indent mode in status bar

    • improve markdown highlighting

    • configuration

      • make hover_time configurable
      • add option lsp_output "quiet" to reduce LSP log verbosity
    • add keybinds for keypad keys

    Fixes

    Many, many fixes. Too many to really list here. See commits marked fix: in the
    full git changelog for the full list of fixes.

    Contributors

    CJ van den Berg
    Igor Támara
    Jonathan Marler
    Loris Cro
    geemili
    Alex Rønne Petersen
    Daggerfall-is-the-best-TES-game
    jmcaine
    n0n
    zai1208

    Downloads

    flow-control.dev (source only)
    github.com (binaries & source)
    codeberg.org (binaries & source)

    Downloads