An infinite canvas code editor written in Rust using macroquad.

About benchide


Motivation

As the name suggests, this was originally intended to be an IDE, but due to time limitations it is currently a text editor. This was inspired due to me wanting features such as a time travel debugger and other debugging features (like these in Bret Victor's Learnable Programming). To be able to properly visualise the state of the program in a traditional IDE is cumbersome so the solution would be to make it on an infinite canvas. Programmers often don't like clicking around with a mouse, so to solve that problem I wanted to add keyboard shortcuts similar to a tiling manager which makes manipulation of the editor windows fast.

Features (completed)

  • Cursor movement
  • Scrolling
  • Backspace/Tab/Text insertion
  • Panning canvas
  • Moving windows
  • Syntax highlighting
  • Saving code

Features (todo)

  • Selection
  • Auto indent
  • Undo/Redo
  • Clipboard management
  • Zooming
  • Integrated Terminal
  • Debugger
  • LSP support

Installing

Source code can be found at: https://github.com/debater-coder/benchide I have only tested running with stable-x86_64-pc-windows-gnu which requires MSYS2/MINGW. It may work on other platforms but this has not been tested.

Read more
Filters

Recent Activity

Final update for the jam.

  • Added ability to save and open files

Forgot to post an update yesterday -- Here is what was added.

  • Backspace
  • Multiple windows
  • Focus management
  • Syntax highlighting
  • Line numbers

First status update.
Some basic text editing features. Building an IDE is harder than I thought, might end up with a text editor lol.

Backspace, enter and key repetition evidently not working: