CARVIEW |
Select Language
HTTP/2 200
date: Thu, 24 Jul 2025 17:15:40 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"968163afcaaa9b87a8474923111f6b44"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=AngVg%2B4FsPPEv%2B%2FoNYHKjZStdJhMZOs8zbwGJkR1zFyl8AkTHax4ZvIQJdOqaITBZy6TlWSgeCijqbGPnnQyhY7lmv%2Fzo1F7Z2nLiac61qOTwOWKNJYuLcugHl7hWct9l9Mk7jFU1SWsw%2FuB%2FIwJNTTvnYQjgPMhOm0Yq8eQ%2B4gsBYANiCrpgSDtkoWffrXu3GV1DhzpZlfAIBhaUJ22Cgfllq8UlJcOspIQY0ITxc7CBTcMpGZ0MUvpvGUrpqLW%2BimZWEqLgAhXOEOMz%2F%2Fosw%3D%3D--aVziuXZaGGGIlVcl--xNGcCjFLzlXvCRGNZULNBQ%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.46742413.1753377340; Path=/; Domain=github.com; Expires=Fri, 24 Jul 2026 17:15:40 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Fri, 24 Jul 2026 17:15:40 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 8AA0:54F0F:68601:7BD17:68826A3C
Tags · neurocyte/flow · GitHub
Toggle v0.4.0's commit message
Toggle v0.3.3's commit message
Toggle v0.3.1's commit message
Toggle v0.3.0's commit message
Toggle v0.2.1's commit message
Toggle v0.2.0's commit message
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 58
Tags: neurocyte/flow
Tags
v0.4.0
Release 0.4.0 Celebrating 1000 github stars! New Features: - **File type configuration** - File types are now user configurable. Flow comes with a built-in list of file types that you can now modify and save to the configuration directory with the `Edit file type configuration` command. You can also create whole new file types simply by adding new files to the configuration directory in the `file_type` folder. The file type configuration defines the name, icon, description, formatter and language server, extensions and first line matching rules for a file type. - **Auto Save** - Enable auto save for the current buffer with the `Toggle auto save` command. This will automatically save the current buffer on every change. Debounce time is the currently configured frame rate. You can also enable auto save globally with the `enable_auto_save` configuration option, and limit which file type have auto save automatically enabled with the `limit_auto_save_file_types` configuration option (which is a list of file types, e.g. `["zig","rust"]`) - **Highlight columns** - Use the `Toggle highlight columns` (`toggle_highlight_columns`) command (bound to shift+f11 in flow mode) to enable a background dim effect at the configured column positions. The columns to highlight are configured via the `highlight_columns` configuration option. - **Smart insert & delete** - Brace pairs like (), [], {} and "" are now handled intelligently like in most code editors. Also, leading whitespace is now intelligently deleted in `indent_size` steps. - **Format on save toggle** - Format on save can now be toggled for the current buffer with the `Toggle format on save` command (`toggle_format_on_save`). - **Git support** - The status bar now shows a summary of the project's git status include current branch, number of changed files and number of unpushed/unpulled/stashed commits. Also, Flow now respects all of git's file ignore machanisms. Diffs do not yet use git, but that is planned. - **Auto create parent directories** - Flow will now automatically create parent directies if necessary when creating new files. - **Tilde expansion** - The `Open file` and `Save as` commands now correctly support expanding `~` to the user's home directory. - **Improved panic handling** - Flow now has much improved panic handling and will leave the terminal in a known good state for all panics and segfaults. Additionally, release and nightly builds are now available with full debug information that will produce fully detailed backtraces on crash. This should help catch and fix those rare but pesky crashes. Please submit issues! Additionally, there is a configuration option to automatically start and connect gdb to a crashing flow instance. (linux only) - **Terminal support** - Flow now supports the kitty explicit text width protocol. This improves unicode character rendering on terminals that support it and superceeds `wcwidth` when available. - **Language server protocol** - Flow language server protocol backend is now fully asynchronous. This means that slow language servers cannot cause pauses while editing. - **Language support** - Added powershell syntax highlighting - Added hurl syntax highlighting - Added rpmspec syntax highlighting - Added protobuf syntax highlighting - Added uxntal syntax highlighting - Added protobuf syntax highlighting - Added C# formatter (csharpier) - Added PHP language server (intelephense) - **Themes** - Themes can now be customized with the `Customise theme` command - Added the entire base16 theme collection - Added the hypersubatomic theme - **Home screen** - The home screen text and list of commands can now be customized. Also, the current build version and build type are now shown in the bottom right corner of the home screen. - **tree-sitter** - Queries are now biniary compiled and stored in the flow executable. This greatly improves load times and reduces binary size. Also, incremental tree-sitter parsing is now checked for parsing errors and will fallback to a full re-parse if errors occur. - **Integer arguments** - Flow now supports integer arguments to many commands similar to emacs and vim. Related bindings have been added to Flow, Emacs, Vim and Helix modes. Pending integer arguments are shown in the status bar. - **Vim mode improvements** - Insert mode now produces automic undo steps, much more like Vim. Many vim mode bindings have been improved to more closely match Vim in their behaviour. Visual line mode was added. - **Helix mode improvements** - Many helinx mode bindings have been improved to more closely match Helix in their behaviour. - **New keybindings** - **Flow mode** `home`/`end` now work in palettes `ctrl+shift+F5` => reload file - **Vim mode** `ctrl-c` => exit insert mode `:e!` => reload file `gt` => next tab `gT` => previous tab `ctrl-v` => enter visual block mode `<` => unindent `>` => indent '*' => find work at cursor 'J' => join line 'dgg' => cut to beginning of buffer 'dG' => cut to end of buffer 'f' => move/select forward to char 'F' => move/select backwards to char 't' => move/select forward until char 'T' => move/select backwards until char 'N' => goto previous match 'cc' => change whole line 'C' => change to end of line 'D' => delete to end of line 'cw' => change word right 'cb' => change word left 'zz' => scroll view to center 'w' => [VISUAL] select word right (vim) 'W' => [VISUAL] select word right 'e' => [VISUAL] select to end of word right (vim) 'b' => [VISUAL] select word left (vim) 'B' => [VISUAL] select word left 'gg' => [VISUAL] select to beginning of buffer 'G' => [VISUAL] select to end of buffer 'c' => [VISUAL] change word right 'C' => [VISUAL] change to end of line 'D' => [VISUAL] delete to end of line - **New & updated commands** - copy_file_name => [NEW] Copy the current buffer file name (and optionally line number) to the clipboard. - reload_file => [NEW] Reload the current file from disk (mainting undo). - find_file => [NEW] Alias for open_recent. - save_file_with_formatting => [NEW] Format and save the current file. Independant of the current value of `enable_format_on_save`. - save_file_without_formatting => [NEW] Save the current file without first formatting it. Independant of the current value of `enable_format_on_save`. - open_file => [UPDATED] Open file will now detect if the current selection contains a valid file path, including optional line number. If it does, it will be opened immediately without first prompting. - join_next_line => [UPDATED] Join next line will now collapse whitespace. - shell_execute_stream_output => [UPDATED] Will now follow output tail if cursor is at buffer end. - **Command line improvements** - `--new-file` => Create a new file when starting Flow. - `--scratch` => Create a new scratch (ephemeral) buffer when starting Flow. - `--exec` => You can now pass string arguments to commands by separating them from the command name with a colon. - **UI improvements** - Many minor usability and visual UI improvments - The results pane now closes if `Find in files` mode is cancelled - The clock widget now supports multiple digit styles - Status bar widgets can support parameters for width or style depending on the widget - Scrollbars and file icons can be enabled/disabled via configuration options - Inline diagnostics (and gutter symbols) can now be toggled with the `Toggle display of diagnostics inline` command - Line numbers can now be displayed in various styles (toggled via middle click and/or config) Fixes: - Add legacy input encoding compatible undo keybinding in emacs mode - Allow .cmd along with .exe for Windows executables - Fixed broken shifted keybinds for Helix mode - Fix palette crashing when its items's length is exceeded - Fix restoring of last_find_query from editor state - Fix make keybind module respect command.suppressed_errors list - Allow font names longer than 31 characters in win32 - Fix panic on extra long plane names - Don't stop unindenting on blank or full unindented lines - Make sure to show_home if no files are opened via command line - Add workaround for LSPs sending junk null messages (omnisharp) - Don't truncate scratch buffer names in tabs and terminal title - Prevent unexpected message errors on missing LSP binary - Replace std.unicode.utf8Decode with safe function that cannot panic on invalid UTF-8 input - nudge_delete should handle cursor moving to same line as delete - Remove multithreaded buffer access in background async differ - Remove multithreaded buffer access in project_manager - Word/line wise dragging should keep the original word/line selected - Remove prefix from paths in ripgrep results - Use iso date format for default date instert keybind - Workaround broken dir.statFile on WSL1 - Left an right movements jump to selection boundary - Prefer targetSelectionRange over targeRange if both are provided by LSP - Fix flicker: home screen should not load if we have a file to open - Update thespian to fix subprocess file descriptor race - Force ripgrep to never try search stdin - Bracketed paste should check for ctrl+j and insert \n - Render control codes in mini buffer input with unicode control code symbols - Proactive close subprocesses on early exit in shell module - Fix paste in goto mode - Don't match against legacy unshifted keys when we have extended input text - Remove blocking project manager call on startup - Never double free LSP init queue - Remove arbitrary limit to command buffer size - Remove ctrl+p command palette binding - Stop after removing widget in Widget.remove (fixes ReleaseFast crash) - Fix potention dangling pointer in mainview on view list realloc - MRU position should not override line numbers on command line - Don't restore editor view rows and cols - Prevent task palette from being too short to show palette label - Refresh hover on tab changes - Add workaround for conpty ul color escape sequence parser bug - get_mru_position should not hang if file not found in project - Fix row & column in get_mru_position - Remove initial empty frame render on startup - Make move_cursor_up/_down fallback to move_begin/_end - Don't get stuck in an overlay mode if it is triggered from the command line - Update cursor target column after nudge_insert/_delete
v0.3.3
0.3.3 Release New features: - Major improvements to vim mode keybindings (thanks to @lulvz) - File type icons in the buffer switcher - File type icons in `--list-languages` output - Colorized task output buffers - New `--no-persist` to prevent new projects from being persisting - New `close_project` command bound to `del` in recent projects list - New `--project` command line parameter - Indicate that a project is open in the recent projects list - New command `open_version_info` to show build version information - New command `toggle_inline_diagnostics` - New gutter numbering styles `ascii`, `digital`, `subscript`, `superscript` and a command `gutter_style_next` to switch between them New file types: - `astro` New themes: - Zenbones theme collection Fixes: - #169 fix heap corruption on macos when decompressing unicode case data - spawn at least 4 worker threads to avoid timeouts on single cpu systems - restore eol_mode in undo/redo/reset operations - restore previous file type when switching buffers - prevent integer overlow if view top moves past file end in relative numbering mode - translate command line column from byte position to actual column - update cursor target column after nudge_insert/_delete
v0.3.1
Release 0.3.1 New features: - Improved styling of tabs - User customizable tab styles that can be edited with the `open_tabs_style_config` command - All cursors and selections are now restored when switching back to a previously open buffer - Ephemeral buffers can now only be saved with `save_as` - Windows binary releases are now packaged as zip files New commands: - `open_tabs_style_config` - `open_version_info` - `open_font_test_text` Fixes: - #144 - Never attempt to log a raw cbor message
v0.3.0
Release 0.3.0 Major New Features: - *Win32 GUI* - Yes, flow can now render itself in a win32 GUI window for all those terminal impaired windows users (with D3d11 shader rendering). The GUI binary can be built with `zig build -Dgui --release=safe` and is called `flow-gui.exe`. Functionality in this GUI version of flow is identical to the TUI version, although with this release there are some minor renderer features still missing such as curly underlines, mouse cursors and double wide characters. Thanks to @marler8997 for the huge amount of work he put into this. There are a few GUI specific commands to zoom in/out and select a font face. GUI specific configuration options are stored in a new `gui_config` file. - *Multi-buffer support* - A new buffer manager module means you can now switch buffers without first saving them. The recent files list has gained a dirty indicator so you can see which files need to be saved and there is a new command `switch_buffer` the will bring up a list of currently open buffers (with fuzzy search). The home screen now also has a `save_all` command for those times you just want to exit without saving each file individually first. There is a `delete_buffer` command that is bound to the `delete` key when in the buffer selector palette. Deleting a buffer will remove it from the buffers list and free it's undo history entirely. - *Tabs* - There is a a new tabs widget that you can use to switch buffers with the mouse or a keybinding to the `next_tab`/`previous_tab` commands. In the default configuration it is added to the top bar. You can close a tab with middle mouse click. - *Task runner* - You can now run commands inside flow and have their output placed in a buffer. Tasks are remembered per project. The default keybinding for the task palette is `alt+!`. Task output buffers are ephemeral and will be deleted when closed if not saved to a file first. - *Shell command bindings* - You can now bind shell commands to keys and have the output inserted into the current buffer, a new buffer, or the log. The commands are `shell_execute_insert` and `shell_execute_log`. See `src/keybind/builtin/flow.json` for some examples. - *LSP: Rename symbol* - Thanks to @travis flow now has LSP `rename_symbol` support. This is done a little differently in flow to most other editors. When running the `rename_symbol` command we add cursors at all the symbol references and let you rename them interactively. Cross file renames are not yet supported, but will show up in the references list for you to jump directly to them and perform the rename yourself if you so desire. - *New config file format* - Flow now uses a much simpler configuration file format that is nicer to edit manually. Conversion from the old `.json` config file is automatic and will not lose any configuration. Also, it is now possible to include nested configuration files with the `include_files` option. - *Much improved whitespace rendering* - Flow now uses a map of the rendered view to process whitespace rendering after finishing the main render pass. This fixes a few minor whitespace rendering bugs, and more importantly, allows easy and fast rendering of more whitespace related features. There are new modes: `leading`, `eol` and `tabs`, to render just subset of whitespace. And, best of all, flow now highlights leading (ie. spaces before tabs) and trailing whitespace errors. - *Beam cursor mode mouse select* - Selecting with the mouse when you have a beam cursor active now gives selection behaviour like a GUI editor. ie. the position of the selection is calculated gap to gap instead of char to char. Changes to input modes: - *Flow select mode* - Press `ctrl+space` in flow input mode to enter a select mode that lets you extend your selection with regular movement keys. - *Emacs input mode* - Emacs input mode keybindings are now mostly complete and include all the basic movement commands, selection mode (also `ctrl+space`) and LSP commands. Thanks to @marler8997 for this work. - *Vim input mode* - Vim input mode keybindinds have improved, but are still incomplete. New are vim style half and whole page movements and more ways to enter instert mode. - *Helix input mode* - Helix input mode is also improving, but still very far from complete. Helix style selections (inclusive) have added in this release with more cursor movements still to come. New commands: - `create_new_file` - Create a new file that can be named with the `save_as` command. - `pause_undo`, `resume_undo` - Pause/resume undo history. Useful for reducing undo steps generated by command sequences. New file types: - `sql` - `systemverilog` New configuration options: - `gutter_symbols` - Enable/disable diagnostics symbols in the line number gutter. - `default_cursor` - Set the default cursor. One of `default` (the terminal default), `block_blink`, `block`, `underline_blink`, `underline`, `beam_blink` or `beam` New themes: - `mellow` Minor New Features: - Show screen dimentions on resize - *BSD support - Tracking branch and upstream is now shown in `--version` output - `copy` now copies the current line if there is no selection - Remove existing cursor if clicked again in add cursor mode (`alt+click`) - Support inheritance between input modes within an input namespace - Add a bullet to inline diagnostic messages - Don't render diagnostic messages if there is too little space - Use a smaller NL symbol - Support pasting from the native windows clipboard - Upgrade cursors to block cursors when multi-cursor editing - Separate binding key seqences with space instead of '>' - Clear file list and log if no `find_in_files` matches are found - Support matching of shifted keybindings Fixes: - project: don't abort early on project restore_state - palette: prevent crash on select(0) - gutter: add missing abs to rel conversion in primary_click/_drag - disable slow mouse_idle_timer - editor: send view and cursor position updates when number of document lines changes - utf-8: perform utf-8 sanitazation on buffer insert_chars - palette: cancel when clicking outside of a palette instead of activating the current item - project: use after free on fast project switching - editor: prevent an integer overflow in editor.cancel_all_selections() on project switch - windows: fix a race in the subprocess module - editor: clamp cursor to buffer in toggle_cursel_prefix - editor: don't attempt to render off the bottom of the screen - version: make gen_version_info a little more robust - editor: add pretty error if clipboard request is denied by terminal - keybind: provide fallback handling for legacy terminals the don not provide shifted key info - windows: matching of alt+shift+ keybindings on windows - windows: normalized vaxis windows console input
v0.2.1
Release 0.2.1 New features: - Input view now shows the parsed input event in a keybind compatible syntax - Cursor shape configuration (via keybind mode configuration) is now supported for mini and overlay modes Fixes: - Hover highlights are now correctly positioned in lines with tabs and/or wide characters - Find in files matches with control characters in the match are now rendered correctly (escaped) - Fixed non-tree-sitter builds
v0.2.0
Release 0.2.0 New Features Summary: - Binary release builds - User configurable keybindings - Native Windows support - Command palette with fuzzy matching - Recent project directories palette with fuzzy matching - File type palette - Support CRLF line endings and changing the line ending mode - Support for loading non-UTF-8 files with auto convertion to UTF-8 - Configurable indent size and tab width - Very large file support - New file list view for find_in_files results - New diagnostics view for language server diagnostics - Theme selection palette - Better support for alpha in themes - New editor commands: - show_diagnostics (open the diagnostics view) - save_as (with path completion) - expand/shrink_selection (based on tree-sitter AST) - open_previous_file - switch_case - toggle_syntax_highlighting - force_terminate (exit without saving and an error code) - insert_command_name (show bindable command names palette) - New CLI options & changes: - `--literal` disable file name parsing for line numbers - `--list-languages` show language server/formatter availability - `--no-syntax` disable syntax highlighting - `--exec` execute command(s) on startup - New language server features: - goto_declaration/_implementation/_type_definition - hover - references (find all references) - UI features & changes: - Faded background for modal palettes - Configurable mode specific cursor shapes (block, bean, underline) - Configurable status bars (top & bottom) - Clock status bar widget - Spacer status bar widget - Improved terminal title - Mouse resizable panel views - Set terminal background to match editor (see enable_terminal_color_scheme) - Support for terminal inband resize messages - New configuration options: - enable_format_on_save - enable_terminal_color_scheme - New themes: - Catppuccin Mocca, Latte, Frappé and Macchiato - Gruvbox Material Dark & Light - Spacedust - New file types & languages: - mail - odin - cmake - gleam - julia - swift - hare - vimscript - typst - elixir - super-html - yaml - nim - kdl
You can’t perform that action at this time.