Releases: curlpipe/ox
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
0.6.5
An update that fixes a few bugs, and adds some small but useful features
Added ➕
- Magic modeline for file types
- File path recommendations and completion when opening files
Fixed 🔧
- Enabled networking utilities to be used in the configuration file
- Reduced flicker and artefacts when rendering
- The cursor is no longer incorrectly hidden when searching/replacing/in a prompt
- Better undo/redo committing
- Fix stdin crash
- Fix autoindent and pairs with undo/redo
- Forced normal intensity throughout (text may have been faint on macOS)
0.6.4
0.6.3
⚠️ This release contains a fatal bug, please update to 0.6.4 which has a fix
This a release that mainly focuses around the plug-in system, but has some other great additions/fixes too
Added ➕
- 256 bit colours for the TTY and other terminals that don't have 24-bit colours available
- New plug-in manager
- Much much better plug-in and configuration error reporting
- Networking and concurrency utilities for plug-ins
- Plug-ins can now force rerender parts of the editor
- Better handling of spaces and tabs, you can now state your preference in the configuration file
Fixed 🔧
- Improved autoindent plug-in
- Neater pairs plug-in inserts whitespace where appropriate and properly deletes pairs in all circumstances
- Big code cleanup (better for maintenance)
- More efficient paste with fewer side effects
- Fixed strange backspace behaviour
- Fixed problematic hex codes
- Pomodoro plug-in now updates itself in the status line every second
0.6.2
Quite a big release with a decent amount of useful changes. Like this one, updates will start to be more infrequent but bigger in future, particularly as all the minor tweaks and bugs are being sorted out and bigger features are almost ready to be implemented.
⚠️ Warning,editor:show_help_message()
andeditor:hide_help_message()
andeditor.help_visible
are now depreciated in favour of getting and setting the fieldhelp_message.enabled
Added ➕
- More advanced selection allowing you to cut and delete selected text
- Certain plug-ins are now default (so they are included automatically) these include pairs and autoindent
- More advanced autoindent plug-in which
- Will adjust your lines indent automatically when you move lines up and down
- Will automatically de-dent lines where appropriate
- Will handle pressing enter between pairs of brackets the proper way
- More advanced pairs plug-in which
- Deletes end pairs when deleting start pairs
- No longer adds pairs when the user pastes in text
- Skips end pairs when the user tries adding their own accidentally
- Plug-ins can render on the greeting message and help message
- More configuration areas to tweak including line number padding, tab_width and cursor behaviour
- Configurable help message format
- New undo / redo system
Fixed 🔧
- Moved key binding reference to dedicated help menu (clearer greeting message)
- Better handling of unknown file types (will now show "Unknown" instead of "")
- You can now bind space key bindings using
space
instead of just - Fixed selection errors when selecting tab characters and incorrect cursor position when deselecting
- File was incorrectly marked as unmodified when save to disk failed
- Changed copy/paste infrastructure to reduce depedencies and work over SSH