You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3-10Lines changed: 3 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ Then run `ari` for a REPL or `ari --help` to see CLI options.
19
19
-[Goal] is the core language
20
20
- Goal's `lib` files are loaded by default, with prefix matching their file names (see [vendor-goal](vendor-goal) folder in this repo)
21
21
- Extensible CLI REPL with:
22
-
- Auto-completion for:
22
+
- Auto-completion with documentation for:
23
23
- Built-in keywords
24
24
- Built-in syntax aliases (e.g., typing "first" and TAB will show `*` and `¿` in auto-complete results)
25
25
- User-defined globals
@@ -29,21 +29,13 @@ Then run `ari` for a REPL or `ari --help` to see CLI options.
29
29
- Configure the output format with `--output-format` or using one of the `)output.` system commands at the REPL. Formats include CSV/TSV, JSON, Markdown, and LaTeX.
30
30
-`ari.p` is bound to the previous result (value from last evaluation at the REPL)
31
31
- Alternatively run `ari` with `--raw` for a simpler, raw REPL that lacks line editing, history, and auto-complete, but is better suited for interaction via an editor like (Neo)Vim, or if you prefer rlwrap or another line editor to the one that ships with ari.
32
-
- Extensible help system
33
-
-`help"help"` for an overview
34
-
-`help"TOPIC"` similar to Goal's CLI help
35
-
-`help rx/search/` to use regular expression matching to find help entries that match
36
-
-`"myvar" help "My Var Help"` to extend the help system with new documentation
37
-
-`help""` returns entire help dictionary (including non-Goal help for the SQL mode; use `(help"")"goal"` for just the Goal help)
38
-
- Auto-complete shows abbreviated help for each result.
39
32
- New Goal functions:
40
33
-`http.` functions for HTTP requests using [Resty]
41
34
-`sql.` functions for SQL queries and commands
42
35
-`tt.` test framework
43
36
-`csv.tbl` and `json.tbl` to make Goal tables from the output of `csv` and `json` respectively
44
37
-_(WIP)_`time.` functions for more extensive date/time handling
45
38
-`tui.` functions for basic terminal UI styling (colors, padding/margin, borders)
46
-
-`glob` and `abspath` wrapping Go's `path/filepath.Glob` and `path/filepath.Abs` functions respectively
47
39
- Dedicated SQL mode
48
40
- The ari CLI uses DuckDB, but the `github.com/semperos/ari` Go package doesn't directly depend on a specific SQL database driver, so you can BYODB.
49
41
- Activate with `)sql` for read-only, `)sql!` for read/write modes. Execute `)goal` to return to the default Goal mode.
@@ -58,7 +50,8 @@ See [CHANGES.md](CHANGES.md) for recent changes.
58
50
Non-exhaustive list:
59
51
60
52
- TODO: Test coverage (Go reports 14% coverage, currently minimal Goal-level testing as well)
61
-
- TODO: Calculate help just in time; leverage Goal's new `HelpFunc`
53
+
- TODO: System functions to switch between rich and raw REPL `)repl.rich` and `)repl.raw`
54
+
- TODO: System function for extensible `)help`
62
55
- TODO: Consider which of ari's functions should be pervasive; review Goal's approach and implement
63
56
- TODO: BUG When using `-l` flag, loaded files aren't completely evaluated. Evaluation stops partway through and it's not immediately clear why.
64
57
- TODO: BUG `json.tbl` produces improper zero values when keys are missing. Where possible, column lists should be of uniform type and not generic if the data allows for it.
0 commit comments