Skip to content

Releases: xyproto/orbiton

Orbiton 2.60.1

20 Feb 18:51
Compare
Choose a tag to compare
  • Also rename the release files after the project was renamed from O to Orbiton.
  • Update dependencies.

Orbiton 2.60.0

20 Feb 13:02
Compare
Choose a tag to compare
  • Project rename, from o to Orbiton. The editor executables are still:
    • o - for the terminal
    • og - for the VTE GUI
  • Add built-in support for formatting /etc/fstab files.
  • Stop the arrow keys from doing anything while code is being generated an inserted by ChatGPT.
  • Support more environment variable names for the OpenAI key. Now these are supported: CHATGPT_API_KEY, OPENAI_API_KEY or OPENAI_KEY, in that order.
  • Update dependencies.
  • Update documentation.

o 2.59.5

12 Feb 20:19
Compare
Choose a tag to compare
  • Don't call os.Getenv several times. Call os.Environ once and then cache the variables. This is handled automatically by the github.com/xyproto/env/v2 package. There is a tiny performance improvement for o because of this.
  • Add a Makefile target for building with the trace build tag.
  • Set the default ChatGPT temperature to 0, for generating code and to 0.8 for generating other text.
  • In addition to ! for filetypes other than Markdown, only use Write and write as "trigger words" for starting to generate code or text with ChatGPT (and only if the CHATGPT_API_KEY is set).
  • Update dependencies.
  • Update documentation.

o 2.59.3

08 Feb 16:35
Compare
Choose a tag to compare

Fixes

  • Fix a bug that happened when trying to run a program by pressing ctrl-space twice.
  • Stop the search function from saving duplicate entries in a row.

New features

  • Add support for generating code with ChatGPT, if the API key is set and a line is prefixed with ! or ie. // generate a function that .... and return is pressed.
  • Make it possible to view images on the terminal (.png, .jpg, .jpeg, .gif, .ico and bmp are supported. If CGO_ENABLED is not set to 0 at compile time, .webp is also supported). This is an experimental feature and how the images are scaled is not always optimal.

Minor improvements

  • Read some environment variables only once.
  • Remove use of rand.Seed that is deprecated by Go 1.20 (used by the little built-in game).
  • Compile the release binaries with Go 1.20.
  • Also support Go 1.16 and 1.17 again.
  • Update the documentation.

o 2.59.0

26 Jan 11:03
Compare
Choose a tag to compare
  • Improve the syntax highlighting for Go, man pages, configuration files and Python.
  • Update the .desktop file.
  • Initial support for Koka and Haxe.
  • Skip /tmp/tmp.* files when writing the location history.
  • Fix the use of ktlint when formatting Kotlin.
  • Minor improvements to the Synthwave and BlueEdit themes.
  • When pasting, try pasting from the primary clipboard as well.
  • Make tests pass on macOS.
  • Try to run more programs by default, when ctrl-space is pressed twice.
  • Make the status header in the game slightly more useful.
  • Use go4.org/bytereplacer for better performance when replacing bytes.
  • Update documentation.
  • Update dependencies.

o 2.58.0

07 Dec 12:29
Compare
Choose a tag to compare

o 2.58.0

Highlights

  • Detect tabs/spaces when a file is opened.
  • Add support for pbcopy and pbpaste on macOS, and make the Makefile more macOS-friendly.
  • Make ctrl-space also run programs when pressed a second time. The last lines of the output will be shown on screen. For now, this feature is only supported for simple Go, Kotlin and Rust applications.

Minor changes

  • Recognize the ctrl-_ hotkey.
  • Minor changes to the chmod +x behavior, for scripts.
  • Use a g suffix for all GUI-related executables and symlinks.
  • Minor changes to how ctrl-c behaves.
  • Improve the light theme for dark backgrounds.
  • Update documentation.
  • Update dependencies.

o 2.57.0

16 Oct 19:48
Compare
Choose a tag to compare

Highlights

  • Make it possible to open, edit and save gzip-compressed files with a .gz ending.
  • Add the Synthwave theme (launch o with a sw symlink, launch ko -s or set THEME=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, since ctrl-c may interrupt the program in some terminal emulators.
  • Make it possible to build *_test.go files with ctrl-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 the trace build tag is used.
  • Improve the syntax highlighting of old Pascal programs.
  • Let ctrl-i while in debug mode change the behavior of ctrl-space and ctrl-n between "step into" and "step next".
  • Modify the version.sh script to only use sed.
  • Update dependencies.
  • Update documentation.

o 2.56.0

06 Sep 12:55
Compare
Choose a tag to compare

Programming

  • Let iferr on a line by itself insert a context and type-aware if 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 with ctrl-w.
  • Adjust the arguments passed to cargo when building with ctrl-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 and strings.ReplaceAll instead of interface{} and strings.Replace(..., ..., -1).
  • Update dependencies.

o 2.55.1

01 Aug 23:07
Compare
Choose a tag to compare

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 program sort (inspired by ViM). External commands will time out after 10 seconds.
  • When o is used for viewing man pages (with MANPAGER=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

24 Jul 12:13
Compare
Choose a tag to compare
  • 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 launch o 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.