Releases: curlpipe/ox
0.7.4
I am proud to announce Ox now has file trees 🎉 you can view, open, create, delete, move and copy files inside the editor.
See the documentation here on how to make use of the file trees!
Here's a screenshot:
Full list of changes:
Added ➕
- A file tree
- Keyboard shortcuts for moving between splits
Fixed 🔧
- Attempted to fix issues where Ox would get confused over different files of the same name
- Fixed issue with errors being spammed to the terminal from various built-in plug-ins
- Fully prevented any panics that the editor API could have caused
- Improved global editor error handling (no more panics)
- Fixed issue with save as feature messing up which file it was changing
- Ensured that CWD moved with split focus
- Prevented directories from being opened
- Fixed issue with help message not showing under circumstances where it would be fine to display
0.7.3
A smaller ox release that adds in some nice quality of life features, nothing too crazy, but splits now look a lot less rough! Here's a screenshot of the new theme Omni
:
Added ➕
- New themes
default16
, which will use your terminal's colours andomni
- Quick comment can now uncomment / comment lines within a selection (for bulk commenting / uncommenting)
- Pressing the left arrow key (
<-
) while trying to open a file will go up a directory - Tab line separators (the
|
between each tab) can now be disabled if desired (through config file) - Split separator colours can be configured
Fixed 🔧
- Splits join up properly instead of leaving gaps
- Fixed issue where certain edits would cause syntax to stop being highlighted
- A bunch of a few small optimisations to help speed up the editor
- Git plugin no longer spams hundreds of commands in a short space of time, refreshing every 10 seconds when the user is typing, or when saving a document
- Fixed several errors from being spammed to the feedback line
- Fixed issues where quickcomment failed to uncomment lines and caused errors
- Undo and redo will snapshot when: you start editing on a different line, before and after a paste, before adding multi-cursors to the document
- Undo and redo will no longer snapshot when: during a paste, during a macro, during using multi-cursors
- The greeting message will now render properly instead of being all over the place
- Stopped help message from being rendered on splits (as this creates a really awkward interface with no easy design answers)
- Faster instantiation of syntax highlighters
- Feedback lines that don't fit into the terminal width will now be rendered with
...
after it editor:panic
now gracefully exits the editor- Better file I/O errors in edge cases
- Fixed issue where saving as did not actually change file type / syntax highlighting / disk indicator
- Fixed issue where copy & paste wouldn't work so well while recording macros
- Fixed issue where clicking into a new split would mess the y position up
- Tabs now work slightly more clearly on narrow terminals
0.7.2
An update that has been a long time in the making - Ox now has splits 🎉
That's really the only thing that is new in this update. If you wish to see how to use them, check out the documentation here
Here is a screenshot example to demonstrate what the new feature looks like (viewing 3 files on the same screen at once):
0.7.1
Another small update - but I just felt like Ox needed a bit more polishing.
Added ➕
- Allowed opening of files with non-unicode characters in
- Added more languages to quickcomment for correct auto commenting
Fixed 🔧
- Much much better selecting backwards over words and lines
- Fixed issue when selecting over unicode characters
- Improved efficiency in syntax highlighter
- Improved efficiency in rendering selection
- Improved efficiency in moving cursor by word
- Improved efficiency in rendering in general
- Fixed panic when window is super small
0.7.0
This seems like a small update, but it adds some shiny new bulk editing features to speed up your editing. If you wish to use bulk editing, they have been documented (see the General Editing page in the wiki).
It also adds some efficiency improvements - with many more to come I hope as I'm setting efficiency as a key development area for the next few updates.
Added ➕
- Added multi-cursors (so you can edit in many places at once)
- Added macro support (record editing activity and then easily replay it)
Fixed 🔧
- Fixed issues when selecting over tabs
- Fixed issues with escaping syntax with backspaces
- More efficient line processing (you may notice speed-ups on files with very long lines)
- Slightly improved rendering efficiency
- Added missing
char
keyword to rust syntax highlighting
0.6.10
Ox now pretty much works on Windows and macOS, see the new pre-compiled binaries in the section below. Another cool thing is that Ox now renders ~3x quicker thanks to reduced output.
See the full changelog below for some exciting changes.
Added ➕
- Ox now mostly works on Windows and macOS - pre-compiled binaries available in releases
- New binaries for both windows and macOS available in releases
- Added a
plugin update
command so you can keep your plug-ins up to date - You can now drag and select over words after a double click instead of just characters
- New selection key bindings
- Shift+Home / Shift+End - Selecting to start / end of lines
- Ctrl+Shift+Left / Ctrl+Shift+Right - Selecting next / previous word
- Shift+PageUp / Shift+PageDown - Selecting next / previous page
- Greeting message and feedback line stay shown after an editor resize
- Emmet plug-in now allows whitespace
- LiveHTML now refreshes less, doesn't crash due to ``` character and can track files other than just the entry point
- Added a
dir_exists
function to the plugin API - New things in editor API:
editor.cwd
andeditor:panic("msg")
for debugging - Ctrl + D can now be used when selecting multiple lines to delete all lines
Fixed 🔧
- ~3x more efficient rendering process thanks to reduced ANSI output
- Much much better undo/redo system with sensible cursor location and better modification indicator
- Ox will now create a plug-in directory if it doesn't already exist
- Fixed issuse with highlighter not rehighlighting after certain actions
- On non-true colour terminals, Ox will translate to xterm-256 colors to prevent strange colours appearing
- Doubled line-by-line scroll sensitivity by default
- Fixed issue with git icon enabling even when icons are disabled
- Autoindent plays nicely with cursor when immediately moving up/down after an indent
- Quick comment now plays nicely with undo/redo
- Moving lines up and down will now play nicely with undo / redo
- More of the editor API is now safe from panicing and will return nil instead
- Changed from quickerror to error_set (thanks, @mcmah309)
- Cut back on codebase size (removed legacy backend files) and general clean up
0.6.9
The first of a few updates that aims to improve Ox through small changes to existing features to really polish what already exists.
Added ➕
- A cancel selection method to the editor API (you can now cancel selection by default through the
Esc
key) - A method in the editor API to move the viewport over the cursor (you can now move the viewport to the cursor using
Alt + V
) - You can now move groups of lines up and down when pressing
Alt + Up / Down
and selecting text, this also includesmove_line_up
andmove_line_down
editor API methods. - Added a quick comment plug-in (installed by default) where you can quickly comment and uncomment lines using
Alt + C
- You can now indent and dedent lines using
Ctrl + Tab
andShift + Tab
, this includes single lines and selections over lines (bulk indent / dedent) - Better selection editor API (cancelling selection, setting selection, getting selection)
- Search feature has been improved, it now selects search candidates and also searches as you initially type your search string. Also
Esc
actually puts you back to where you were before you started the search. - Line moving editor API methods
- You can now react to pastes in plug-ins and the config file
Fixed 🔧
- When you click out of range (off the bottom of the document) the editor will go to the last line instead of staying where it is
- Awkward undo cursor position was fixed (still requires more work, but it seems to be a bit better)
- Emmet plug-in now places cursor into the action field when making forms:
<form action="|">
- Stopped Git plug-in from spamming git commands and significantly slowing down the editor when many files were open
- Ox can now be opened using ranger without opening a weird file called
--
- Editor APIs causing a panic (now they just return
nil
) - Much better error handling of status line rendering
- Fixed problem where certain built-in plug-ins were being loaded twice or not loaded at all
- Tab line can now much better handle the case where there are many files open (more than can be rendered in the terminal width)
- Files can no longer be opened twice, to prevent confusion
- Issue where files weren't being opened due to CWD changing so much
- Much better handling of file errors (no more panics, instead you get a nice message instead)
0.6.8
An update that adds a configuration assistant to help you take advantage of all the new features that Ox has
⚠️ This update changes how the status line is configured, so there may be errors in existing configuration files that need to be changed. Please refer to the documentation for the new format of the status line.
Added
- A configuration assistant which is triggered when no configuration file is present
- Shift + Tab to dedent a line in the autoindent plugin
- Pasting now creates a snapshot in the undo / redo system
- 3 new themes to the editor
Fixed
- Changed around render function to trim lines instead of rendering over
- Improved rust syntax highlighting
- Better word moving
- Better word deleting
- Fixed line moving cursor position issue
- Increased default scroll amount
- Rearranged status line format in configuration
- Git plug-in can actually be configured for icons
- Fixed issues with read-only files
- Fixed absent background colour on file path prompt
- Tabs now open to the right of the currently open tab instead of at the end
- Updated Python syntax highlighting to include keywords relating to match statements
- Fixed rendering issues with the help message and moved it up slightly to a better position
0.6.7
An update that adds more advanced functionality through some new built in plug-ins.
See all the new plug-ins you can install in the documentation here
Added ➕
- New typing speed plugin to track your typing speed
- Todo list plugin for
.todo
files - Discord RPC plug-in
- HTML live edit plug-in
- Emmet plug-in for HTML autocompletion
- Git plug-in to manage your git repository
- Added diff file syntax highlighting
- When you open files or change tabs, the editor will change it's working directory
- Tab lines can be interpolated
- Goto line command with Ctrl + G
- Adjustable scrolling speed
Fixed 🔧
- Fixed file types not able to be edited in plug-ins
- Fixed document.document_type reporting wrong value
- Fixed markdown syntax highlighting issues
- Fixed Lua syntax highlighting (~= operator and # operator and .. operator)
- Fixed pageup/pagedown behaviour being not very useful
- Fixed tab line length problems with double width characters
- Stopped flickering in help message
- Standardised moving over words back and forth
- Fixed filetype command not able to handle spaces
0.6.6
An update with some bug fixes and other quality-of-life features
| editor:set_file_type
function in the editor API and the filetype
command argument now use file type names instead of file type extensions e.g. Python
instead of py
.
Added ➕
- Prompts can now be cancelled by pressing the
esc
key - File path prompts (on opening files inside ox) now allow scrolling through options using the
Tab
andShift + Tab
keys - Selecting words can be done with a double left click
- Selecting lines can be done with a single right click
- You can now better modify and change how file types are recognised and handled
Fixed 🔧
- Plug-in manager loading plug-ins twice and not reporting installed plug-ins correctly
- Autoindent dedenting lines inappropriately
- Cursor jumping out of bounds in certain circumstances
- Selection going out of bounds
- Syntax highlighting doesn't disappear past selection