Releases: xyproto/orbiton
Releases · xyproto/orbiton
o 2.57.0
Highlights
- Make it possible to open, edit and save gzip-compressed files with a
.gz
ending. - Add the Synthwave theme (launch
o
with asw
symlink, launchko -s
or setTHEME=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
, sincectrl-c
may interrupt the program in some terminal emulators. - Make it possible to build
*_test.go
files withctrl-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 thetrace
build tag is used. - Improve the syntax highlighting of old Pascal programs.
- Let
ctrl-i
while in debug mode change the behavior ofctrl-space
andctrl-n
between "step into" and "step next". - Modify the
version.sh
script to only usesed
. - Update dependencies.
- Update documentation.
o 2.56.0
Programming
- Let
iferr
on a line by itself insert a context and type-awareif 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 withctrl-w
. - Adjust the arguments passed to
cargo
when building withctrl-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
andstrings.ReplaceAll
instead ofinterface{}
andstrings.Replace(..., ..., -1)
. - Update dependencies.
o 2.55.1
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 programsort
(inspired by ViM). External commands will time out after 10 seconds. - When
o
is used for viewing man pages (withMANPAGER=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
- 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 launcho
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
- 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
- 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 bothmain.go
andmain_test.go
exists, andmain
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 withb
ore
. - Initial support for Erlang, Prolog and Teal.
- Update dependencies.
- Update documentation.
o 2.52.0
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 considero
to be broken. (Thanks for the bug report!)-
can still be used as the filename to leto
read from stdin.
General
- Update dependencies.
- Update documentation.
o 2.51.0
Loading and saving
- Improve the file type detection for files that are just one long line.
- Handle data from
stdin
in a better way, wheno
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. - Let
ctrl-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
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
, bindF10
toctrl-o
instead ofctrl-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.