- highlight columns cj feat: BREAKING make highlight_columns a list of integers cj feat: add highlight_columns_enabled config option and store it on toggle_highlight_columns cj feat: add toggle_highlight_columns command (shift+f11) cj feat: enable hightlight columns by default cj feat: dynamically allocate highlight_columns cj feat: use solid alpha dimmed background color for highlight column cj feat: add highlight_columns initial basic implementation - auto save cj feat: add limit_auto_save_file_types config option cj feat: save file if changed if auto save is enabled cj feat: save and restore enable_auto_save in editor state cj feat: add toggle_auto_save command cj feat: add enable_auto_save configuration option - format on save cj feat: add toggle_format_on_save command - make parent dirs cj feat: create parent directories if needed when saving new files - file type config cj feat: add support for configuring the file type syntax parser cj feat: merge configured and static file type lists cj feat: port file type palette to use configurable file types cj feat: port list_languages command to use configurable file types cj feat: make project_manager use configurable file types cj feat: port editor to use configurable file types cj feat: complete loading of configurable file types cj feat: add command to edit file type configuration files cj feat: add support for arrays and hex color values in config files cj feat: add functions for converting colors to/from hex values - panic handling cj feat: more improvements to panic handling cj feat: install signal crash handler to reset terminal before dumping stack traces cj feat(flicker): avoid triggering initial render from branch widget cj feat: stop rendering on panic cj feat: add config option to enable jit-in-time debugging - flow mode cj feat: add home/end keybindings to palette cj feat: add flow mode keybind to insert full iso date and time cj feat: add flow mode keybinding to reload_file - vim mode pranavrk7 feat: add ctrl-c keybind to exit insert mode cj feat: add vim mode command to reload_file (:e!) cj feat: add initial basic visual block vim mode cj feat: add support for binding '<' and '>' in vim mode dr.slate2 add vim bindings for swapping tabs dr.slate2 added * command in vim mode dr.slate2 add vim bindings for setting and goto'ing global marks dr.slate2 begin supporting global marks dr.slate2 add bindings for the rest of the mark manipulation commands dr.slate2 began support vim mark system dr.slate2 added join line binding for vim dr.slate2 added cut_buffer_begin command and vim binding dr.slate2 added goto buffer begin/end keybinds for vim mode dr.slate2 added dG vim binding ivel.santos feat: Vim mode: till_char (#224) ivel.santos fix: move_next_word_end (#225) cj feat: call pause/resume_undo_history on entering/exiting insert modes cj feat: add per input mode init_command and deinit_command support cj feat: add command palette bindings to vim visual modes ingo.lohmar mv alt+R binding from project to normal cj feat(vim): add N vim mode binding for goto_prev_match cj feat(vim): add f and F keybindings for move_to_char kekwm8 fix(vim): Remove 'jk' keybinding again and make select_line_vim work on multiple cursors kekwm8 fix(vim): Removed unnecessary cancel commands in vim mode cut functions kekwm8 feat(vim): Add word movement for visual mode, and complete vim mode cut to end of line lunalght8 fix: remove 'jk' keybinding in insert mode kekwm8 feat(vim): implement cut to end of line functionality in vim mode kekwm8 feat(vim): enhance cut and delete commands in vim mode (still missing cut functionality in delete to end) kekwm8 feat(vim): Add VISUAL line mode to vim mode, fix vertical movement behaviour - helix mode ivel.santos Helix: fixing c keymap behavior ivel.santos Helix: normal mode after delete ivel.santos Fix insert_line ivel.santos Fix pasting line ivel.santos Correcting selection after paste ivel.santos copy and paste improvs and inclusive selection correction ivel.santos feat: Helix mode: move_next_word_end (#223) ivel.santos feat: Helix & Vim mode: adding more commands (#218) ivel.santos fix(helix): Making `d` and `c` work as expected in normal mode ivel.santos Helix mode: find_file ivel.santos Helix mode: move_cursor_word_left ivel.santos Helix mode: move_next_word ivel.santos Helix mode: move_to_char ivel.santos Helix mode: adding file_picker_in_current_directory ivel.santos Helix mode: adding extend_line_below - emacs mode cj feat: add legacy input encoding compatible undo keybinding in emacs mode - smart insert & delete cj feat: smart delete leading whitespace to indent_size cj feat: also add extra new line and indent for () and [] cj feat: indent and insert extra new line in smart_insert_line between braces cj feat: add smart_delete_backward command for improved smart pair handling cj feat: improve smart_insert_pair and add smart_insert_pair_close cj feat: add smart_insert_pair command - follow cursor cj feat: add follow_cursor_on_buffer_switch option (default false) - restore last cursor position cj feat: add restore_last_cursor_position config option (default true) - language support cj feat: add powershell language support cj feat: add hurl language support cj feat: add csharp formatter cj feat: add rpmspec support cj feat: add protobuf support cj feat: update tree-sitter for uxntal, rpmspec and protobuf support notchoc feat: support uxntal syntax cj feat: add log as an extension for the conf file type arianxdehghani Set php's default LSP to intelephense - file browser cj feat: add support for ~ expansion to open_file command and file_browser - completion cj feat(completion): store received completions in a buffer cj feat(completion): forward completion entries to current editor - themes cj feat: update flow-themes to add base16 theme collection - tree-sitter cj feat: do a full reparse if tree-sitter reports syntax errors cj feat: add syntax.count_error_nodes function cj feat: add support for pre-generated tree-sitter error queries cj feat: output total size of binary queries cj feat: use binary tree-sitter queries created at compile time cj feat: allow parallel loading of tree-sitter query cache entries cj feat: add caching of tree-sitter query objects - git status cj feat: display mini git status in branch widget cj feat: add status command to git client module cj feat: add support for init/deinit functions in Button context values cj feat: add branch widget to default config cj feat: add some whitespace to branch widget cj feat: load project file list from git if available cj feat: add git.workspace_ignored_files function cj feat: query project files via git (part 1) cj feat: check we have a git repo in the branch widget cj feat: add git.workspace_path function cj feat: add git branch widget cj feat: start git client module - log view cj feat: make logview include precision for small tdiff values - commands cj feat: add copy_file_name command cj feat: add reload_file command cj feat: add find_file command as an alias for open_recent cj feat: improve some command description strings cj feat: detect and auto open file links in selection in open_file command cj feat: add save_file_with_formatting command gero.schwaericke feat: save file without formatting cj feat: make join_next_line collapse whitespace cj feat: improve shell_execute_stream_output to follow output tail only if cursor is at buffer end - integer arguments ivel.santos goto_line_vim: integer parameters ivel.santos Extend_line_below: integer parameter ivel.santos add helix mode keybindings for setting integer argument cj feat: add vim mode keybindings for setting integer argument cj feat: add emacs mode keybindings for setting integer argument cj feat: add support for repeat integer arguments to many commands cj feat: add flow mode keybindings for setting integer argument cj feat: display pending integer argument in keybind widget cj feat: re-add support for integer command arguments - themes & theme customization cj feat: add `Customise theme` command cj feat: add hypersubatomic theme - home screen & version info cj feat: add debug build warning to home screen cj feat: add build version to home screen cj feat: add some home screen customization cj feat: re-organize home screen cj feat(version): add timestamp of last commit to version info cj feat(home): add build version info to home screen - command line cj feat: add support for string args in --exec separated by colons cj feat: add --new-file command line parameter cj feat: add --scratch command line parameter cj feat: don't ask for file type in create_new_file if we have a language override cj feat: allow calling create_scratch_buffer with no parameters - status bar, panel & widgets cj feat: close results pane if find_in_files mode is cancelled cj feat: add clock widget digit style parameter cj feat: add status bar widget parameter support with parameters for linenumber and spacer widgets cj feat: add config options to disable scrollbars and/or file icons cj feat: toggle inputview if showing in toggle_panel cj feat: toggle gutter symbols along with inline diagnostics cj feat: add configuration and command to toggle display of inline diagnostics cj feat: add line number styles - LSP cj feat: queue messages to LSP while waiting for initialize response cj feat: make LSPs fully async - terminal support cj feat(tui): add explicit width support - fixes ArianDehghani feat: allow .cmd along with .exe for Windows paths (#187) Fixed broken shifted keybinds for Helix mode Single line fix for palette crashing when its items's length is exceeded. cj fix: restoring of last_find_query from editor state cj fix: bitrot in syntax.FileType.guess_static cj fix: make keybind module respect command.suppressed_errors list cj fix: allow font names longer than 31 characters in win32 cj fix: add parser parameters to prettier formatters cj fix: don't try to call thespian debugger signal handler on macos cj fix: update thespian to fix windows builds cj fix: don't error loop if the configured file type parser is not found cj fix: file_type_config should not use syntax.FileType.get_all() cj fix: incorrect string encoding of color config values cj fix: allow editing the current editor's file type cj fix: panic on extra long plane names cj fix: panic in color.to_string cj fix: don't stop unindenting on blank or full unindented lines cj fix: add back missing windows check for crash handler cj fix: make sure to show_home if no files are opened via command line cj fix: add workaround for LSPs sending junk null messages (omnisharp) cj fix: don't truncate scratch buffer names in tabs and terminal title cj fix: prevent unexpected message errors on missing LSP binary cj fix: replace std.unicode.utf8Decode with safe function that cannot panic on invalid UTF-8 input cj fix: nudge_delete should handle cursor moving to same line as delete cj fix: minor home screen fixes cj fix: remove multithreaded buffer access in background async differ cj fix: remove multithreaded buffer access in project_manager cj fix: word/line wise dragging should keep the original word/line selected cj fix: remove prefix from paths in ripgrep results cj fix: use iso date format for default date instert keybind cj fix: workaround broken dir.statFile on WSL1 cj fix: left an right movements jump to selection boundary cj fix: prefer targetSelectionRange over targeRange if both are provided by LSP cj fix(flicker): home screen should not load if we have a file to open cj fix: update thespian to fix subprocess file descriptor race cj fix: force ripgrep to never try search stdin cj fix: add missing bin_path module cj fix: re-render on branch widget update cj fix: bracketed paste should check for ctrl+j and insert \n cj fix: render control codes in mini buffer input with unicode control code symbols cj fix: date keybinding should instert cj fix: proactive close subprocesses on early exit in shell module cj fix: remove git.current_branch_cache cj fix: add missing logger clean-up in shell module cj fix: paste in goto mode cj fix: check target cj fix: side scrolling of highlight_columns cj fix: insert right char on move failure in smart_insert_pair_close cj fix: merge build failure in helix.move_next_word_end and add repeat support cj fix: call configured init_commands for all mode types cj fix: don't match against legacy unshifted keys when we have extended input text cj fix: pause_/resume_undo_history should correctly store/restore an undo point cj fix: win32 build cj fix: remove blocking project manager call on startup cj fix: never double free LSP init queue cj fix: ts_bin_query_gen should be built for host for cross-compiling cj fix: destroy QueryCache.CacheEntry objects on clean-up cj fix: remove arbitrary limit to command buffer size cj fix: don't reverse insert pairs when selection is reversed cj fix: do not parse tree-sitter queries twice cj fix: remove ctrl+p command palette binding cj fix: merge build failure cj fix: stop after removing widget in Widget.remove (fixes ReleaseFast crash) cj fix: potention dangling pointer in mainview on view list realloc cj fix: add Meta declarations post-merge cj fix: mru position should not override line numbers on command line cj fix: don't restore editor view rows and cols cj fix: add missing Meta types cj fix(tasks): prevent task palette from being too short to show palette label cj fix(tabs): refresh hover on tab changes cj fix: add workaround for conpty ul color escape sequence parser bug cj fix: get_mru_position should not hang if file not found in project cj fix: row & column in get_mru_position cj fix: remove initial empty frame render on startup cj fix: make move_cursor_up/_down fallback to move_begin/_end cj fix: add missing Meta declarations pulled in by last master merge cj fix: don't get stuck in an overlay mode if it is triggered from the command line cj fix(editor): update cursor target column after nudge_insert/_delete