Skip to content

Releases: xyproto/orbiton

Orbiton 2.73.1

24 Mar 17:08

Choose a tag to compare

Fixes

  • Improve signal handling when the terminal is resized.
  • Improve cursor and redraw behavior.
  • Make it possible to undo after "word wrap".
  • Fix the built-in file browser so that it can also follow relative directory symlinks.
  • Fix how the editor behaves under screen / tmux.
  • Skip quoting so that $(o -l) can more often be used (for running ie. the last build command).
  • Fix the monitoring feature (the -m flag) so that it handles more filesystem events.

Look and feel

  • Right trim lines of text when viewing man pages.
  • When editing an empty file, hide the ctrl-o menu options that does not apply.
  • Improve the built-in file browser.
  • Make it possible to quit back to the editor after having launched the built-in game with the Konami code from the ctrl-o menu.
  • When trying to open a binary file from the file browser, don't pop up a window, but require return to be pressed twice, with a color change.
  • Update a status message.

Programming related

  • Improve syntax highlighting for shell scripts.
  • Improve syntax highlighting for Nix.
  • Improve syntax highlighting for Sway configuration files.
  • Add support for Tab completing Odin code using ols (the Odin Language Server).
  • Improve the debug support for several programming languages.
  • Improve the debug support for macOS.
  • Improve the executable filename selection and detection.
  • Improve function name detection.
  • Add a COBOL template that can be inserted with ctrl-w if the current file is empty.

New features

  • Add File browser to the ctrl-o menu.
  • Add Remount / as rw to the ctrl-o menu, that will only show up when running as root (UID 0), for ie. running as init=/usr/bin/o single from GRUB.

Removals

  • Remove the -B / --bat flag, because users can easily use bat filename; o -c filename instead of o --bat -c filename (and it's not very useful to have a flag just to run an external utility).

Testing

  • Add VHS .tape files for several programming languages and the resulting .gif recordings to the README.md file.

General

  • Update documentation.
  • Update dependencies.

Orbiton 2.73.0

03 Mar 17:26

Choose a tag to compare

Main improvements

  • Fix how Orbiton behaves under Tmux and Screen.
  • Fix how Orbiton behaves on the Linux console.
  • Fix how wide characters are handled.
  • Fix the OpenBSD support.
  • Fix the man page syntax highlighting (for when viewing man pages with MANPAGER=o).

Programming and file support

  • Instead of building C and C++ with cxx (if available), build by using the Orchideous package (a Go port of cxx).
  • Fix syntax highlighting for HTML and XML comments.
  • If the cursor is in a specific test function in a *_test.go file, then only run that specific test when 2x ctrl-space is pressed.
  • Improve support for Gleam, Haskell, Ruby, Scheme/Guile, Lua, OCaml, Perl and Go-style Assembly.
  • Improve the logic for when Tab completion should insert an opening parenthesis or not.
  • Improve the debugger.
  • Add initial and experimental support for Delve.
  • Fix a bug when handling Go errors.
  • Fix a typo ("goimport" vs "goimports").
  • Improve syntax highlighting.
  • Add experimental support for running bash -n to check the syntax by pressing ctrl-space and run bash scripts by pressing ctrl-space twice.
  • Fix the feature where ctrl-space can be pressed twice to run Odin programs.
  • Fix function description and tab completion behavior when -o is given.
  • Use a different Lua formatter.
  • Add a template for Bash.
  • Improve the Zig and Python templates.
  • Also ignore Emacs temp files (#*#) in the template for .gitignore.
  • Improve support for Alpine APKBUILD files.
  • Minor improvements for running ABC and Lilypond files.
  • Improve the tabs/spaces detection.

UX

  • Check that the given argument is not a directory before globbing for files.
  • Running just o will now try to open "the main file" of the directory, if possible, before asking the user to specify a filename.
  • Let a symlink named obuild to the o executable be equivalent to using the -b flag (for building with Orchideous).
  • Adjust the available ctrl-o menu options when running under vscode.
  • When opening the editor from the file browser: let ctrl-n/ctrl-p go to next/prev file until the arrow keys have been pressed >=3x.
  • Let the ctrl-n/ctrl-p menu option disable going to the next/prev file.
  • Improve redraw and cursor behavior.

Platform support

  • Improve how unicode characters are drawn for terminals that do not support unicode (ie. vt220).
  • Only require Go 1.24 for building, instead of Go 1.25 or 1.26.
  • Fix the man page viewer behavior for OpenBSD, FreeBSD and NetBSD.
  • Add better support for BSD process checking.
  • Improve the Makefile for OpenBSD and NetBSD.
  • Let O_THEME=default override the redblack theme on OpenBSD.

Testing

  • Add several CI tests.
  • Add a rec directory with VHS-compatible .tape files, for testing Orbiton and also generate .gif recordings.

General

  • Several minor fixes and improvements.
  • Minor performance improvements.
  • Some refactoring.
  • Update dependencies.
  • Update documentation.

Orbiton 2.72.1

18 Feb 16:28

Choose a tag to compare

Fixes

  • Fix an abrupt exit that could happen when Orbiton (GTK3) was quitting.
  • Fix how text is displayed if the -o or --ollama flag is given and functions are described or error messages are explained.
  • Release the Windows executable with an .exe extension.

Look and feel

  • Improve the text contrast for the function description text box.
  • Make the file browser not use any colors when NO_COLOR=1 is set.
  • Use * instead of ¤ when rendering text for TERM=vt220.

New features

  • ctrl-r in the file browser can now be used to rename files.
  • ctrl-w in the file browser can be used to find "the real path" (follow symlinks).

Code quality

  • Modernize the code with go fix.

General

  • Update dependencies.
  • Update documentation.

Orbiton 2.72.0

17 Feb 17:09

Choose a tag to compare

Platform support

  • Add support for OpenBSD.
  • Add back support for FreeBSD and NetBSD.
  • Add experimental support for Windows (tested in "Git Bash").

New features

  • Try to explain the error if the -o/--ollama flag is given and a program is compiled with ctrl-space.

Fixes

  • Let ctrl-n and ctrl-p move lines up and down if that option has been selected from the menu, even if the editor has been launched from the file browser.

Look and feel

  • If -o/--ollama is given, use smarter placement for the function description text box.
  • When opening a directory that contains a single file, only open that file automatically if it's not a binary file.

General

  • Update documentation.
  • Update dependencies.

Orbiton 2.71.0

12 Feb 13:29

Choose a tag to compare

Fixes and improvements

  • Improve the undo system wrt. copying and mutexes.
  • Improve the support for the Linux console.
  • Improve the cross platform support.
  • Improve the middle-click pasting.
  • Improve the binary file detection.
  • Improve the man page rendering.
  • Fix a bug in the little built-in game.

Performance

  • Optimize how files are loaded.
  • Compile with Go 1.26.

Programming

  • Add auto-expansions for Go, so that the in keyword and also Python-like list comprehension is expanded to Go code when return is pressed.
  • Improve syntax highlighting for configuration files, GDScript, Go, Rust, C, C++, Haskell, Kotlin, JavaScript and TypeScript.
  • Add experimental Tab completion / LSP support for: Go, Rust, Zig, C, C++ and Python.

New features

  • Let -u or --upsie display a brief and colorful combination of uname and uptime.

Look and feel

  • Let the "current function name" label in the top right be themeable.

File browser

  • Make it so that backspace will go to the parent directory, or go out from within a recently opened file.
  • Make it so that opening several directories with ie. o ~/clones/project1 ~/clones/project2 /tmp and then press ctrl-n and ctrl-p will cycle through the directories.
  • Make it so that opening a file with return and then pressing ctrl-n or ctrl-p to go to the next/prev file in the same directory.
  • Make it possible to delete files with the Del key or ctrl-d, and then undo the operation with ctrl-z or ctrl-u later on (also accross restarts). The files are moved to a "trash" directory, typically ~/.Trash (XDG defined).
  • Fix an issue with opening a file in a directory where it is the only file, where syntax highlighting was not enabled.

Templates

  • When ctrl-w is used in an empty file and the filename ends with _test.go, auto-detect and use the current package name.
  • Update the Zig template so that it works with the latest version of the Zig compiler.

General

  • Update tests.
  • Improve the code by using: golint, staticcheck, betteralign and deadcode.
  • Improve the Makefile for Linux + aarch64.
  • Update CI configuration.
  • Update dependencies.
  • Update documentation.

Orbiton 2.70.5

28 Dec 18:06

Choose a tag to compare

New features

  • Launch a file browser if a directory name is given at start, such as: o .
  • Make it possible to press / to search, when viewing man pages.
  • Make it possible to copy the decompressed contents of .gz files to the clipboard with o -c examplefile.txt.gz, and to paste and compress the clipboard contents to a file with o -p examplefile.txt.gz.

Programming related

  • Improve function signature detection for JavaScript.
  • Improve syntax highlighting for C and Go.
  • Add experimental support for "jump to definition" in C, using ctrl-g.
  • Add initial support for COBOL, Dingo, C67 and Perl.

Fixes

  • Handle allow left and right when typing in text to search for in a file (after pressing ctrl-f).

Look and feel

  • Theme the right hand side progress indicator.
  • Adjust the Zulu theme.

Build & Install

  • Require Go 1.25.3 or later to build.
  • Remove several symlink commands from the Makefile

Various

  • Update documentation.
  • Update dependencies.
  • Update CI configuration.

Orbiton 2.70.4

13 Nov 12:21

Choose a tag to compare

New features

  • Press ctrl-c thrice to copy the current function to the clipboard.
  • Add support for displaying images in the QOI image format.
  • Add a new theme, the Zulu theme (now my favorite theme).
  • Implement a visudo replacement, if o is started as osudo or visudo via a symlink.

Fixes

  • Fix a check for if the executable or symlink starts with f or g.
  • Fix the StandardML template cursor placement.
  • Fix the distance function that is used in the built-in game.
  • Fix typos in comments.
  • Fix a typo in the tutorial.
  • Stop the debug info from disappearing.
  • Fix syntax highlighting of numbers when viewing man pages.

Programming related

  • Add function name detection for Makefiles.
  • Improve syntax highlighting for Makefiles.
  • Improve syntax highlighting and function name detection for Nim.
  • Add initial support for Chuck, SuperCollider and POV-Ray.
  • Improve syntax highlighting for shell scripts.
  • Improve function name detection for Zig.
  • Improve function name detection for C and C++.
  • Improve function name detection in general.
  • Add "jump to include" with ctrl-g. It will try to jump to definitions first, then to includes, then back, in that order.
  • Add initial support for Gleam.
  • Remove Ollama-based tab completion.
  • Add experimental gopls tab completion, for Go.
  • Describe the function the cursor is over if the -o/--ollama flag is given.
  • Remove the use of the scons-based cxx tool, for now.
  • Add initial support for the Flap programming language.
  • Improve syntax highlighting for Go.

UX

  • Also let ctrl-c exit the image viewer.
  • Add an error message if Orbiton is ran on Windows, since the keyboard handling is not Windows-friendly yet.
  • When copying a file to the clipboard, show one less tail byte.
  • Add support for PgUp, PgDn, Home and End in the Markdown table editor.
  • Let ctrl-g toggle the info bar only when the cursor is before a line of text, when programming.
  • Improve some status messages.
  • Highlight < and > differently.
  • Make the ctrl-o menu title just a bit smarter.
  • Improve themes for dark and light backgrounds slightly.
  • Make sure the progress indicator is shown, for all themes.
  • Show fewer menu items in the ctrl-o menu when running under VSCode, in the terminal window.
  • Improve the Teal theme a bit.

Performance related

  • Some VT100 related performance improvements.
  • Building with GOEXPERIMENT=greenteagc by default, for a tiny performance improvement.
  • Pre-allocate some slices, for performance.
  • Use replacers for syntax highlighting.

Code quality

  • Refactor some of the code.
  • Remove unused functions.
  • Copy the Canvas struct without also copying the mutex.
  • Improve a Copy function so that the mutex is not copied.
  • Use a switch instead of an if-else in one place.
  • Adjust how Markdown checkboxes are toggled.

General

  • Improve the fstab formatting.
  • Improve behavior when opening partial filenames.
  • Update documentation.
  • Update dependencies.

Orbiton 2.70.0

09 Jun 12:27

Choose a tag to compare

New features

  • Support piping to stdin and copying the text to the clipboard with -c. For example: grep substring filename | o -c

Programming languages

  • Improve the function name detection for both Java and Kotlin.
  • Add experimental support for Nix and Beef.
  • Improve syntax highlighting for configuration files.

Flags

  • Add a -z flag for not displaying the "quick help" box.

Look and feel

  • Make the "quick help" box just a bit wider.
  • Improve lock-related messages.
  • Display a status message when macro recording starts.
  • Display undo-related status messages in a smoother way.

Various

  • Add a check for not trying to lock - or /dev/* files.
  • Improve temp file handling when exporting to .adoc.
  • Use a mutex in the RedrawAtEndOfLoop function.
  • Let the undo system be a bit smarter and use less memory.
  • Save and load lockfiles concurrently.

General

  • Update CI configuration.
  • Update documentation.
  • Update dependencies.
  • Minor performance improvements.
  • Some refactoring.

Orbiton 2.69.0

30 Apr 15:52

Choose a tag to compare

Editing and code navigation

  • Moving to the right at the end of the last line now scrolls down.
  • Move the cursor faster at an increasing rate if an arrow key is held down for a little while.
  • Delete lines faster if ctrl-k is held down.
  • Move lines up and down with ctrl-p and ctrl-n if Move lines with ctrl-n and ctrl-p have been enabled from the ctrl-o menu.

Programming

  • Add function name detection for Java, so that the name of the method the cursor is in is displayed in the upper right corner.
  • Initial support for Python/Flask applications.
  • Open Flask applications in a browser when running them.
  • When running a program with 2x ctrl-space, strip away terminal escape codes when displaying the output.
  • Stop previously launched processes that are already running when ctrl-space is pressed.
  • Also let ctrl-c stop background processes.
  • Update the build command for Java so that it works on macOS as well.
  • Improve the .gitignore template.

Files and flags

  • When opening a directory that contains a single file, open that file instead of displaying an error.
  • Add a --glob / -g flag for searching for a substring of a filename and then opening the first match.
  • When including include.txt from the ctrl-o menu, and it does not exist in the same directory as the file that is being edited, but it exists in the current directory, then include the one in the current directory.
  • Create ~/.cache and ~/.config if they are missing.

Copy and paste

  • Make sure there is a final newline in place when pasting non-binary data to a file with o -p.
  • Use colors for the copy/paste status output on the command line.

Themes and syntax highlighting

  • Improve syntax highlighting of multiline strings.
  • Improve syntax highlighting of binary files.
  • Improve syntax highlighting of Makefiles.
  • Improve the Orb theme, for better contrast.
  • Improve the Litmus theme.
  • Improve the Pinetree theme.
  • Exiting the editor now clears any non-default background color that have been in use.

Breaking changes

  • The --digraph / -s flags are now for displaying digraphs, while the --glob / -g flags are for searching for files. This changes the meaning of -g from "digraph" to "glob".

Various

  • Also save relevant environment variables when saving a command (the last command can be seen with o -l).
  • Make the ctrl-o menu a bit shorter when running in the VSCode terminal.
  • Update documentation.
  • Update dependencies.

Code quality

  • Follow the advice of the betteralign utility, for aligning structs.
  • Follow the advice of the deadcode utility, for removing unused code.
  • Make the code slightly more idiomatic.
  • Simplify some functions.
  • Remove some temporary variables.
  • Refactor some of the code.

Orbiton 2.68.9

06 Mar 15:13

Choose a tag to compare

Fixes

  • Fix an issue with the ctrl-g help text in Nano/Pico mode disappearing too quickly.
  • Fix an issue where text would "shake" a little bit when moving up and down in the Linux console (not under X11 or Wayland).

Performance improvements

  • Hide the cursor when redrawing all the text.
  • Cache the result of Which in a couple of places.

Programming related

  • Make it possible to syntax check and run single Clojure source files with 2x ctrl-space.
  • Improve syntax highlighting and function name detection for Kotlin.
  • Improve the default .gitignore template.

Various

  • Change the highlight color for the Pinetree theme.
  • Update documentation.
  • Update dependencies.