diff --git a/release_notes.md b/release_notes.md index 1cb2605..a4a37d4 100644 --- a/release_notes.md +++ b/release_notes.md @@ -1,13 +1,26 @@ +- highlight columns cj feat: BREAKING make highlight_columns a list of integers -cj feat: allow arrays of scalar values as config options +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 -cj feat: save and restore enable_format_on_save in editor state + +- 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 @@ -15,38 +28,28 @@ 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 support for arrays of config values -cj feat: update cbor to add support for allocating extraction of arrays cj feat: add command to edit file type configuration files -cj feat: more improvements to panic handling cj feat: add support for arrays and hex color values in config files cj feat: add functions for converting colors to/from hex values -pranavrk7 feat: add ctrl-c keybind to exit insert mode -cj feat: smart delete leading whitespace to indent_size -cj feat: add follow_cursor_on_buffer_switch option (default false) + +- panic handling +cj feat: more improvements to panic handling cj feat: install signal crash handler to reset terminal before dumping stack traces -cj feat: add powershell language support -cj feat: add hurl language support -cj feat: add support for ~ expansion to open_file command and file_browser -cj feat: add csharp formatter -cj feat: add legacy input encoding compatible undo keybinding in emacs mode -cj feat: add highlight_columns_enabled config option and store it on toggle_highlight_columns -cj feat(completion): store received completions in a buffer -cj feat(completion): forward completion entries to current editor +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: update flow-themes to add base16 theme collection -cj feat: add vim mode command to reload_file (:e!) 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 -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 dr.slate2 add vim bindings for swapping tabs -dr.slate2 fix compile error -dr.slate2 removed mark related code 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 @@ -56,56 +59,31 @@ 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 -cj feat(flicker): avoid triggering initial render from branch widget -cj feat: stop rendering on panic -cj feat: add toggle_highlight_columns command (shift+f11) - Single line fix for palette crashing when its items's length is exceeded. -cj feat: add restore_last_cursor_position config option (default true) - Fixed broken shifted keybinds for Helix mode -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: 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: make logview include precision for small tdiff values -cj feat: add git.workspace_ignored_files function -cj feat: query project files via git (part 1) -cj feat: add config option to enable jit-in-time debugging -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 -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 copy_file_name command +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 -cj feat: add reload_file command -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 highlight_columns initial basic implementation -ivel.santos feat: Vim mode: till_char (#224) -ivel.santos fix: move_next_word_end (#225) ivel.santos feat: Helix mode: move_next_word_end (#223) -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 ivel.santos feat: Helix & Vim mode: adding more commands (#218) -cj feat: call pause/resume_undo_history on entering/exiting insert modes -cj feat: add per input mode init_command and deinit_command support 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 @@ -113,67 +91,133 @@ 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 -cj feat: add `Customise theme` command -cj feat: add debug build warning to home screen + +- 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 -cj feat: add support for string args in --exec separated by colons -cj feat: add build version to home screen -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: use explicit error handling for all startup errors -cj feat: add command palette bindings to vim visual modes -cj feat: queue messages to LSP while waiting for initialize response -cj feat: make LSPs fully async +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 -cj feat: add some home screen customization -cj feat: re-organize home screen -cj feat: improve some command description strings + +- 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: add config options to disable scrollbars and/or file icons -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: toggle inputview if showing in toggle_panel -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: improve some command description strings cj feat: detect and auto open file links in selection in open_file command -cj feat(version): add timestamp of last commit to version info cj feat: add save_file_with_formatting command gero.schwaericke feat: save file without formatting -gero.schwaericke fix: open recent file ignoring page up/down -cj feat(keybind): add keybind mode config setting to disable default bindings -cj feat: add smart_insert_pair command -cj feat: add hypersubatomic theme cj feat: make join_next_line collapse whitespace -cj feat(keybind): add `inherits` keybind config option for multiple inheritance -cj feat: make mru file position lookup synchronous -cj feat: toggle gutter symbols along with inline diagnostics cj feat: improve shell_execute_stream_output to follow output tail only if cursor is at buffer end -ingo.lohmar mv alt+R binding from project to normal -ArianDehghani feat: allow .cmd along with .exe for Windows paths (#187) -cj feat: let mini modes inherit gutter line number modes -cj feat(vim): add N vim mode binding for goto_prev_match -arianxdehghani Set php's default LSP to intelephense -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 + +- 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 -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 + +- 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 -cj feat(tui): add explicit width support -cj feat(home): add build version info to home screen +- 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