A command-line spreadsheet-style utility. Written in C++. Mostly a testing
grounds for writing a parser in the parser-combinator style. (See
/src/formula/....) Might eventually implement a TUI for opening and editing
.latis files, performing spreadsheet computations, who knows.
- Install bazel.
- Install
ncurses-devpackages:sudo apt-get install libncurses5-dev libncursesw5-dev. - Make sure your
.bazelrccontainsbuild --cxxopt='-std=c++2a'. - From the repo root, run
bazel build //src:latis. - Run
bazel-bin/src/latis.
Use addlicense (https://github.com/google/addlicense) to ensure all
necessary files have the Apache license: addlicense -c "Google LLC" -l apache ..
- Need to implement
latis::ui::Windowandlatis::ui::Padsuch that they share a similar API, but Pad can be subaddressed with subrectangle coordinates - Need to design
latis::ui::Gridboxto handle printing multiple forms at locations without the border of alatis::ui::Textbox.- Should
Gridboxhold unique_ptrs to other textboxes? - Should it hold the set of callbacks?
- Can we decompose the grid into broad sections to avoid the number of widgets which need to handle bubble-style calls?
- Should
- Broadly: need to figure out how to test methods related to ncurses. Even
printing a total screen dump and asserting text contents would be helpful.
- Can ncurses and gtest be compiled together?
- Should I be pulling out all ncurses-specific wrappers into a library
further for future generalziation?
- To that end: I don't think anything under
latis::ui::*is reallySsheet-orLatis-aware. Maybe it should be a totally separate src tree.
- To that end: I don't think anything under