Releases: xyproto/orbiton
Releases · xyproto/orbiton
Orbiton 2.73.1
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
-mflag) 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-omenu 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-omenu. - When trying to open a binary file from the file browser, don't pop up a window, but require
returnto 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-wif the current file is empty.
New features
- Add
File browserto thectrl-omenu. - Add
Remount / as rwto thectrl-omenu, that will only show up when running asroot(UID 0), for ie. running asinit=/usr/bin/o singlefrom GRUB.
Removals
- Remove the
-B/--batflag, because users can easily usebat filename; o -c filenameinstead ofo --bat -c filename(and it's not very useful to have a flag just to run an external utility).
Testing
- Add VHS
.tapefiles for several programming languages and the resulting.gifrecordings to theREADME.mdfile.
General
- Update documentation.
- Update dependencies.
Orbiton 2.73.0
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 ofcxx). - Fix syntax highlighting for HTML and XML comments.
- If the cursor is in a specific test function in a
*_test.gofile, then only run that specific test when 2xctrl-spaceis 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 -nto check the syntax by pressingctrl-spaceand run bash scripts by pressingctrl-spacetwice. - Fix the feature where
ctrl-spacecan be pressed twice to run Odin programs. - Fix function description and tab completion behavior when
-ois 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
ABCandLilypondfiles. - Improve the tabs/spaces detection.
UX
- Check that the given argument is not a directory before globbing for files.
- Running just
owill now try to open "the main file" of the directory, if possible, before asking the user to specify a filename. - Let a symlink named
obuildto theoexecutable be equivalent to using the-bflag (for building with Orchideous). - Adjust the available
ctrl-omenu options when running undervscode. - When opening the editor from the file browser: let
ctrl-n/ctrl-pgo to next/prev file until the arrow keys have been pressed >=3x. - Let the
ctrl-n/ctrl-pmenu 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
Makefilefor OpenBSD and NetBSD. - Let
O_THEME=defaultoverride theredblacktheme on OpenBSD.
Testing
- Add several CI tests.
- Add a
recdirectory with VHS-compatible.tapefiles, for testing Orbiton and also generate.gifrecordings.
General
- Several minor fixes and improvements.
- Minor performance improvements.
- Some refactoring.
- Update dependencies.
- Update documentation.
Orbiton 2.72.1
Fixes
- Fix an abrupt exit that could happen when Orbiton (GTK3) was quitting.
- Fix how text is displayed if the
-oor--ollamaflag is given and functions are described or error messages are explained. - Release the Windows executable with an
.exeextension.
Look and feel
- Improve the text contrast for the function description text box.
- Make the file browser not use any colors when
NO_COLOR=1is set. - Use
*instead of¤when rendering text forTERM=vt220.
New features
ctrl-rin the file browser can now be used to rename files.ctrl-win 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
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/--ollamaflag is given and a program is compiled withctrl-space.
Fixes
- Let
ctrl-nandctrl-pmove 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/--ollamais 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
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
inkeyword and also Python-like list comprehension is expanded to Go code whenreturnis 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
-uor--upsiedisplay a brief and colorful combination ofunameanduptime.
Look and feel
- Let the "current function name" label in the top right be themeable.
File browser
- Make it so that
backspacewill 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 /tmpand then pressctrl-nandctrl-pwill cycle through the directories. - Make it so that opening a file with
returnand then pressingctrl-norctrl-pto go to the next/prev file in the same directory. - Make it possible to delete files with the
Delkey orctrl-d, and then undo the operation withctrl-zorctrl-ulater 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-wis 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,betteralignanddeadcode. - Improve the Makefile for Linux + aarch64.
- Update CI configuration.
- Update dependencies.
- Update documentation.
Orbiton 2.70.5
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
.gzfiles to the clipboard witho -c examplefile.txt.gz, and to paste and compress the clipboard contents to a file witho -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
New features
- Press
ctrl-cthrice 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
visudoreplacement, ifois started asosudoorvisudovia a symlink.
Fixes
- Fix a check for if the executable or symlink starts with
forg. - 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
goplstab completion, for Go. - Describe the function the cursor is over if the
-o/--ollamaflag is given. - Remove the use of the scons-based
cxxtool, for now. - Add initial support for the Flap programming language.
- Improve syntax highlighting for Go.
UX
- Also let
ctrl-cexit 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-gtoggle 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-omenu 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-omenu when running under VSCode, in the terminal window. - Improve the Teal theme a bit.
Performance related
- Some VT100 related performance improvements.
- Building with
GOEXPERIMENT=greenteagcby 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
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
-zflag 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
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-kis held down. - Move lines up and down with
ctrl-pandctrl-nifMove lines with ctrl-n and ctrl-phave been enabled from thectrl-omenu.
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-spaceis pressed. - Also let
ctrl-cstop background processes. - Update the build command for Java so that it works on macOS as well.
- Improve the
.gitignoretemplate.
Files and flags
- When opening a directory that contains a single file, open that file instead of displaying an error.
- Add a
--glob/-gflag for searching for a substring of a filename and then opening the first match. - When including
include.txtfrom thectrl-omenu, 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
~/.cacheand~/.configif 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/-sflags are now for displaying digraphs, while the--glob/-gflags are for searching for files. This changes the meaning of-gfrom "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-omenu a bit shorter when running in the VSCode terminal. - Update documentation.
- Update dependencies.
Code quality
- Follow the advice of the
betteralignutility, for aligning structs. - Follow the advice of the
deadcodeutility, 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
Fixes
- Fix an issue with the
ctrl-ghelp 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
Whichin 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
.gitignoretemplate.
Various
- Change the highlight color for the Pinetree theme.
- Update documentation.
- Update dependencies.