Gladiator (short for Glimmer Editor) is a Glimmer DSL for SWT sample project under on-going development that demonstrates how to build a text editor in Ruby using Glimmer DSL for SWT (JRuby Desktop Development GUI Library). It is not intended to be a full-fledged editor by any means, yet mostly a fun educational exercise in using Glimmer. Gladiator is also a personal tool for shaping an editor exactly the way I like, with all the keyboard shortcuts I prefer. I leave building truly professional text editors to software tooling experts who would hopefully use Glimmer one day. Otherwise, I have been happily using Gladiator to develop all my open-source projects since May of 2020.
Gladiator (Glimmer Editor) alternatives and similar gems
Based on the "GUI" category.
Alternatively, view Gladiator (Glimmer Editor) alternatives based on common mentions on social networks and blogs.
4.2 8.3 L4 Gladiator (Glimmer Editor) VS RubyGnome2A set of bindings for the GNOME libraries to use from Ruby.
DSL Framework consisting of a DSL Engine and a Data-Binding Library used in Glimmer DSL for SWT (JRuby Desktop Development GUI Framework), Glimmer DSL for Opal (Pure Ruby Web GUI), Glimmer DSL for XML (& HTML), Glimmer DSL for CSS, and Glimmer DSL for Tk (MRI Ruby Desktop Development GUI Library)
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of Gladiator (Glimmer Editor) or a related project?
Gladiator 0.5.3 - Ugliest Text Editor Ever
Gladiator (short for Glimmer Editor) is a Glimmer DSL for SWT sample beta project under on-going development that demonstrates how to build a text editor in Ruby using Glimmer DSL for SWT (JRuby Desktop Development GUI Library). It is not intended to be a full-fledged editor by any means, yet mostly a fun educational exercise in using Glimmer. Gladiator is also a personal tool for shaping an editor exactly the way I like, with all the keyboard shortcuts I prefer. I leave building truly professional text editors to software tooling experts who would hopefully use Glimmer one day. Otherwise, I have been happily using Gladiator to develop all my open-source projects since May of 2020.
Gladiator currently supports the following text editing features (including keyboard shortcuts with Mac CMD=CTRL on Windows/Linux):
- Ruby Syntax Highlighting with colors
- File explorer navigation with context menu to open file, rename, delete, add new file, add new directory, or refresh tree (CMD+T)
- File lookup by name ignoring slashes, underscores, and dots to ease lookup (CMD+R)
- Watch open file for external changes to automatically refresh in editor
- Watch project subdirectories for changes to automatically refresh in file explorer/file lookup
- Find & Replace (CMD+F)
- Show Line Numbers
- Jump to Line (CMD+L)
- Multiple tab support (CMD+SHIFT+[ & CMD+SHIFT+] for tab navigation. CMD+1-9 to jump to a specific tab)
- Remember opened tabs, caret position, top line, window size, and window location
- Autosave on focus out/quit/open new file
- Duplicate Line(s)/selection (CMD+D)
- Kill Line(s)/selection (CMD+K)
- Move line/selection up (CMD+UP)
- Move line/selection down (CMD+DOWN)
- Comment/Uncomment line/selection (CMD+/)
- Indent/Unindent line/selection (CMD+] & CMD+[)
- Insert/Prefix New Line (CMD+ENTER & CMD+SHIFT+ENTER)
- Drag and Drop Text Editor Split Screen (drag a file from File Tree or File Lookup List, and it splits the screen)
- Run Ruby code (CMD+SHIFT+R)
- Scratchpad for running arbitrary Ruby/Glimmer code without saving to disk (CMD+SHIFT+S)
- Change Split Orientation to Horizontal/Vertical via View Menu (CMD+SHIFT+O)
- Mac: Gladiator works best on the Mac. This is the platform it is most used on and receives the most maintenance for.
- Windows: Gladiator works OK on Windows, but has some annoying bugs. Contributers could help fix.
- Linux: Gladiator works with handicaps on Linux (performing some text editing operations causes scroll jitter). Contributers could help fix.
- Glimmer DSL for SWT (JRuby Desktop Development GUI Library): '>= 188.8.131.52', '< 184.108.40.206' (dependency included in Ruby gem).
- JRuby: Same version required by Glimmer
- JDK: Same version required by Glimmer
Install Gladiator gem by running (
jruby -S gem, or
gem directly if you have RVM):
jgem install glimmer-cs-gladiator
Or add to a JRuby project Bundler
Gemfile under the
group :development do gem 'glimmer-cs-gladiator' end
jruby -S bundle or
bundle directly if you have RVM):
jruby -S bundle
You may run the
gladiator command to bring up the text editor in the project directory you would like to edit:
On Linux, you may need to run with extra memory via this command instead:
On Windows, you may need to run with extra memory via this command instead:
If you are in a different directory from the project you would like to edit, then pass its path as an argument:
Note: If you cloned this project and bundle installed, you may invoke via
If your project is not a JRuby project, then you cannot install glimmer-cs-gladiator, so you must install in a separate JRuby environment and invoke by passing the project path as per command above. Alternatively, you may clone this project, and invoke gladiator via
bin/gladiator (that's how I use Gladiator for most of my projects):
Glimmer Custom Shell Reuse
To reuse Gladiator as a Glimmer Custom Shell inside another Glimmer application, add the
following to the application's
gem 'glimmer-cs-gladiator', '~> 0.5.3'
jruby -S bundle
Env Var Options
Gladiator opens with the current directory as the root by default.
If you would like to open another directory, set
LOCAL_DIR environment variable.
Opens Gladiator with "/Users/User/code" as the root directory.
Gladiator automatically saves configuration data in a
.gladiator file at the directory it is run from.
It currently remembers:
- Last opened file
- Caret position
- Top line position
- Window size
- Opened tabs
- Split tabs
- Ignore Paths
Gladiator repetitively displays a signaling error that is harmless in practice:
The signal HUP is in use by the JVM and will not work correctly on this platform The signal INT is in use by the JVM and will not work correctly on this platform The signal TERM is in use by the JVM and will not work correctly on this platform
Contributing to glimmer-cs-gladiator
- Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
- Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
- Fork the project.
- Start a feature/bugfix branch.
- Commit and push until you are happy with your contribution.
- Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
- Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
Copyright (c) 2020 Andy Maleh. See [LICENSE.txt](LICENSE.txt) for further details.
Built with Glimmer DSL for SWT (JRuby Desktop Development GUI Library)
Gladiator icon made by Freepik from www.flaticon.com
*Note that all licence references and agreements mentioned in the Gladiator (Glimmer Editor) README section above are relevant to that project's source code only.