New release: v0.3.0 (beta)

Refactored the way tokens are handled to simplify everything and speed things up. Also syntax highlighting is only applied on visible text. Reduced input latency overall (up to 10x faster). This will likely get even better in the future as there are a few things that can be done to improve latency.

Full changelog:

v0.3.0 (beta) - 22/02/2024 - New token API

The way tokens work has been completely refactored to simplify the program and to reduce input latency.
Instead of tokenising the whole file everytime a change is made, it is up to you to retrieve tokens from a particular text section.
Also syntax highlighting is no longer applied to the full file but only to the text section visible on screen. This greatly reduces input latency.
To learn more about how to use the new token API and to highlight text, refer to examples/syntax.8 and check the default syntax highlighting file
(syntax_latest.8 if you updated, syntax.8 if this is a fresh download of the latest version).

  • Added the ask_to_delete_items() API call. This lets you delete files and directories directly from the editor.
  • Slightly enhanced auto-completion.
  • Simplified the way files are saved for the first time.
  • A terminal tab now shows the status of the latest operation once it is completed.
  • Windows: fonts will now automatically get resized when the display resolution changes.
  • Added a new default theme, 'plastic'.
  • When applying the UI theme to the window border, the window title will now be greyed out when the window loses focus.
  • When closing the current tab, the editor will go to the tab you were previously at.
  • Fixed a memory bug.
  • Fixed a bug in align_selection_on_token_at_cursor().
  • Fixed a bug involving undoing actions in text boxes.
  • Fixed a bug in go_right() that occured when the cursor would stand on whitespace at the end of a line.
  • Fixed a compiler bug that could crash the editor.