Releases: xyproto/orbiton
Releases · xyproto/orbiton
Orbiton 2.62.8
Fixes
- Fix an issue in github.com/xyproto/vt100 that could disturb the colors when code was being syntax highlighted.
New features
- Press
ctrl-g
to "jump to definition" andctrl-t
to jump back. If there is nowhere to jump,ctrl-g
andctrl-t
will toggle the status bar or record a macro, respectively, as before. This has only been tested on Go source code, and is an experimental feature.
Performance improvements
- Revert back to use
os.ReadFile
instead of the custom implementation that did not callos.Stat
(asos.ReadFile
does). The performance improvements for the custom way of reading files only applied to some filesystems and setups (XFS + NVMe).
Changes to the VTE/GUI application
- Add
Orbiton Light
and anOrbiton Dark
menu entries (.desktop
files). - Fix an issue where
Orbiton Light
would open read-only files with a dark background instead of a light one.
Other changes
- Minor changes to the
ctrl-g
status bar information layout. - Show
Exit without saving
as the last menu option for thectrl-o
menu, except if the parent process isag
,find
orrg
, in which caseKill parent and exit without saving
is offered instead. This combines well with this bash function:fo() { find . -type f -wholename "*$1" -exec o {} $2 \;; }
This release has been compiled with Go 1.20.6.
Orbiton 2.62.7
New language support
- Initial support for Alpine APKBUILD files.
- Initial support for Dart, including "jump to error" and also formatting with
ctrl-w
. - Initial support for Just and justfiles.
Performance improvements
- Minor performance improvements to
vt100
andtextoutput
, which improves the performance of the "happy path" and also optimizes the most time consuming functions, as reported bygo tool pprof
. - Improve the performance when reading files that are of a typical size for source code and Markdown documents, by using a 1024 byte buffer and also avoiding calling
os.Stat
. Related graph, where the X-axis is for approximately how large the files that are being read are (take1024
is the one that uses 1024-byte buffers when reading):
Various
- Avoid saving some filenames in
/tmp
and also-
to the location history. - Minor changes to how commemorative images for new highscores from the little included easter-egg game are saved.
- Update dependencies.
- Update documentation.
Orbiton 2.62.6
Features and improvements
- Add initial support for building Scala Native projects.
- Enable the feature that adds missing parenthesis, for Scala as well.
- Add releases for FreeBSD and NetBSD (for 32-bit x86).
- Improve the performance of the function that fetches lines and the function that right trims lines.
- Fix an issue that could happen in rare cases when editing code.
- Improve error messages.
- Improve the help output.
- Update the documentation.
Code quality and profiling
- Improve a few instances where code did nothing (
ineffassign
). - Fix the CPU profiling (when building with
make trace
and running with./o -cpuprofile cpu.pprof somefile.txt
and then analyzing the file withgo tool pprof
and ie.top30
). - Fix all typos in comments, as reported by Go Report Card.
- Update all dependencies.
Orbiton 2.62.5
- Fix an issue with using
o
as a man page viewer on Arch Linux (usingMANPAGER=o
).
Orbiton 2.62.4
- Make it possible to insert a symbol by pressing
ctrl-_
and type in a 2-letter digraph (same digraphs as ViM uses). - Use timestamps in the location history, so that it can be culled/rotated and not grow too much over time.
- Make it possible to press
ctrl-f
and search for a blank string or a space. - Disallow saving a file concurrently and then exiting the editor at the same time.
- If
ctrl-t
is pressed while editing C or C++, but there is no corresponding source or header file to switch to, use the macro behavior instead. - Make it possible to press
esc
repeatedly to bring up thectrl-o
menu. - Add an
-n
flag for not writing to~/.cache/o
(where the location history, search history, game highscore etc. are kept). - Improve how the Markdown table editor draws tables.
- Drop the initial status bar help message, since both
--help
and a man page are available. - Improve the help output and help text.
- Some refactoring.
- Update the documentation.
- Update the dependencies.
Orbiton 2.62.3
Markdown Table Editor
- Improve the look of the Markdown table editor.
- When editing Markdown tables, trim the right column if it is empty.
- When pressing
ctrl-t
on an empty line in a Markdown table, insert an empty table and open the Markdown table editor. - Display "quick help" the first time the Markdown table editor is shown, at the bottom of the screen.
The VTE/GUI front-end application
- Run in fullscreen mode by default.
- Use a slightly smaller default font on macOS.
- Fix the application so that the
edig
symlink uses the intended theme. - Make starting and quitting more responsive on both macOS and Linux.
General
- Add initial support for the Mojo programming language.
- Minor improvements for the Nim programming language.
- Fix the Makefile for macOS.
- Rename two symlinks so that they are shorter.
- If the "fix as you type" feature is enable and an error occurs, disable the feature.
- Update dependencies.
- Update documentation.
- Update the web page.
Orbiton 2.62.2
- Add a simple web page (https://orbiton.zip).
- Add build flags to the Makefile.
- Require a total of 5 repeated presses of Esc as the alternative method of launching the
ctrl-o
menu (up from 4). This is to not get in the way of clearing a recorded macro by pressing Esc repeatedly. - Make it possible to press
ctrl-s
while playing the built-in game, to save the pixels as a.png
file, as an easteregg within an easteregg. - Update the man page and documentation.
Orbiton 2.62.1
- Fix the release script, ref. #15.
- Fix an issue with pressing backspace near the end of long lines, which made the horizontal scrolling misbehave.
- Let
o
also work as a man page viewer on OpenSUSE. - Add documentation for how to set up
o
on OpenSUSE. - For the GUI/VTE frontend
og
, useusleep
instead ofsleep
. - Let
ctrl-w
format Markdown tables, when the cursor is on one. - Let
ctrl-s
to save the file also work when editing a Markdown table with the Markdown table editor. - Only update the Markdown table when exiting the Markdown table editor if changes were made.
- Do not let
ctrl-n
jump to matching parentheses, onlyctrl-p
. - Make the theme selection in the
ctrl-o
menu more descriptive. - Let the
ctrl-o
menu also show the current program version. - When pasting a file on the command line with
o -p
, mark the resulting as executable if it is a script (if it has a.sh
file extension, is pasted in abin
directory like/usr/bin
or if the file contents starts with a shebang). - Add
O_THEME
as an alias for theTHEME
environment variable name. - Update dependencies.
Orbiton 2.62.0
- Use the
betteralign
utility to optimize structs. - Improve the man-page functionality so that it also works well on Fedora.
- Always use tabs for makefiles.
- Let
ctrl-n
andctrl-p
jump to matching parenthesis or bracket, but only if the cursor is on one and if the previous keypress was notctrl-n
/ctrl-p
. This way, one can navigate to a parenthesis with the arrow keys and jump to the matching one withctrl-n
/ctrl-p
, but scrolling down repeatedly withctrl-n
or up withctrl-p
will not be stopped. - Let
ctrl-g
show a friendly help message, but whenctrl-g
is pressed a third time, let it either go to definition or toggle the status bar at the bottom. Go to definition is a new experimental feature, is only tested for Go code, and currently only works within the same file. - Press
Esc
4 times in a row as an alternative way of opening thectrl-o
menu. - Let
ctrl-space
render Markdown files to HTML. - Add a menu option in the
ctrl-o
menu for rendering Markdown files to PDF withpandoc
. - Add a "fix as you type" feature that can be enabled in the
ctrl-o
menu if theOPENAI_API_KEY
,OPENAI_KEY
orCHATGPT_API_KEY
environment variables is set to a valid OpenAI API key. Every timereturn
is pressed, the line will be sent to ChatGPT and be corrected. This is an experimental feature. - Also save the search history for "search and replace" (
ctrl-f
, then thetab
key and thenreturn
). - Fix a bug in the
WordAtCursor
function. - Add a command line flag for clearing all file locks.
- Show a status message when pasting through portals.
- Add a Markdown table editor that can be activated by pressing
ctrl-t
while the cursor is on a Markdown table. Within the table editor,ctrl-n
can be used for adding columns,ctrl-d
can be used for deleting empty columns.return
,tab
and the arrow keys also work, see the README.md file for more information. - Let
ctrl-w
format Markdown tables, if the cursor is on one. - Add a menu option for sorting a block of lines.
- Minor improvements to the Agda symbol insertion menu.
- Update dependencies.
- Update documentation.
Orbiton 2.61.0
Orbiton 2.61.0
- Optimize the function that reads in files, and also add better support for loading large single-line files, like some SVG files.
- Add a
-c
flag, for directly copying a file to the clipboard. - Add more tests and benchmarks.
- Remove an unused function.
- Update dependencies.