readme and create issue
Some checks failed
Test Rust project / test (ubuntu-latest, stable) (push) Failing after 38s
Some checks failed
Test Rust project / test (ubuntu-latest, stable) (push) Failing after 38s
This commit is contained in:
@@ -2,8 +2,12 @@
|
|||||||
|
|
||||||
*New* Spreadsheet Calculator Improved
|
*New* Spreadsheet Calculator Improved
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
Based loosely off sc-im (spreadsheet calculator improvised), which has dumb keybinds and not many features.
|
Based loosely off sc-im (spreadsheet calculator improvised), which has dumb keybinds and not many features.
|
||||||
|
|
||||||
|
[Checkout a demo file](readme/demo.nscim), download, then open with `neoscim demo.nscim`.
|
||||||
|
|
||||||
## Keybinds
|
## Keybinds
|
||||||
|
|
||||||
### Normal mode
|
### Normal mode
|
||||||
|
|||||||
21
readme/demo.nscim
Normal file
21
readme/demo.nscim
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
,,,
|
||||||
|
Most of vim's movement works here as well,,,
|
||||||
|
,,,
|
||||||
|
,i,,
|
||||||
|
j,Movement,l,
|
||||||
|
,j,,
|
||||||
|
,,,
|
||||||
|
,"insert text with r, i, or a",,
|
||||||
|
,,,
|
||||||
|
1,,,
|
||||||
|
1,Text can overflow cells,,
|
||||||
|
1,But may get cut off if it's too long,,10
|
||||||
|
1,,,If it reaches another cell
|
||||||
|
1,,,
|
||||||
|
Total:,=sum(A:A),Sum A:A,
|
||||||
|
,=math::log2(B14),Do math on the output of another function,
|
||||||
|
,,,
|
||||||
|
,,,
|
||||||
|
,,11,Number.
|
||||||
|
,,=C18+1,Referencing the number and adding 1
|
||||||
|
,,,Copying the cell down will translate the reference
|
||||||
BIN
readme/screenshot.png
Normal file
BIN
readme/screenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
@@ -367,3 +367,21 @@ fn copy_paste_var_in_function() {
|
|||||||
let a = app.grid.get_cell("A2").as_ref().expect("Should've been set by paste");
|
let a = app.grid.get_cell("A2").as_ref().expect("Should've been set by paste");
|
||||||
assert_eq!(a.to_string(), "=math::log2(A1)");
|
assert_eq!(a.to_string(), "=math::log2(A1)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn copy_paste_range_in_function() {
|
||||||
|
let mut app = App::new();
|
||||||
|
app.grid.set_cell("A0", 1.to_string());
|
||||||
|
app.grid.set_cell("A1", 1.to_string());
|
||||||
|
app.grid.set_cell("A2", 1.to_string());
|
||||||
|
|
||||||
|
app.grid.set_cell("B0", "=sum(A:A)".to_string());
|
||||||
|
app.grid.mv_cursor_to(1, 0);
|
||||||
|
app.mode = super::mode::Mode::Chord(Chord::new('y'));
|
||||||
|
Mode::process_key(&mut app, 'y');
|
||||||
|
Mode::process_key(&mut app, 'l');
|
||||||
|
Mode::process_key(&mut app, 'p');
|
||||||
|
|
||||||
|
let a = app.grid.get_cell("C0").as_ref().expect("Should've been set by paste");
|
||||||
|
assert_eq!(a.to_string(), "=sum(B:B)");
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user