-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds support for printing CSV, JSON, Markdown, and LaTeX. Includes support for new --output-format CLI argument as well as new system functions )output.* for toggling output formats interactively at the REPL.
- Loading branch information
Showing
7 changed files
with
185 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -50,19 +50,19 @@ Non-exhaustive list: | |
- TODO: Test coverage. | ||
- TODO: Correct usage of `goal.NewError` vs. `goal.NewPanicError` | ||
- TODO: Option for raw REPL (modeled on Goal's) with better input performance, no auto-complete etc. | ||
- TODO: Goal function to return auto-complete results (esp. if raw REPL is being used). | ||
- TODO: Looser auto-complete, not just prefix-based | ||
- TODO: Functions to conveniently populate SQL tables with Goal values. | ||
- TODO: Support plots/charts (consider https://github.com/wcharczuk/go-chart) | ||
- TODO: User commands (as found in [APL](https://aplwiki.com/wiki/User_command)), executable from Goal or SQL modes | ||
|
||
I plan to support the above items. The following are stretch goals or nice-to-have's: | ||
|
||
- TODO: Use custom table functions via replacement scan to query Goal tables from DuckDB. | ||
- TODO: Looser auto-complete, not just prefix-based | ||
- TODO: `)help` | ||
- TODO: Functions leveraging [time.Time](https://pkg.go.dev/[email protected]) | ||
- TODO: `tui.` functions in CLI mode using https://github.com/charmbracelet/lipgloss (already a transitive dependency) for colored output, etc. | ||
- IN PROGRESS: `tui.` functions in CLI mode using https://github.com/charmbracelet/lipgloss (already a transitive dependency) for colored output, etc. | ||
- TODO: Implement a subset of [q](https://code.kx.com/q/) functions to extend what Goal already has. | ||
- Specific user commands: | ||
- TODO: Choosing output format (e.g., as JSON, perhaps all the ones DuckDB supports) | ||
- TODO: Toggle pretty-printing | ||
- TODO: Toggle paging at the REPL (as found in [PicoLisp](https://picolisp.com/wiki/?home)) | ||
- TODO: Toggle colored output | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,2 @@ | ||
t:csv.t ","csv 'read"data/starwars.csv";(#*t;!t) / (87;"name""height""mass""hair_color""skin_color""eye_color""birth_year""sex""gender""homeworld""species""films""vehicles""starships") | ||
t:json.t@json rq/[{"a":1,"b":2},{"a":10,"b":20},{"a":100,"b":200}]/;(#*t;!t) / (3;"a""b") | ||
|
Oops, something went wrong.