├── .github ├── dependabot.yml └── workflows │ ├── ci.yml │ ├── dependabot-auto-merge.yml │ └── release.yml ├── .gitignore ├── .golangci.yml ├── .goreleaser.yaml ├── LICENSE ├── Makefile ├── README.md ├── cmd ├── qo │ └── main.go └── root.go ├── doc └── demo │ ├── demo.gif │ ├── demo.tape │ ├── orders.json │ └── users.json ├── go.mod ├── go.sum ├── install.sh ├── internal ├── cli │ ├── cli.go │ └── cli_test.go ├── db │ ├── sqlite.go │ └── sqlite_test.go ├── input │ ├── format.go │ ├── format_test.go │ ├── loader.go │ └── loader_test.go ├── output │ ├── format.go │ ├── format_test.go │ ├── printer.go │ ├── printer_test.go │ ├── value.go │ └── value_test.go ├── parser │ ├── csv.go │ ├── csv_test.go │ ├── json.go │ ├── json_test.go │ └── parser.go ├── testutil │ └── testutil.go └── ui │ ├── column.go │ ├── debounce.go │ ├── debounce_test.go │ ├── input.go │ ├── mode.go │ ├── model.go │ ├── model_test.go │ ├── style.go │ ├── table.go │ ├── table_test.go │ └── view.go └── testdata ├── csv ├── empty.csv ├── noheader.csv ├── simple.csv ├── with_float.csv └── with_quotes.csv ├── json ├── empty.json ├── invalid.json ├── large_column.json ├── large_row.json ├── multiple.json ├── nested.json ├── open_nested.json └── single.json ├── jsonlines ├── jsonl_ext.jsonl └── ndjson_ext.ndjson └── tsv └── simple.tsv /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/dependabot-auto-merge.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/.github/workflows/dependabot-auto-merge.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/.gitignore -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/.golangci.yml -------------------------------------------------------------------------------- /.goreleaser.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/.goreleaser.yaml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/README.md -------------------------------------------------------------------------------- /cmd/qo/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/cmd/qo/main.go -------------------------------------------------------------------------------- /cmd/root.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/cmd/root.go -------------------------------------------------------------------------------- /doc/demo/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/doc/demo/demo.gif -------------------------------------------------------------------------------- /doc/demo/demo.tape: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/doc/demo/demo.tape -------------------------------------------------------------------------------- /doc/demo/orders.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/doc/demo/orders.json -------------------------------------------------------------------------------- /doc/demo/users.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/doc/demo/users.json -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/go.sum -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/install.sh -------------------------------------------------------------------------------- /internal/cli/cli.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/cli/cli.go -------------------------------------------------------------------------------- /internal/cli/cli_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/cli/cli_test.go -------------------------------------------------------------------------------- /internal/db/sqlite.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/db/sqlite.go -------------------------------------------------------------------------------- /internal/db/sqlite_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/db/sqlite_test.go -------------------------------------------------------------------------------- /internal/input/format.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/input/format.go -------------------------------------------------------------------------------- /internal/input/format_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/input/format_test.go -------------------------------------------------------------------------------- /internal/input/loader.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/input/loader.go -------------------------------------------------------------------------------- /internal/input/loader_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/input/loader_test.go -------------------------------------------------------------------------------- /internal/output/format.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/output/format.go -------------------------------------------------------------------------------- /internal/output/format_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/output/format_test.go -------------------------------------------------------------------------------- /internal/output/printer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/output/printer.go -------------------------------------------------------------------------------- /internal/output/printer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/output/printer_test.go -------------------------------------------------------------------------------- /internal/output/value.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/output/value.go -------------------------------------------------------------------------------- /internal/output/value_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/output/value_test.go -------------------------------------------------------------------------------- /internal/parser/csv.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/parser/csv.go -------------------------------------------------------------------------------- /internal/parser/csv_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/parser/csv_test.go -------------------------------------------------------------------------------- /internal/parser/json.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/parser/json.go -------------------------------------------------------------------------------- /internal/parser/json_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/parser/json_test.go -------------------------------------------------------------------------------- /internal/parser/parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/parser/parser.go -------------------------------------------------------------------------------- /internal/testutil/testutil.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/testutil/testutil.go -------------------------------------------------------------------------------- /internal/ui/column.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/ui/column.go -------------------------------------------------------------------------------- /internal/ui/debounce.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/ui/debounce.go -------------------------------------------------------------------------------- /internal/ui/debounce_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/ui/debounce_test.go -------------------------------------------------------------------------------- /internal/ui/input.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/ui/input.go -------------------------------------------------------------------------------- /internal/ui/mode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/ui/mode.go -------------------------------------------------------------------------------- /internal/ui/model.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/ui/model.go -------------------------------------------------------------------------------- /internal/ui/model_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/ui/model_test.go -------------------------------------------------------------------------------- /internal/ui/style.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/ui/style.go -------------------------------------------------------------------------------- /internal/ui/table.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/ui/table.go -------------------------------------------------------------------------------- /internal/ui/table_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/ui/table_test.go -------------------------------------------------------------------------------- /internal/ui/view.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/internal/ui/view.go -------------------------------------------------------------------------------- /testdata/csv/empty.csv: -------------------------------------------------------------------------------- 1 | id,name 2 | -------------------------------------------------------------------------------- /testdata/csv/noheader.csv: -------------------------------------------------------------------------------- 1 | 1,Alice,30 2 | 2,Bob,25 3 | 3,Charlie,35 4 | -------------------------------------------------------------------------------- /testdata/csv/simple.csv: -------------------------------------------------------------------------------- 1 | id,name,age 2 | 1,Alice,30 3 | 2,Bob,25 4 | 3,Charlie,35 5 | -------------------------------------------------------------------------------- /testdata/csv/with_float.csv: -------------------------------------------------------------------------------- 1 | id,name,score 2 | 1,Alice,95.5 3 | 2,Bob,87.3 4 | 3,Charlie,92.0 5 | -------------------------------------------------------------------------------- /testdata/csv/with_quotes.csv: -------------------------------------------------------------------------------- 1 | id,name,description 2 | 1,Alice,"Hello, World" 3 | 2,Bob,"Line with ""quotes""" 4 | -------------------------------------------------------------------------------- /testdata/json/empty.json: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /testdata/json/invalid.json: -------------------------------------------------------------------------------- 1 | {not valid json 2 | -------------------------------------------------------------------------------- /testdata/json/large_column.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/testdata/json/large_column.json -------------------------------------------------------------------------------- /testdata/json/large_row.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/testdata/json/large_row.json -------------------------------------------------------------------------------- /testdata/json/multiple.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/testdata/json/multiple.json -------------------------------------------------------------------------------- /testdata/json/nested.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/testdata/json/nested.json -------------------------------------------------------------------------------- /testdata/json/open_nested.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/testdata/json/open_nested.json -------------------------------------------------------------------------------- /testdata/json/single.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/testdata/json/single.json -------------------------------------------------------------------------------- /testdata/jsonlines/jsonl_ext.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/testdata/jsonlines/jsonl_ext.jsonl -------------------------------------------------------------------------------- /testdata/jsonlines/ndjson_ext.ndjson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiki-ki/go-qo/HEAD/testdata/jsonlines/ndjson_ext.ndjson -------------------------------------------------------------------------------- /testdata/tsv/simple.tsv: -------------------------------------------------------------------------------- 1 | id name age 2 | 1 Alice 30 3 | 2 Bob 25 4 | 3 Charlie 35 5 | --------------------------------------------------------------------------------