New Bytes release: v0.3.2 (beta)
It has been a little while since the last release and there was enough work done for a new one, even though I would have liked to include more bug fixes and performance improvements.
Full changelog:

v0.3.2 (beta) - 13/04/2024

  • Added better support for bash/batch file in the default syntax highlighter.
  • Added basic syntax highlighting support for R, Cobol, Fortran, Ada, Scala, Dart, Odin, Zig, Nim and Perl in the default syntax highlighter.
  • Made a separate CSS syntax highlighting routine in the default syntax highlighter.
  • Added support for Python F-strings in the default syntax highlighter.
  • Added some animations to tabs, scrollbars and listers.
  • Added the EOF token type. It is an alternative way to check for the end of the file when retrieving the next token.
  • Bytes will now issue a notification when a terminal job finishes and the editor is not in focus.
  • get_file_extension() is now ensured to return the lower-case version of a file extension.
  • '<-' is now considered a miscellaneous token.
  • Enhanced the behaviour of close_tab().
  • Changed the behaviour of switch_tabs(): now this will switch between the current tab and the most recently visited tab.
  • For now all blacklisted file extensions are expected to be lower-case.
  • Sped up some parts of the editor.
  • Fixed a bug where syntax highlighting would not correctly update when creating a new file.
  • Fixed a crash related to text navigation/editing.
  • Fixed some compiler bugs.
  • Fixed various bugs involving CRLF line endings.
  • Fixed a crash that would occur when pasting lots of text from the clipboard.
  • Fixed a bug in align_selection_on_token_at_cursor().
View full feed

Bytes is a fast, lightweight and customisable text editor.

Features:

  • Everything is fast
  • Just download a zip file that is less than a megabyte in size
  • Built-in terminal with partial support for VT100 escape sequences
  • Everything is customised using a single language that is compiled to machine code (no need to bother with build-systems, external compilers and DLLs)
  • Everything runs on hardware
  • Rendering is done on the GPU

The editor is currently in beta and runs on Windows 10+ and Linux (x64). A port to MacOS is planned but unlikely to happen very soon. Feel free to report bugs or suggest features here.

Limitation:

  • Bytes is not an IDE.
  • For now the editor is not designed to handle big files.

Motivation:

I wanted to make a text editor that is fast and lightweight but also easily customisable. I decided to go with a custom language for the custom layer since it would be easier to make non-trivial customisations and share them as it only requires the editor to compile them, removing the need to install SDKs, compilers and to handle multiple platforms. I also wanted to avoid all the usual scripting languages since I do not think they are very good (both in the way they are designed and in the way their compilers and interpreters are engineered). Lastly this also gave me a good excuse to start working on a programming language of my own : )