Skip to content

Releases: xyproto/orbiton

o 2.57.0

16 Oct 19:48
Compare
Choose a tag to compare

Highlights

  • Make it possible to open, edit and save gzip-compressed files with a .gz ending.
  • Add the Synthwave theme (launch o with a sw symlink, launch ko -s or set THEME=synthwave).
  • Add initial support for GDScript (used by Godot).

Other changes

  • Make the color of unmatched parentheses themeable.
  • Handle ReStructuredText differently.
  • Also save when copying text with ctrl-c, since ctrl-c may interrupt the program in some terminal emulators.
  • Make it possible to build *_test.go files with ctrl-space.
  • Highlight static differently for C (and C++).
  • Minor improvements to the BlueEdit theme.
  • Fix the ctrl-~ hotkey for the Linux console.
  • Set up signal handlers in goroutines, for faster startups.
  • Make it possible to trace with fgtrace if the trace build tag is used.
  • Improve the syntax highlighting of old Pascal programs.
  • Let ctrl-i while in debug mode change the behavior of ctrl-space and ctrl-n between "step into" and "step next".
  • Modify the version.sh script to only use sed.
  • Update dependencies.
  • Update documentation.

o 2.56.0

06 Sep 12:55
Compare
Choose a tag to compare

Programming

  • Let iferr on a line by itself insert a context and type-aware if err != nil { return ... } block in Go.
  • Improve syntax highlighting for C, C++, Garnet, Go, Java, OCaml, Python, Rust, shell scripts and Zig.
  • Let Java, Kotlin and Scala output the same .jar filename when compiling.
  • Add initial support for Ivy and GLSL shaders.
  • Use the aosp style when formatting Java code with ctrl-w.
  • Adjust the arguments passed to cargo when building with ctrl-space.

General

  • Also let ctrl-h act as backspace when entering a search term.
  • Add an extra width check for the status bar.
  • Add a handy shortcut for saving a file by pressing three arrow keys in a very rapid succession.
  • Make it easier to toggle in and out lines in config files, like pacman.conf.
  • Don't chmod +x Python scripts, even if they start with a shebang.
  • Do chmod -x makefiles, Markdown files and PKGBUILD files when saving.
  • If globbing for files when opening o, choose to open non-binary files instead of binary files if there is a choice.
  • Improve the initial status message slightly.
  • Reduce the size of the default undo buffer.
  • Update documentation.

Themes

  • Fix an issue with the light theme on a dark background.
  • Select the light theme if the executable or symlink to the executable starts with v.
  • Improve the logic if the executable or symlink to the executable starts with l.
  • Highlight URLs in config files differently.
  • Update the VS theme.

Modernization

  • Require Go 1.18 or later.
  • Remove use of the deprecated ioutil package.
  • Use any and strings.ReplaceAll instead of interface{} and strings.Replace(..., ..., -1).
  • Update dependencies.

o 2.55.1

01 Aug 23:07
Compare
Choose a tag to compare

Fixes

  • Fix the detection for if data is piped in via stdin at start.
  • Fix the man page detection.
  • Fix a race issue that was discovered with the -race flag in Go.

Rendering and performance

  • Redraw after pressing Esc at the ctrl-o menu.
  • Align some struct fields for decreased memory use.
  • Improve the performance of how quickly text is drawn to the screen.

New functionality

  • Make it possible to quickly press any four arrow keys to get the quick prompt where commands can be typed. wq saves and quits. !sort sorts the current block of text with the external program sort (inspired by ViM). External commands will time out after 10 seconds.
  • When o is used for viewing man pages (with MANPAGER=o), then just exit if Esc is pressed.
  • Make it possible to insert a timestamp (and not just the date) via the ctrl-o menu.

The GUI front-end

  • Fix an issue where the editor did not register the correct terminal size at start.
  • Use the default theme on OpenBSD as well.

Themes

  • Improve the Blue Edit theme for dark backgrounds.
  • Minor changes to the Red & Black theme.

Syntax highlighting

  • Improve syntax highlighting for shell scripts.
  • Highlight self when editing Python code.
  • Improve the CMake syntax highlighting.
  • Improve the Markdown syntax highlighting for lists of links.
  • Improve the syntax highlighting for Haskell, OCaml and Standard ML.
  • Improve how multi-line comments are highlighted.
  • Add initial support for syntax highlighting Elm code.

Templates and content detection

  • Add templates for OCaml, Elm and for Go test files (*_test.*).
  • Improve the ViM script detection.

General

  • Improve a couple of the error messages.
  • Update dependencies.
  • Update documentation.

o 2.55.0

24 Jul 12:13
Compare
Choose a tag to compare
  • Fix an issue where echo was not disabled so browsing quickly up or down with the arrow keys or ctrl-n/ctrl-p could make the text jump around.
  • Fix an issue where the GUI frontend ko would launch o and it would detect the wrong terminal size.
  • Fix an issue where ctrl-t would not switch between the source and header files for C and C++.
  • Improve syntax highlighting for Assembly, Shell scripts, Make, C, C++ and git send-email E-mails.
  • Also recognize reStructuredText / .rst files.
  • Add initial support for the Garnet programming language (.gt file extension).
  • Color fatal error messages in red, unless $NO_COLOR is set.
  • Update dependencies.
  • Minor performance improvements.

o 2.54.0

16 Jul 00:32
Compare
Choose a tag to compare
  • Initial support for the Terra programming language.
  • Improve the syntax highlighting for Go.
  • Some refactoring.
  • Several performance improvements.
  • Improve the Blue Edit and VS themes.
  • Expand some tags by default when editing HTML or XML and pressing return (can be disabled in the ctrl-o menu).
  • Add a "Hello, World!" template for R.
  • Don't draw Unicode "mark" characters that disturbs the drawing of text in many terminal emulators.
  • Test with Go 1.19.
  • Update dependencies.

o 2.53.0

26 Jun 23:58
Compare
Choose a tag to compare
  • Fix an issue with commenting out blocks with ctrl-\ at the end of a file.
  • Add support for writing e-mails together with Mutt.
  • Add an e-mail template that includes the full name of the user, if found in ~/.gitconfig.
  • Fix an issue with the word wrap behavior when typing.
  • Improve filename globbing when opening files (open main.go if both main.go and main_test.go exists, and main is given as the argument).
  • Make it possible to specify a custom word wrap width in the ctrl-o menu.
  • Add a "Borland" type theme that works together with terminal emulators that uses a light background. It will be used if a symlink to o starts with b or e.
  • Initial support for Erlang, Prolog and Teal.
  • Update dependencies.
  • Update documentation.

o 2.52.0

12 Jun 20:26
Compare
Choose a tag to compare

The ctrl-o menu

  • Add a menu option for copying all text in the file to the clipboard.
  • Add a menu option for deleting the rest of the contents of the file, from the current line and out.
  • Add a sub-menu for selecting a theme, and make it more consistent.
  • Only show menu options for changing the theme if NO_COLOR is not set to something true.

Building

  • Add compilation with ctrl-space and "jump to error" for the Hare programming language.
  • When compiling Python programs with -m py_compile, use a custom cache directory.
  • Fix the parsing of Python error messages and "jump to error" for Python.

Syntax highlighting

  • Improve the syntax highlighting for Common Lisp, Clojure, Makefiles, Shell scripts, Go and Markdown.
  • Add syntax highlighting for the Hare and Jakt programming languages.
  • Fix an issue where /* in shell scripts would cause the rest of the line to be highlighted as if it was a comment.

Platform support

  • Add Linux + RISC-V to the release.sh script and add the executable to the release page.

Environment variables

  • Support the COLORFGBG environment variable that some terminal emulators will set, for trying to figure out if the background color is light or dark.

Templates

  • Add "Hello, World!" templates for Hare and Jakt.

Debug mode

  • Let a press on Escape end the debug session.
  • Make the display of changed registers slightly smarter, when stepping through instructions with ctrl-n.
  • Show fewer status messages when stepping through instructions.

Startup

  • Fix issue #7, where o would read from stdin by default, and at least one user found the behavior unintuitive enough to consider o to be broken. (Thanks for the bug report!) - can still be used as the filename to let o read from stdin.

General

  • Update dependencies.
  • Update documentation.

o 2.51.0

06 May 20:08
Compare
Choose a tag to compare

Loading and saving

  • Improve the file type detection for files that are just one long line.
  • Handle data from stdin in a better way, when o starts.

Signal handling

  • Only set up signal handling in one place.

Look and feel

  • Add terminal background detection, for some terminals.
  • Minor changes to the red/black theme.
  • Improve the Go and Java syntax highlighting.

Debug mode for C, C++, Assembly and Rust programs

  • Let ctrl-space step through a program.
  • Let ctrl-n step to the next instruction.
  • Letctrl-f step out ("finish" in gdb).
  • Add support for displaying the next assembly instruction when stepping with ctrl-n.
  • Handle narrow terminal emulator windows better.
  • Add a pane that can display the standard output changes, when stepping through programs.
  • Add symbol de-mangling for Rust and C++.
  • Detect when gdb has stopped running.
  • Let ctrl-r continue to run a program.
  • Let ctrl-p change the pane layout.
  • Display flags (zero flag, carry flag etc) in a corner of the screen when stepping through code.

Refactoring

  • Remove unused functions.
  • Follow the advice of the fieldalignment utility.
  • Simplify some code.

GUI frontend

  • React to an event when the window changes size

Release process

  • Don't use upx, for now.

Various

  • Update dependencies.
  • Update documentation.

o 2.50.0

08 Apr 16:40
Compare
Choose a tag to compare

Loading and saving

  • Add binary/text detection, using the new binary package.
  • If ctrl-s is pressed when editing a binary file, make sure to only save if there are changes.
  • If a filename starts with ~, expand it before loading the file.

GUI frontend

  • In ko, bind F10 to ctrl-o instead of ctrl-q, to prevent accidental quitting without saving.

Debug mode for C programs

  • Let ctrl-space step to the next line.
  • Add a variable watch pane in the upper right, and the possibility to add watches with ctrl-w.
  • Add a pane in the lower right that displays the last changed registers.
  • ctrl-r can be used to also see registers with lengthy values.

Release process

  • Create releases for more platforms, and use machine names that are the same types as uname -m uses.

Various

  • Update documentation.
  • Update dependencies.

o 2.49.1

05 Apr 14:17
Compare
Choose a tag to compare
  • Fix a file type detection issue when viewing man pages.
  • Add releases for more platforms, and make it clearer which platforms they are for.