Skip to content

Releases: xyproto/orbiton

Orbiton 2.62.8

30 Jul 09:36
Compare
Choose a tag to compare

Fixes

New features

  • Press ctrl-g to "jump to definition" and ctrl-t to jump back. If there is nowhere to jump, ctrl-g and ctrl-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 call os.Stat (as os.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 an Orbiton 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 the ctrl-o menu, except if the parent process is ag, find or rg, in which case Kill 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

22 Jul 16:21
Compare
Choose a tag to compare

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 and textoutput, which improves the performance of the "happy path" and also optimizes the most time consuming functions, as reported by go 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):

graph

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

06 Jul 21:40
Compare
Choose a tag to compare

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 with go tool pprof and ie. top30).
  • Fix all typos in comments, as reported by Go Report Card.
  • Update all dependencies.

Orbiton 2.62.5

30 Jun 22:09
Compare
Choose a tag to compare
  • Fix an issue with using o as a man page viewer on Arch Linux (using MANPAGER=o).

Orbiton 2.62.4

30 Jun 11:34
Compare
Choose a tag to compare
  • 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 the ctrl-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

10 Jun 14:21
Compare
Choose a tag to compare

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

03 Jun 11:10
Compare
Choose a tag to compare
  • 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

31 May 12:28
Compare
Choose a tag to compare
  • 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, use usleep instead of sleep.
  • 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, only ctrl-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 a bin directory like /usr/bin or if the file contents starts with a shebang).
  • Add O_THEME as an alias for the THEME environment variable name.
  • Update dependencies.

Orbiton 2.62.0

23 May 22:53
Compare
Choose a tag to compare
  • 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 and ctrl-p jump to matching parenthesis or bracket, but only if the cursor is on one and if the previous keypress was not ctrl-n/ctrl-p. This way, one can navigate to a parenthesis with the arrow keys and jump to the matching one with ctrl-n/ctrl-p, but scrolling down repeatedly with ctrl-n or up with ctrl-p will not be stopped.
  • Let ctrl-g show a friendly help message, but when ctrl-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 the ctrl-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 with pandoc.
  • Add a "fix as you type" feature that can be enabled in the ctrl-o menu if the OPENAI_API_KEY, OPENAI_KEY or CHATGPT_API_KEY environment variables is set to a valid OpenAI API key. Every time return 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 the tab key and then return).
  • 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

19 Apr 13:29
Compare
Choose a tag to compare

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.