Skip to content

Releases: brouberol/bo

0.4.0

23 May 09:52
Compare
Choose a tag to compare

Features

  • Implement autocompletion based on user provided commands (ex: :deb<TAB> autocompletes to :debug). Multiple completion suggestions can be cycled through, accepted or ignored.
  • Add support for Undo last operation, via the u command

Improvements

  • Move the cursor on the first character of the currently selected autocompletion suggestion, to highlight it
  • Allow multiple search occurences to be found in the same line

Fixes

  • Move to the last available character when deleting a line that is longer that the previous one, with d
  • Reset the history when opening a new file

0.3.3

01 May 10:31
Compare
Choose a tag to compare

Features

  • Introduce the o short command to open a file
  • Display cursor in the message bar while typing a command

Improvements

  • Add strong types around row index VS line number to avoid conversion errors
  • Move the cursor to the top left position when opening a new file
  • Format the help sections titles in bold and automatically generate the help text

Fixes

  • Fix erratic behavior when navigating into the current view, caused by using the terminal size and not the text area size
  • Prevent crashes by using saturating arithmetic operations
  • Prevent wrong jumps when inserting/deleting a line after the first half view
  • Fix a bug preventing bo from being used as the git editor

0.3.2

24 Apr 14:53
Compare
Choose a tag to compare

Improvements

  • When moving from a line to a shorter one, we now make sure the cursor don't overflow it by moving it to the last character when necessary.
  • Display backtrackes on failing tests.

Fixes

  • The hash of the last saved document is always updated when the save is successful, saving us from having to run :q! on a freshly saved doc.

0.3.1

04 Sep 15:51
Compare
Choose a tag to compare

Features

  • Trailing spaces are now removed on save. Thanks @ilmanzo !
  • New NORMAL mode command: J, joins the current line with the previoue one
  • New :debug command, that dumps the Editor state as JSON to bo.log
  • :w <filename> allows us to save as / rename the file. Thanks @jim4067!

Improvements

  • bo --version now outputs both the tag and git hash in debug mode
  • The welcome message is automatically hidden as soon as we start writing anything in an empty buffer
  • Overal refactoring of the Position/Offset/x_offset typing system into a better design

Fixes

  • Only save documents with a filename to a swap file, saving bo from crashing when attempting to generate the swap file name for an empty buffer
  • Pasting content with Ctrl-v no longer only paste half the content
  • A file that was modified, then put back to its original state will now be marked as "dirty" anymore.

v0.3.0

15 Aug 19:31
Compare
Choose a tag to compare

Many offsets/overflow bugs have been fixed. Many new navigation and UX features have been implemented:

  • m now support finding the matching symbols over multiple lines
  • the cursor style depends on the mode
  • display a marker if some unsaved changes have been made
  • ask confirmation before quitting if there's unsaved changes, and introduce the :wq force quit command
  • support ~ expansion in the filename
  • automatically translate a Tab to 4 spaces (thanks @ilmanzo !)
  • automatically dump unsaved changes to a swap file, and restore it in case of a crash
  • bo <filename> now opens a new/unsaved <filename> file

v0.2.0

03 Aug 21:04
Compare
Choose a tag to compare

Basic edition features and commands are now available:

  • insert characters in insert mode with support for Enter/Backspace
  • d deletes a line
  • x deletes the current character
  • o inserts a newline after the current line and switches to insert mode
  • O inserts a newline before the current line and switches to insert mode

A lot of work went into implementing a Console trait, both implemented by the Terminal struct, as well as a MockConsole one, and passing it around the Editor, so that we can mock the terminal itself, to unit test the editor.

v0.1.0

25 Jul 06:42
Compare
Choose a tag to compare

At that point, bo cannot yet edit text at all, meaning it is very much useless. That being said, it can navigate through text really well, which is the first step!