Releases: curlpipe/ox
0.4.1 - Light fixes to syntax highlighting
Just some fixes here and there, also check out the updated documentation on plugins in the wiki here
Added ➕
- Latex syntax highlighting support
Fixed 🔧
- Nushell syntax highlighting issues
- Markdown syntax highlighting issues
- Error that came up whenever backspace was pressed
0.4.0 - Plug-ins, custom commands and increased configurability
The main thing in this update is the ability to write macros, customise key bindings and write your own commands.
~/.oxrc
, this is due to a change in how the configuration file is used. The syntax and documentation are still valid, so your configuration file will likely not require a huge rewrite when updating.
Added ➕
- Key bindings can now be modified from the configuration file to your preference
- You can now build macros (or plug-ins) within the config file and have them run when a command or key binding is pressed
Fixed 🔧
- Cleaned up the code a bit (errors are now better handled)
0.3.4 - Updated syntax highlighting
Also, note the new documentation in the wiki
Added ➕
- New version of synoptic, which now includes syntax highlighting for
nushell
Fixed 🔧
- Fixed help message being slightly incorrectly formatted
0.3.3
0.3.2
Update to add a few handy features and a command line with a help message
Added: ➕
- Readonly flag to set files to read only (see help on CLI for more info on how to use it)
- Filetype flag to set file's filetype (see help on CLI for more info on how to use it)
- A command line to run certain commands while the editor is open
- A toggleable help message to help new users
Fixed: 🔧
- Incorrect naming on CLI help message
0.3.1 - Bug fixes and handy features
Just a quick update to fix a few bugs and add a few core features
Added: ➕
- If you try to open files that don't exist, Ox will create them as a new file that will write to disk when you save
- You can now delete text with the delete key
Fixed: 🔧
- Fixed resizing issues causing cursor to go out of bounds
- Fixed editor crashing when opening markdown files
0.3.0 - Rewrite that has been 4 years in the making
It's been a long time since I touched this repository, but I was working in the background when I had free time trying to build a stronger, more reliable and robust backend.
Now I would like to present Ox 0.3.0, which has seen a complete rework from 0.2.7 which has a reputation for being extremely glitchy.
There may still be some issues, but the backend is much better tested and won't have bugs that are as extreme as previous versions (I hope).
It uses Kaolinite for its backend and Synoptic for syntax highlighting.
It includes the following benefits over the previous:
- Huge efficiency boost - it now uses a rope data structure, which is very efficient and integrates file buffering to avoid long loading times
- Lua configuration - more well established than RON and my own proprietary configuration language, and puts it on par with neovim (almost)
- Well-tested backend and modular design - a lot of the functionality I originally tried to cram into a single codebase has instead been spread over various crates, each with their own test suites that have a strong reputation of passing
The rest of it is largely the same, but I have some plans to extend it in the future (time permitting)
0.2.7
0.2.7
Comments
This is an update that focussed on very small elements of existing features to make them less annoying. Nothing new was really added, but the existing features have been greatly improved. From huge improvements in efficiency to better language highlighting and support. It took a long time but it was hopefully worth it.
Next Update
Next update will focus on adding mouse support. One of the major burdens of the editor is that it is a pain to copy and cut text from it. Also navigating files for those who aren't used to keyboard navigation is a pain. It will also add extra language support for several popular programming languages.
Changelog
- Fixed serious origin deletion error
- Added log file for better debugging
- Properly handled panics
- Optimized syntax highlighter to only re-tokenise on edit instead of every time it comes into view, greatly speeding up code navigation and writing.
- Rewritten in Crossterm
- Added native Windows support
- Now uses signals to handle terminal resizes.
- Undoing now affects the dirty file indicator if in last save state
- Allowed jumping to lines via arguments e.g:
ox test.txt:100
will take you to the 100th line andox test.txt:200:39
will take you to the 39th character in line 200. - Improved language syntax highlighting.
- Fixed tab and space indentation issues
- Added 16 bit colour fallback
- Fixed problem with resizing the welcome message
- Fixed serious unicode bug
- Added support for dos line endings
- Allowed for customisation of the warning, error and info message colours in the command line
- Fixed resize panic
- Added support for a transparent editor background
- Added support for line number background colours
- Fixed dodgy search and replace features
- Added highlighting to search and replace features
- Code clean up
- Added command to allow reloading of configuration file
- Added delete word command
- Added file overwrite prevention
- Removed hardcoded key binding values
- Made the goto command change the offset only if required
- Added configuration option for cursor line wrapping
- Improved file reading and saving errors
- Added read only mode
- Added ability to execute shell commands
- Added macro to allow saving as root in case of permission error
- Added a ton of extra key bindings including function keys and arrow keys too
- Changed default configuration to use more intuitive key bindings
0.2.6
0.2.6
Comments
This is a huge update with many improvements and additions. More control over the editor as well as an entirely new scripting language have been added, allowing actions and commands that speed up editing and finally add extensibility to the editor.
Next update
Next update I'll work on refactoring to speed up Ox, because I am very aware that Ox is highly inefficient. I'll be writing a selective re-tokeniser which will only recolour lines that have been edited, over the old method of just re-tokenizing everything in view. I'll also be working to tweak certain features to improve them and bring them up to scratch with many modern text editors and work on ditching the termion
library in favour of the much more active and comprehensive crossterm
library. This will allow native Windows support and will allow some optimisations to be made.
Changelog
- Added new simple scripting language to allow for extensibility.
- Added wiki to extensively document the editor.
- Fixed weird deletion behaviour at the origin of the document.
- Rewrote undo and redo to feed through the same event execution as Oxa.
- Added more functionality like force quit, jumping to lines.
- Added support for multiple colour schemes in one config file with a command to switch between them.
- Allowed for customisation of the contents of the status line and tab bar.
- Added rpm package.
- Added deb package.
- Added to homebrew.
- Updated dependencies.
0.2.5
0.2.5
This is a considerably large update that adds tabs and allows multiple documents to be edited at once.
- Updated dependencies
- Added a tab line to show the open documents
- Allowed the editor to handle multiple documents
- Improved the hardcoded configuration file
- Cleaned up code
- Added a Save all documents command
- Improved documentation
- Updated images on README file.