Updated readme
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
This commit is contained in:
parent
1c1b4f74f6
commit
211cdbeea8
13
README.org
13
README.org
|
@ -48,3 +48,16 @@ cargo run
|
|||
#+end_src
|
||||
|
||||
|
||||
* Project Status
|
||||
Abacus is currently in early development. It employs a custom built editor which can be slightly odd at times. A primary focus currently is improving the editing experience and adding additional scripting functionality.
|
||||
|
||||
** Road map
|
||||
|
||||
[x] Editor basics
|
||||
[x] Scripting basics - Scripting functionality provided by extending the Rhai scripting language
|
||||
[x] Dataframe support - Pandas style dataframe support via the Polars framework
|
||||
[x] CSV Support - Importing and processing large CSV files
|
||||
[ ] Editor improvements - Improve editor to mirror basic VIM functionality and fix text/cursor related bugs
|
||||
[ ] Math functions - Implement common mathmatical functions and constants into the scripting language
|
||||
[ ] Dataframe performance - Reduce the performance cost of converting from the scripting engine to polars
|
||||
[ ] Web/JSON support - Add HTTP requesting functionality and JSON parsing/processing to the scripting engine
|
||||
|
|
|
@ -5,3 +5,43 @@ Abacus UI is the desktop GUI for [[../][Abacus]].
|
|||
For General information visit [[../][Abacus]]
|
||||
For information on the scripting visit [[../abacus-core/][Abacus Core]]
|
||||
|
||||
* Blocks
|
||||
The editor is separated into multiple /BLOCKS/. These blocks can be used to perform separate, related calculations. Each block can have a single output, which is the returned value from the block.
|
||||
|
||||
All blocks share the same global scope, meaning variables, functions, etc defined in a block are available to subsequent blocks.
|
||||
|
||||
* Modal editing
|
||||
|
||||
Abacus's editor is a modal editor that tries to follow VIM keybinds. The editor has two functional modes:
|
||||
|
||||
** Normal mode
|
||||
In normal mode the cursor is a block and functional keybinds can be used for movement.
|
||||
|
||||
*** Normal mode keybinds
|
||||
| Key | Action |
|
||||
| i | Enter insert mode |
|
||||
| h | Cursor left |
|
||||
| j | Cursor down |
|
||||
| k | Cursor up |
|
||||
| l | Cursor right |
|
||||
| A | Cursor to end of line and enter insert mode |
|
||||
| I | Cursor to beginning of line and enter insert mode |
|
||||
| O | Insert new line below and enter insert mode |
|
||||
| o | Insert new line above and enter insert mode |
|
||||
| b | Scan backward a word |
|
||||
| w | Scan forward a word |
|
||||
| v | Mark selection |
|
||||
| x | Delete current character or selection |
|
||||
|
||||
** Insert mode
|
||||
In insert mode the cursor is a line and text can be edited. To return to normal mode use the ESC key.
|
||||
|
||||
* General Keybinds
|
||||
These keybinds can be used in any mode
|
||||
|
||||
| Key | Action |
|
||||
| CTRL+C | Copy current selection to clipboard |
|
||||
| CTRL+V | Paste clipboard at cursor |
|
||||
| CTRL+N | Create a new block |
|
||||
| CTRL+ENTER | Run all blocks |
|
||||
| SHIFT+ENTER | Run the current block |
|
||||
|
|
Loading…
Reference in New Issue