How I Built My Code Editor in Ruby
Andy Maleh • July 06, 2022 • Montréal, Canada
Gladiator is a code editor that was built completely in Ruby. It supports syntax highlighting for over 30 programming languages, split pane, file name lookup, a variety of keyboard shortcuts, undo/redo, find and replace, line jumping, monitoring external file system changes, ignoring uneditable files, expanding to fill the screen, running Ruby code, remembering the last open files, and multi-project support. In fact, I have been using Gladiator for all my code editing needs since May of 2020.
In this talk, I will present Gladiator's features, and then dig into the implementation of every feature in Ruby, covering things like the Model-View-Controller and Model-View-Presenter architectural patterns, how to build custom widgets, how to implement file editing commands, and how to support undo/redo.
Attendees should walk out of this talk with rudimentary knowledge of how to build a code editor in Ruby.
Related links:
Gladiator: https://github.com/AndyObtiva/glimmer-cs-gladiator
Glimmer DSL for SWT: https://github.com/AndyObtiva/glimmer-dsl-swt
Glimmer Process: https://github.com/AndyObtiva/glimmer/blob/master/PROCESS.md
Montreal.rb Meetup July 2022