Skip to content

Releases: xyproto/orbiton

Orbiton 2.63.1

11 Aug 14:17
Compare
Choose a tag to compare

Contributions

Optimized startup performance

  • Cache the result when checking which platform is in use.
  • Show a status message with the elapsed time if the editor loads in less than 90 milliseconds.

o launches in less than 90 milliseconds on most systems I have tried it on.

  • These things are only loaded when needed:
    • The search history.
    • The path to utilities that can format code (like ktlint).
    • Template/example programs (that can be inserted by pressing ctrl-w in empty files).
    • The path to clipboard-related utilities (like xclip or wl-copy)

Programming language support

  • Add experimental support for ALGOL 68, Fortran 77, Fortran 90 and F#.
  • Let ctrl-g try to jump to definitions within the same file before trying to jump to definitions within other files.
  • Use ctrl-b instead of ctrl-t to jump back after having jumped to a definition.
  • If a directory with the same name as the executable name for a C or C++ program is found when compiling, use main as the name.

Related to read-only files

  • Add an -m flag for opening files as read-only and monitoring them for changes.
  • Let return show a status message if pressed within a read-only file.
  • Enable syntax highlighting when opening read-only files in /usr/share/doc or /usr/include (as opposed to coloring everything red).

Various

  • When trying to open a file named release, but no such file exists, only a directory named release and a file named release.sh, then open release.sh.
  • Further improve how /etc/fstab files are formatted.
  • Use slightly smarter chmod +x behavior when saving shell scripts.
  • Add a menu option for being able to switch between the primary and secondary clipboard, on Linux.
  • Only display the program version in the ctrl-o menu the first time the menu is being displayed after starting the executable.
  • Alleviate an issue where the VTE/GUI application could exit if o opened small text files too fast.
  • Minor changes to the Makefile.
  • Improve some status messages.
  • Some refactoring.
  • Minor changes to the built-in game.
  • Update documentation.
  • Update dependencies.

This release was compiled with Go 1.21 on Arch Linux.

Orbiton 2.62.9

30 Jul 11:14
Compare
Choose a tag to compare
  • Update the Makefile

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.