abacus/abacus-ui
Joe Bellus 4efb5c1853
continuous-integration/drone/pr Build is passing Details
Math & Phyics Constants
Scripting now has a math and physics module which include several
basic constants
2022-10-19 23:47:51 -04:00
..
assets Foundational UI (#1) 2022-10-16 18:14:55 +00:00
src Math & Phyics Constants 2022-10-19 23:47:51 -04:00
Cargo.toml CI/CD Pipelines (#2) 2022-10-17 02:59:09 +00:00
README.org Added yank editor commands 2022-10-17 15:12:47 -04:00

README.org

Abacus UI

Abacus UI is the desktop GUI for Abacus.

For General information visit Abacus For information on the scripting visit 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
dd Delete the current line
cw Change word forward
cb Change word backward
y Yank selection
Y Yank line
p Paste line at cursor
P Paste line below

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