From dcbcfa7ccf5264543bbba4e8eb59f6f0187cc4cb Mon Sep 17 00:00:00 2001
From: Luke <11898833+curlpipe@users.noreply.github.com>
Date: Tue, 24 Dec 2024 14:05:18 +0000
Subject: [PATCH 1/2] version bump
---
Cargo.lock | 14 +++++++-------
Cargo.toml | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index bc6bc88..3b4607a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -62,9 +62,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "cc"
-version = "1.2.4"
+version = "1.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9157bbaa6b165880c27a4293a474c91cdcf265cc68cc829bf10be0964a391caf"
+checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e"
dependencies = [
"shlex",
]
@@ -222,9 +222,9 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.168"
+version = "0.2.169"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d"
+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
[[package]]
name = "libredox"
@@ -379,7 +379,7 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "ox"
-version = "0.7.6"
+version = "0.7.7"
dependencies = [
"alinio",
"base64",
@@ -666,9 +666,9 @@ checksum = "cc0db74f9ee706e039d031a560bd7d110c7022f016051b3d33eeff9583e3e67a"
[[package]]
name = "syn"
-version = "2.0.90"
+version = "2.0.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31"
+checksum = "d53cbcb5a243bd33b7858b1d7f4aca2153490815872d86d955d6ea29f743c035"
dependencies = [
"proc-macro2",
"quote",
diff --git a/Cargo.toml b/Cargo.toml
index 943deb7..550454a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -6,7 +6,7 @@ members = [
[package]
name = "ox"
-version = "0.7.6"
+version = "0.7.7"
edition = "2021"
authors = ["Curlpipe <11898833+curlpipe@users.noreply.github.com>"]
description = "A simple but flexible text editor."
From 80fa2427b3905e0d86520007254373d62ba451a0 Mon Sep 17 00:00:00 2001
From: Luke <11898833+curlpipe@users.noreply.github.com>
Date: Tue, 24 Dec 2024 15:20:22 +0000
Subject: [PATCH 2/2] Simplified and improved README.md
---
README.md | 147 +++++++++++++++++++++---------------------------------
1 file changed, 57 insertions(+), 90 deletions(-)
diff --git a/README.md b/README.md
index 32f8893..b4d2fd7 100644
--- a/README.md
+++ b/README.md
@@ -21,9 +21,11 @@
![Build Status](https://img.shields.io/github/stars/curlpipe/ox.svg?style=for-the-badge)
![License](https://img.shields.io/github/license/curlpipe/ox.svg?style=for-the-badge)
+[About](#about) - [Installation](#installation) - [Quick Start Guide](#quick-start-guide)
+
## About
-Ox is an independent text editor that can be used to write everything from text to code.
+Ox is a text editor that can be used to write everything from text to code.
If you're looking for a text editor that...
1. :feather: Is lightweight and efficient
@@ -38,23 +40,17 @@ It works best on linux, but macOS and Windows are also supported.
## Selling Points
-### Lightweight and Efficient
-
-- :feather: Ox is lightweight, with the precompiled binary taking up a few megabytes in storage space.
-- :knot: It uses a `rope` data structure which allows incremental editing, file reading and file writing, which will speed up performance, particularly on huge files.
-- :crab: It was built in Rust, which is a quick lower-level language that has a strong reputation in the performance department.
-
### Strong configurability
- :electric_plug: Plug-In system where you can write your own plug-ins or choose from pre-existing ones
- π¬ Discord RPC
- - π Git integration with diffs, stats and more
- - πΈοΈ Handy web development tools such as Emmet and live HTML viewer
- - β²οΈ Productivity tools such as a pomodoro timer and todo list tracker
- - π€ AI features that will provide with advice and code
-- :wrench: A wide number of options for configuration including colours, key bindings and behaviours
-- :moon: Ox uses Lua as a configuration language for familiarity when scripting and configuring
-- :handshake: A configuration assistant to quickly get Ox set up for you from the get-go
+ - π Git integration
+ - πΈοΈ Emmet and HTML viewer
+ - β²οΈ Pomodoro timer and todo list tracker
+ - π€ AI code & advice
+- :wrench: Configure everything including colours, key bindings and behaviours
+- :moon: Write Lua code for configuration
+- :handshake: A set-up wizard to make Ox yours from the start
### Out of the box features
@@ -70,11 +66,20 @@ It works best on linux, but macOS and Windows are also supported.
- :file_cabinet: File tree to view, open, create, delete, copy and move files
- :keyboard: Access to terminals within the editor
-### Robustness
+### Detailed Documentation
+
+Become a power user and take advantage of everything on offer.
+
+Found on the [wiki page](https://github.com/curlpipe/ox/wiki/)
-- :globe_with_meridians: Handles double-width unicode characters like a charm, including those of the Chinese, Korean and Japanese languages and emojis
-- :boxing_glove: Backend has been thoroughly tested via automated unit tests
-- :rainbow: Automatically adapts your colour schemes to work on terminals with limited colours
+This will take you step-by-step in great detail through 6 different stages:
+
+1. **Installation** - advice and how-tos on installation
+2. **Configuring** - changing the layout, adding to and changing the syntax highlighting
+3. **General Editing** - editing a document and controlling the editor
+4. **Command Line** - using the command line interface
+5. **Plugins** - installing or uninstalling community plug-ins and writing or distributing your own plug-ins
+6. **Roadmap** - planned features
## Installation
@@ -178,111 +183,73 @@ Please note that you should add `.cargo/bin` to your path, which is where the `o
## Quick Start Guide
-This is just a quick guide to help get you up to speed quickly with how to use the editor. You dive into more details in the documentation section below, but this quick start guide is a good place to start.
+Once you have installed Ox, it's time to get started.
-### Opening Files
+### Set-Up
-At the moment, you can open ox by using the command
+You can open Ox using the command
```sh
ox
```
-This will open up an empty document.
-
-However, if you've just downloaded Ox, the configuration assistant will automatically start up and help you configure the editor initially.
-
-If you wish to open a file straight from the command line, you can run
-```sh
-ox /path/to/file
-```
-
-To open and edit a file. You can provide multiple arguments of files if you wish to open more than one, for example:
+At first, if you don't have a configuration file in place, Ox will walk you through a set-up wizard.
-```sh
-ox file1.txt file2.txt
-```
+When you've completed it, you should be greeted by ox itself, with an empty, unnamed document.
-You can also open a file from within Ox by using the Ctrl + O key binding
+At the top is your tab line, this shows you files that are open.
-If at any time, you wish to create a new file, you can use Ctrl + N to do so.
+At the bottom is your status line, this shows you the state of the editor.
-You can find more command line options for Ox by typing:
-```sh
-ox --help
-```
+At the far bottom is your feedback line, you'll see information, warnings and errors appear there.
-When you open multiple files, notice the tabs at the top.
+### Editing
-You can close the file you're looking at using the Ctrl + Q key binding. When no more documents are open, the editor will automatically close for you.
+Toggle the built-in help message using Ctrl + H. You can press Ctrl + H again to hide this message if it gets in the way. This should introduce you to most of the key bindings on offer.
-If you want to move tabs and look at other files that are open, you can use Shift + Left and Shift + Right to move back and forth respectively.
+Ox isn't a modal text editor, so you can begin typing straight away. Give it a go! Type in letters and numbers, delete with backspace, indent with tab, break up lines with the enter key.
-### Editing Files
+Move your cursor by clicking, or using the arrow keys. You can also click and drag to select text.
-There are no modes in Ox, so you can just type straight into an open file, just as you would Nano, or Windows notepad.
+If you modify a file, you may notice a `[+]` symbol, this means the file open in the editor differs from it's state on the disk. Save the file to update it on the disk and this indicator will disappear.
-You can move the cursor around the file using the standard arrow keys.
+Because the file we're editing is new and doesn't have a name, you'll need to save as using Alt + S and give it a name.
-You can also use:
-- PageUp - Move up a page in the viewport
-- PageDown - Move down a page in the viewport
-- Home - Go to the start of the current line
-- End - Go to the end of the current line
-- Ctrl + Left - Go to the previous word
-- Ctrl + Right - Go to the next word
-- Ctrl + Up - Go to the top of the document
-- Ctrl + Down - Go to the bottom of the document
+Now, if you were to edit it again, because it is on the disk and has a name, you can use the standard Ctrl + S to save it.
-No surprises here, to insert characters, use the letters and numbers on your keyboard. Enter will put a new line in, Tab will create a tab (or indent) and Backspace / Delete to delete characters.
+You can open files through Ctrl + O - try opening a file!
-If you modify a file, you may notice a `[+]` symbol, this means the file has been modified without saving. You can save a document in many ways, including Ctrl + S to save it to the file it was opened from. Ctrl + A to save all files that are open and Alt + S to save as, where a prompt for a new file name to write to will be shown.
+If you modify it you can then use the standard Ctrl + S to update it on the disk, as this file already exists.
-We've covered most keyboard shortcuts, but there are some other features you might want to make use of, the following table shows the keyboard shortcuts we haven't covered yet.
+When mutltiple files are open, you can navigate back and forth using Alt + Left and Alt + Right
-| Keybinding | What it does |
-| ------------ | ------------ |
-| `Ctrl + F` | Searches the document for a search query. Allows pressing of β to move the cursor to the previous occurrence of the query and β to move to the next occurrence of the query. Press Return or Esc to leave the search. Note: you can use regular expressions for search queries. |
-| `Ctrl + Z` | Undoes your last action. The changes are committed to the undo stack every time you press the space bar, create / destroy a new line and when there is no activity after a certain period of time which can be used to capture points where you pause for thought or grab a coffee etc... |
-| `Ctrl + Y` | Redoes your last action. The changes are committed to the undo stack every time you press the space bar, create / destroy a new line and when there is no activity after a certain period of time which can be used to capture points where you pause for thought or grab a coffee etc... |
-| `Ctrl + R` | Allows replacing of occurrences in the document. Uses the same keybindings as the search feature: β to move the cursor to the previous occurrence of the query and β to move to the next occurrence of the query. You can also press Return to carry out the replace action. To exit replace mode once you're finished, you can press Esc. You can also use Tab to replace every instance in the document at once. Note: you can use regular expressions for search queries. |
-| `Ctrl + K` | Opens the command line. |
-| `Ctrl + W` | Shortcut to delete a whole word. |
-| `Alt + Up` | Move the current line up. |
-| `Alt + Down`| Move the current line down. |
-| `Ctrl + D` | Delete the current line. |
-| `Ctrl + C` | Copy selected text. |
-| `Alt + Left`| Move to the previous tab. |
-| `Alt + Right`| Move to the next tab. |
+Once you're done with a file, you can use Ctrl + Q to quit out of it.
-### Configuration
+If all files are closed, Ox will exit.
-Ox features a configuration system that allows the editor to be modified and personalised.
+If you're interested in finding out all the key bindings on offer, click [here](https://github.com/curlpipe/ox/wiki/General-editing#quick-reference)
-By default, you will be greeted by a configuration assistant when first starting Ox, when no configuration file is in place. This will help you generate a configuration file.
+Now you've exited Ox, let's check out some command line options.
-By default, Ox will look for a file here: `$XDG_CONFIG_HOME/.oxrc` or `~/.oxrc`.
+### CLI
-On Windows, Ox will try to look here `C:/Users/user/ox/.oxrc` (where `user` is the user name of your account)
+You can open files straight from the command line like this:
-Ox's configuration language is [Lua](https://lua.org).
-
-For reference, there is a default config in the `config` folder in the repository. You can either download it and place it in the default config directory or create your own using the example ones as a reference.
+```sh
+ox /path/to/file1 /path/to/file2
+```
-## Documentation
+If you try to open a file that doesn't actually exist, Ox will open it in memory, and as soon as you save, it will save it will create it for you.
-If you've been through the quick start guide above, but are looking for more detail, you can find in-depth documentation on the [wiki page](https://github.com/curlpipe/ox/wiki/)
+See more information regarding command line options using the command.
-This will take you step-by-step in great detail through 6 different stages:
+```sh
+ox --help
+```
-1. **Installation** - advice and how-tos on installation
-2. **Configuring** - changing the layout, adding to and changing the syntax highlighting
-3. **General Editing** - editing a document and controlling the editor
-4. **Command Line** - using the command line interface
-5. **Plugins** - installing or uninstalling community plug-ins and writing or distributing your own plug-ins
-6. **Roadmap** - planned features
+This provides everything you need to know to do some basic editing, but there is so much more you can take advantage of, from plug-ins to opening multiple files on the same screen, to using the built-in terminal and using the file tree to manage your project.
-Hopefully, it contains everything you need to take you from a beginner to a power user.
+If you are curious in learning more, click [here](https://github.com/curlpipe/ox/wiki) to access the wiki where you will be introduced to all the wide range of features and really make your experience smooth like butter π§.
## License