Releases: xyproto/orbiton
Releases · xyproto/orbiton
Orbiton 2.68.2
Fixes
- When editing Nroff, let
ctrl-space
toggle the man page preview properly. - Let the bookmark functionality display status bar messages again, when
ctrl-b
is pressed. - Fix a bug in the
vt100
dependency in connection with pasting in text withshift-insert
.
New features
- Add built-in support for formatting Go/Plan9 style Assembly by pressing
ctrl-w
by using the asmfmt and lookslikegoasm packages. (Thanks @klauspost!) - Add tab completion with Ollama/LLMs, if the
-o
or--ollama
flag is given. This is an experimental feature! - Let
ctrl-o,b
trigger block editing. - Let
ctrl-o,space
open the command prompt.
Improvements
- Improve how format commands are looked up, for various programming languages.
- Improve the C function signature detection.
- Improve the "go to definition" feature (activated by pressing
ctrl-g
over a symbol). - Show the progress indicator after jumping with
ctrl-l
. - Simplify the man page syntax highlighting code a bit.
- Add usage help for the Pico/Nano mode flag (
-e
or--nano
).
General
- Confirm that Orbiton passes the "Moby Dick Workout", and document it in the
README.md
file. - Update documentation.
- Update dependencies.
- Some refactoring.
2.68.1
Orbiton 2.68.0
Performance improvements
- Improve the performance when scrolling.
- Disable/enable the cursor less often when redrawing the text of the editor.
- Just check once if the parent process is
man
when needed, not at every editor start. - Seldom allocate memory when rendering and highlighting text.
Fixes
- Use atomic bools to fix a race condition.
- Improve how signal handlers are cleared and set up.
- Adjust the logic for when the undo buffer is full.
- Fix the file monitoring mode (the
-m
flag).
Look and feel
- Highlight the current line when moving up and down with the arrow keys.
- Improve a status message for the Nano/Pico compatibility mode.
- Remove
Toggle status bar
from thectrl-o
menu, but add aToggle block editing
option. - Stop
ctrl-g
from toggling multiline/block editing. - Let
ctrl-g
toggle the status bar if no definition is found (like it was before). - Let
ctrl-space
toggle between Nroff and Man page mode (experimental feature). - Also support
home
,end
,pgup
,pgdown
andctrl-insert
(as an "undocumented feature"). - Let
ctrl-g
also try to jump to a matching parenthesis or bracket (only for characters currently on screen, for now). - Make the
pacman
spinner just a bit nicer.
Syntax highlighting
- Initial support for Nmap scripts.
- Improve single line comment syntax highlighting in Elm.
- Improve syntax highlighting for configuration files.
- Improve syntax highlighting for C.
Programming related
- Let the name of the function the cursor currently is in appear in the upper right corner for ~2 seconds (very handy when navigating lengthy functions).
- Adjust the package building command for when
ctrl-space
is pressed in aPKGBUILD
file.
Themes
- Do not try to set a theme if
NO_COLOR=1
is specified. - Add a new theme named Orb.
- Add a new theme named Pinetree.
- Improve themes so that they work better on light backgrounds (such as default xterm).
- Adjust the
synthwave
theme. - Adjust the
blueedit
theme.
General
- Update documentation.
- Update dependencies.
- Refactor.
- Remove unused functions.
- Follow the advice of
go vet
,staticcheck
andbetteralign
. - Update test files.
Orbiton 2.67.1
- Recuce the executable size by around 20%.
- Let
Esc
also cancel block edit mode. - Make it possible to build Makefiles with
ctrl-space
. - Disable the initial tutorial screen when on Android, to make it easier to operate in Termux.
- Add a template for
.gitignore
and.ignore
files (for whenctrl-w
is pressed in an empty file). - Remove support for using Guessica (archived) for
PKGBUILD
andAPKBUILD
files (for finding the latest release version). Arch now has a different system for tracking new releases, and LLMs are also becoming more capable for this purpose. - Update documentation.
- Update the tutorial.
- Update dependencies.
Orbiton 2.67.0
Performance
- Let platform checks be defined as constants at compile time.
- Cache checks for if executables exists in
PATH
. - Update the
default.pgo
file (used for profile guided optimization).
Programming and Markdown
- Remove a check for if Go code is valid while typing.
- Improve syntax highlighting for Scheme.
- Also support the default indentation of
go.mod
files. - Improve the detection of JSON content for files without a
.json
extension. - Fix an issue where formatting Markdown documents with
ctrl-w
would misinterpret---
-style headlines as tables. - Add a template for the C3 programming language.
Block editing
- Show an informative status bar when toggling block edit mode with
ctrl-g
. - Let
ctrl-d
andbackspace
also work in block edit mode.
Arch Linux
- Let
ctrl-space
when editingPKGBUILD
files not launch a terminal emulator but simply start building and replace the current process with an exec syscall. - Do not
chmod +x
shell scripts with the.install
extension.
Look and feel
- Adjust the color of the max column indicator.
- Improve the wording and ordering in the
ctrl-o
menu. - Add a menu option for the max column indicator.
- Improve two error messages.
- Update the spinner animation.
General
- Compile the release files with Go 1.23.0, which is the latest version.
- Showcase one of the light themes in the
README.md
file by adding a screenshot. - Update the built-in tutorial.
- Update CI configuration.
- Update dependencies.
Orbiton 2.66.0
UX
- When the status line is enabled AND a maximum column width is specified, the column limit is indicated with
|
characters, behind the text. ctrl-g
can now toggle "block mode" where multiple lines can be edited at once (this is an experimental feature).- Replace the "Insert time" menu choice with a "Toggle status line" menu choice.
AI
- Remove support for "fix as you type" and inserting generated text with OpenAI / GPT3. Initial support for Gemini is in the
gemini
branch, but the whole interaction with AI /LLMs was not as useful as I thought. Perhaps a future menu option for fixing bugs would be more useful.
Performance and size improvements
- Noticeably faster rendering, due to improvements in the
github.com/xyproto/vt100
package. - Much smaller executable (12 MiB vs 24 MiB) due to the temporary removal of AI-support.
- Update the default profile guided optimization file.
- Let some string variables be constants.
- Detect the current platform at build-time rather than at run-time.
Editing Markdown
- Let
ctrl-w
in a Markdown file attempt to sort all tables in the document, when the cursor is not over a specific table.
Programming language and file support
- Better handling of tabs and spaces when saving Makefiles.
- Recognize more GLSL shader types.
- When pressing
ctrl-w
in an empty Python file named__init__.py
, leave it empty and don't insert a Python template.
Building and testing
- Make it possible to run tests when
ctrl-space
is pressed in a Go file with a_test.go
suffix. - Add initial support for the C3 programming language, including "jump to error" when
ctrl-space
is pressed. - Make it possible to compile some GLSL shaders to SPIR-V by pressing
ctrl-space
.
Man page related
- Let the
space
key scroll down when viewing man pages. - Also make it possible to quit with
q
when viewing man pages.
Syntax highlighting
- Add initial syntax highlighting for the C3 programming language.
- Improve syntax highlighting for Python.
- Improve syntax highlighting for Hare.
Build-related
- Revert a
.PHONY
-related change to theMakefile
. - Remove
--sort-common
from the default Arch LinuxLDFLAGS
in theMakefile
.
Various changes
- Minor improvements, as suggested by
staticcheck
. - Update the URL to the web page.
- Update dependencies.
- Update documentation.
- Performance improvements.
Orbiton 2.65.12
New features
- Copy to the clipboard if the executable starts with
c
. For example, if/usr/local/bin/copyfile
is a symlink to/usr/local/bin/o
, thencopyfile somefile.txt
will copy that file into the clipboard. - Paste the clipboard into a file if the executable starts with
p
. For example, if/usr/local/bin/pastefile
is a symlink to/usr/local/bin/o
, thenpastefile somefile.txt
will paste the contents of the clipboard into that file.pastefile -f
can be used if the file already exists and should be overwritten.
Fixes
- Fix an issue that could happen if the terminal was resized, while signals were sent, and while the user was hammering the
Esc
button.
Improvements
- Adjust the placement of a menu item in the
ctrl-o
menu, when editing HTML or XML. - Move the cursor to the start of the first line when sorting a block of lines.
- Do not try to expand XML and HTML tags by default. This can be enabled in the
ctrl-o
menu. - Skip the status message if
SIGTERM
is received. - Better syntax highlighting when editing Dockerfiles.
- Temporarily remove the HTML formatting feature since it could not handle JS within HTML and was annoying.
- Modify how
ctrl-a
andctrl-e
behaves if a macro is being replayed.
Various
- Build the release binaries with Go 1.22.4.
- Minor changes to the
Makefile
. - Minor changes to the GTK-3 front-end.
- Update documentation.
- Update dependencies.
Orbiton 2.65.11
- Fix an issue with a mutex when redrawing, in connection with signals and
ctrl-c
. - Make
ctrl-k
a bit faster, when removing lines or deleting to the end of the current line. - Add initial support for CSS.
- Update dependencies.
- Update documentation.
Orbiton 2.65.10
- Add a file that was missing from the vendored dependencies.
Orbiton 2.65.9
Improvements
- Disregard copy/paste portals that are older than 25 minutes when starting
o
. - Improve the status message when copying lines to the clipboard.
- Improve the text/binary detection to also support UTF-16.
- Improve how signals are handled.
Language support
- Respect
#
as the single line comment marker for R and Ruby. - Add initial support for Objective-C.
- Switch from
autopep8
toblack
as the tool used to format Python code whenctrl-w
is pressed. - Adjust the
ktlint
parameters (for formatting Kotlin).
Syntax highlighting
- Minor improvements to the JavaScript syntax highlighting.
- Minor improvements to the C syntax highlighting.
Various
- Improve the OpenBSD, FreeBSD and NetBSD support.
- Update documentation.
- Update dependencies.