@profullstack/readm3 0.20.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -69,6 +69,7 @@ npx @profullstack/readm3
69
69
  readm3 # browse markdown under the current directory
70
70
  readm3 ./docs # browse a directory
71
71
  readm3 CHANGELOG.md # open a file, browse its directory
72
+ readm3 sales.csv # a CSV or TSV opens as a sortable, filterable grid
72
73
  readm3 --theme nord # pick a palette
73
74
  ```
74
75
 
@@ -82,6 +83,7 @@ readm3 --print CHANGELOG.md # rendered, colored, to the terminal
82
83
  readm3 --print README.md | less -R # into a pager
83
84
  curl -s https://example.com/x.md | readm3 --print
84
85
  readm3 --print notes.md | grep TODO # no escapes when stdout is a pipe
86
+ readm3 --print data.csv # a CSV or TSV prints as an aligned table
85
87
  ```
86
88
 
87
89
  Color follows the usual rules: on when stdout is a terminal, off when it is not,
@@ -89,7 +91,7 @@ and `NO_COLOR` / `FORCE_COLOR` are honored. `--color always|never|auto` override
89
91
  that either way. With `--print`, `--width` sets the render width rather than the
90
92
  sidebar.
91
93
 
92
- The browser only shows markdown. Directories with nothing beneath them are
94
+ The browser shows markdown and tables (`.csv`, `.tsv`, `.tab`, `.psv`). Directories with nothing beneath them are
93
95
  pruned, `node_modules` and friends are never walked, and README sorts first.
94
96
 
95
97
  ## Keys
@@ -108,6 +110,43 @@ pruned, `node_modules` and friends are never walked, and README sorts first.
108
110
  The mouse works too: the wheel scrolls whichever pane it is over, and a click
109
111
  opens a file.
110
112
 
113
+ ### Tables
114
+
115
+ A CSV or TSV opens as a grid instead of as text, in the spirit of
116
+ [tabiew](https://github.com/shshemi/tabiew): a frozen header, row numbers, a cell
117
+ cursor, and columns that scroll in from the side. The delimiter (comma, tab,
118
+ semicolon, pipe) and the header row are detected, quoted fields with commas and
119
+ line breaks are read correctly, and every column is typed (number, date, yes/no,
120
+ text) so sorting and comparisons read values the way people do.
121
+
122
+ | | |
123
+ |---|---|
124
+ | `←` `↑` `↓` `→` `h` `j` `k` `l` | move the cell cursor (`←` on the first column returns to the files) |
125
+ | `0` `$` | first / last column |
126
+ | `o` | sort by the cursor's column: ascending, descending, off |
127
+ | `/` | filter the rows |
128
+ | `enter` | the row as a sheet, every column on its own line |
129
+ | `c` | the column's statistics: rows, empty, distinct, min, max, sum, mean, median, top values |
130
+ | `v` | the raw text instead of the grid |
131
+ | `e` | edit the text, as with any file |
132
+
133
+ The filter takes space-separated terms that must all match: `london` (any cell),
134
+ `city:london` (that column contains it), `status=open`, `country!=US`, `age>30`,
135
+ `price<=9.99`, `joined>=2024-01-01`, `#3>10` (the third column), and `!draft` to
136
+ negate. Quote a value with spaces: `city:"new york"`.
137
+
138
+ The same grid is in the web editor, the desktop app and on paste links: click a
139
+ column to sort, Σ for its statistics, a row to see it whole, and **Copy view** /
140
+ **Download view** for just the rows you kept. A paste with no file name is
141
+ recognised as a table from its content. The terminal grid is hqtui's `dataGrid`
142
+ widget; the parsing is `src/csv.ts`, shared by every surface.
143
+
144
+ Agents get it through the MCP server (`readm3 mcp`) as `table_query`: point it at
145
+ CSV text, a local `path`, a paste link or a raw `url`, with an optional `filter`,
146
+ `sort`/`descending`, `limit`/`offset` and a `stats` column, and it returns the typed
147
+ columns, the match count and just the rows asked for, so a 50,000-row file never
148
+ has to go into context whole. It runs locally and needs no account.
149
+
111
150
  ### Editing
112
151
 
113
152
  `e` puts the caret in the file. `esc` takes it out, and the preview re-renders
@@ -376,7 +415,7 @@ directly with no credentials or server proxy. Local files are uploaded only when
376
415
  | | Without an account | Free account | Pay as you go |
377
416
  | --- | --- | --- | --- |
378
417
  | Largest file | 4 MB | 5 GB | 5 GB |
379
- | Number of files | 1,000 (20 MB in all) | 5,000 | 5,000 |
418
+ | Number of files | 1,000 (20 MB in all) | 1,000,000 (250,000 synced) | 1,000,000 (250,000 synced) |
380
419
  | Synced storage | none | 5 GB | $0.05 per GB a month over 5 GB |
381
420
 
382
421
  The meter beside Sync in the editor's header shows storage and files against these
@@ -777,7 +816,7 @@ explicitly overrides a conflict. Replaced local files receive numbered `.bak-NNN
777
816
  backups. Browser replacements receive backups in IndexedDB, accessible through
778
817
  **Sync → Local backups** for download or restoration. Clearing browser site data
779
818
  also removes those local backups. The CLI syncs a readable workspace of up to 4 MB
780
- per file and 20 MB in total; the browser and desktop app sync up to 5,000 files of
819
+ per file and 20 MB in total; the browser and desktop app sync up to 250,000 files (a workspace holds up to 1,000,000) of
781
820
  up to 5 GB each (see File limits and storage).
782
821
 
783
822
  The authenticated API exposes:
@@ -21,7 +21,12 @@ export declare const GiB: number;
21
21
  /** The largest single file an account may keep. */
22
22
  export declare const MAX_BLOB_BYTES: number;
23
23
  /** Files in one signed-in workspace (signed out, the workspace keeps 1,000). */
24
- export declare const MAX_ACCOUNT_FILES = 5000;
24
+ export declare const MAX_ACCOUNT_FILES = 1000000;
25
+ /**
26
+ * Files one synced workspace carries. Every file's reference is about 100 bytes sealed
27
+ * (its own random key does not compress), so this many fit the 32 MB snapshot with room.
28
+ */
29
+ export declare const MAX_SYNC_FILES = 250000;
25
30
  /** Storage every signed-in account gets free; more is pay as you go from the prepaid balance. */
26
31
  export declare const FREE_STORAGE_BYTES: number;
27
32
  /** Pay as you go: micro-dollars per GiB stored per month, over the free allowance. */
@@ -1 +1 @@
1
- {"version":3,"file":"blob-store.d.ts","sourceRoot":"","sources":["../src/blob-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,GAAG,QAAY,CAAC;AAC7B,mDAAmD;AACnD,eAAO,MAAM,cAAc,QAAU,CAAC;AACtC,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,iGAAiG;AACjG,eAAO,MAAM,kBAAkB,QAAU,CAAC;AAC1C,sFAAsF;AACtF,eAAO,MAAM,4BAA4B,QAAS,CAAC;AACnD,qFAAqF;AACrF,eAAO,MAAM,WAAW,QAAkB,CAAC;AAC3C,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,oGAAoG;AACpG,eAAO,MAAM,gBAAgB,QAAkB,CAAC;AAChD,+FAA+F;AAC/F,eAAO,MAAM,qBAAqB,QAAmB,CAAC;AAEtD,MAAM,WAAW,OAAO;IACtB,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAqD,CAAC;AAEzG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAS5D;AASD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAAoD,CAAC;AAC/F,4DAA4D;AAC5D,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,GAAG,MAAM,KAAG,MAAoE,CAAC;AAC/H,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,GAAG,MAAM,KAAG,MAA8C,CAAC;AAC1G,0FAA0F;AAC1F,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAA6C,CAAC;AAUzF,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAElG;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAGnG;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAC+H,CAAC"}
1
+ {"version":3,"file":"blob-store.d.ts","sourceRoot":"","sources":["../src/blob-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,GAAG,QAAY,CAAC;AAC7B,mDAAmD;AACnD,eAAO,MAAM,cAAc,QAAU,CAAC;AACtC,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,UAAY,CAAC;AAC3C;;;GAGG;AACH,eAAO,MAAM,cAAc,SAAU,CAAC;AACtC,iGAAiG;AACjG,eAAO,MAAM,kBAAkB,QAAU,CAAC;AAC1C,sFAAsF;AACtF,eAAO,MAAM,4BAA4B,QAAS,CAAC;AACnD,qFAAqF;AACrF,eAAO,MAAM,WAAW,QAAkB,CAAC;AAC3C,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,oGAAoG;AACpG,eAAO,MAAM,gBAAgB,QAAkB,CAAC;AAChD,+FAA+F;AAC/F,eAAO,MAAM,qBAAqB,QAAmB,CAAC;AAEtD,MAAM,WAAW,OAAO;IACtB,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAqD,CAAC;AAEzG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAS5D;AASD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAAoD,CAAC;AAC/F,4DAA4D;AAC5D,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,GAAG,MAAM,KAAG,MAAoE,CAAC;AAC/H,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,GAAG,MAAM,KAAG,MAA8C,CAAC;AAC1G,0FAA0F;AAC1F,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAA6C,CAAC;AAUzF,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAElG;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAGnG;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAC+H,CAAC"}
@@ -21,7 +21,12 @@ export const GiB = 1024 ** 3;
21
21
  /** The largest single file an account may keep. */
22
22
  export const MAX_BLOB_BYTES = 5 * GiB;
23
23
  /** Files in one signed-in workspace (signed out, the workspace keeps 1,000). */
24
- export const MAX_ACCOUNT_FILES = 5000;
24
+ export const MAX_ACCOUNT_FILES = 1_000_000;
25
+ /**
26
+ * Files one synced workspace carries. Every file's reference is about 100 bytes sealed
27
+ * (its own random key does not compress), so this many fit the 32 MB snapshot with room.
28
+ */
29
+ export const MAX_SYNC_FILES = 250_000;
25
30
  /** Storage every signed-in account gets free; more is pay as you go from the prepaid balance. */
26
31
  export const FREE_STORAGE_BYTES = 5 * GiB;
27
32
  /** Pay as you go: micro-dollars per GiB stored per month, over the free allowance. */
@@ -1 +1 @@
1
- {"version":3,"file":"blob-store.js","sourceRoot":"","sources":["../src/blob-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blob-store.js","sourceRoot":"","sources":["../src/blob-store.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type ColorMode } from "./print.ts";
2
2
  import { type ViewerOptions } from "./viewer.ts";
3
- export declare const VERSION = "0.20.0";
3
+ export declare const VERSION = "0.24.0";
4
4
  /** The help text, exported so a test can hold it to the flags it documents. */
5
5
  export declare const USAGE: string;
6
6
  export interface ParsedArgs extends ViewerOptions {
package/dist/cli.js CHANGED
@@ -11,7 +11,7 @@ import { printDocument, COLOR_MODES } from "./print.js";
11
11
  import { run } from "./viewer.js";
12
12
  import { isCloudCommand, cloudMain, CLOUD_USAGE } from "./cloud-cli.js";
13
13
  import { isDesktopCommand, desktopMain, installedDesktop, prefersDesktop, DESKTOP_USAGE } from "./desktop-cli.js";
14
- export const VERSION = "0.20.0";
14
+ export const VERSION = "0.24.0";
15
15
  /** The help text, exported so a test can hold it to the flags it documents. */
16
16
  export const USAGE = `readm3 — a plain text editor for Markdown and code
17
17
 
@@ -1 +1 @@
1
- {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../src/code.ts"],"names":[],"mappings":"AAsDA,MAAM,WAAW,QAAQ;IACvB,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,wFAAwF;IACxF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,eAAO,MAAM,SAAS,EAAE,QAAQ,EAuC/B,CAAC;AAeF;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AA0B/F,iGAAiG;AACjG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAElF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUjD;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,CAElE;AAED,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAErF;AAqED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAgBlF;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAoBpD;AAED,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAKvG;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBzE;AAED,MAAM,WAAW,UAAU;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;CAAE;AAY3D;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAmBzD"}
1
+ {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../src/code.ts"],"names":[],"mappings":"AAuDA,MAAM,WAAW,QAAQ;IACvB,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,wFAAwF;IACxF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,eAAO,MAAM,SAAS,EAAE,QAAQ,EAyC/B,CAAC;AAeF;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AA0B/F,iGAAiG;AACjG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAElF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUjD;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,CAElE;AAED,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAErF;AAqED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAgBlF;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAqBpD;AAED,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAKvG;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBzE;AAED,MAAM,WAAW,UAAU;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;CAAE;AAY3D;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAmBzD"}
package/dist/code.js CHANGED
@@ -51,6 +51,7 @@ import swift from "highlight.js/lib/languages/swift";
51
51
  import typescript from "highlight.js/lib/languages/typescript";
52
52
  import xml from "highlight.js/lib/languages/xml";
53
53
  import yaml from "highlight.js/lib/languages/yaml";
54
+ import { looksLikeTable, TABLE_LANGUAGE } from "./csv.js";
54
55
  export const MARKDOWN = "markdown";
55
56
  export const PLAINTEXT = "plaintext";
56
57
  export const LANGUAGES = [
@@ -91,7 +92,9 @@ export const LANGUAGES = [
91
92
  { id: "diff", label: "Diff", extensions: ["diff", "patch"], mime: "text/x-diff" },
92
93
  { id: "graphql", label: "GraphQL", extensions: ["graphql", "gql"], mime: "application/graphql" },
93
94
  { id: "protobuf", label: "Protocol Buffers", extensions: ["proto"], mime: "text/plain" },
94
- { id: "plaintext", label: "Plain text", extensions: ["txt", "text", "log", "csv", "tsv"], mime: "text/plain", auto: false },
95
+ // Tables have no grammar: every surface draws them as a grid (src/csv.ts) instead of highlighting them.
96
+ { id: TABLE_LANGUAGE, label: "CSV / TSV", extensions: ["csv", "tsv", "tab", "psv"], mime: "text/csv", auto: false },
97
+ { id: "plaintext", label: "Plain text", extensions: ["txt", "text", "log"], mime: "text/plain", auto: false },
95
98
  ];
96
99
  const grammars = {
97
100
  bash, c, cpp, csharp, css, dart, diff, dockerfile, elixir, go, graphql, haskell, ini, java, javascript, json,
@@ -276,6 +279,8 @@ export function sniffLanguage(source) {
276
279
  return "diff";
277
280
  if (looksLikeMarkdown(source))
278
281
  return MARKDOWN;
282
+ if (looksLikeTable(source))
283
+ return TABLE_LANGUAGE;
279
284
  const [best, second] = scoreSignals(source);
280
285
  if (best && best.score >= 2 && best.score > (second?.score ?? 0))
281
286
  return best.language;
package/dist/code.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"code.js","sourceRoot":"","sources":["../src/code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code.js","sourceRoot":"","sources":["../src/code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,CAAC,MAAM,8BAA8B,CAAC;AAC7C,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAC/D,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC/C,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAC/D,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAC3D,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAC3D,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAC/D,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,SAAS,MAAM,sCAAsC,CAAC;AAC7D,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAC/D,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAC3D,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,CAAC,MAAM,8BAA8B,CAAC;AAC7C,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAC/D,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAa1D,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,SAAS,GAAe;IACnC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;IAChI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACzH,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE;IAC3G,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE;IAC3G,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE;IAC1F,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC5G,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACpF,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;IAC1I,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IAClE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IAChF,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE;IACzE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;IAChE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IACtE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IACxE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE;IACnF,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;IAC5E,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IACjE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;IAC5G,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE;IACxE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC9F,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IAC1F,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IACzF,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IAC5E,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;IACpE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IAC5D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC7E,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE;IACnF,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC/E,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;IAClF,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACjG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;IAChI,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;IACzF,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;IACzF,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;IACvF,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IACjF,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE;IAChG,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;IACxF,wGAAwG;IACxG,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;IACnH,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;CAC9G,CAAC;AAEF,MAAM,QAAQ,GAAgE;IAC5E,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;IAC5G,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI;IAC/G,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI;CACrD,CAAC;AACF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1H,IAAI,CAAC,SAAS,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;AAChD,KAAK,MAAM,QAAQ,IAAI,SAAS;IAAE,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU;QAAE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACpH,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAQ3G,MAAM,KAAK,GAAG,+CAA+C,CAAC;AAC9D,MAAM,GAAG,GAAG,oCAAoC,CAAC;AACjD,MAAM,YAAY,GAA+B;IAC/C,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3D,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC7D,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IAChE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC7D,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IAChE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IAChE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE;IAChE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE;IAC3D,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE;IACjE,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,4BAA4B,EAAE,KAAK,EAAE,eAAe,EAAE;IAC9F,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAChF,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,sBAAsB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACzF,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,mBAAmB,EAAE;IACvF,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,8BAA8B,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAClG,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAC7F,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAC1E,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,cAAc,EAAE,KAAK,EAAE,0BAA0B,EAAE;IACxF,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,eAAe,EAAE,KAAK,EAAE,2BAA2B,EAAE;IAC1F,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,WAAW,EAAE;CAC7E,CAAC;AAEF,iGAAiG;AACjG,MAAM,UAAU,UAAU,CAAC,IAA+B;IACxD,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,EAAE,CAAC;aAC/E,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAA6B;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;AACnD,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,eAAe,CAAC,IAA+B;IAC7D,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,MAAM,QAAQ,GAAuB;IACnC,CAAC,2BAA2B,EAAE,MAAM,CAAC;IACrC,CAAC,wBAAwB,EAAE,QAAQ,CAAC;IACpC,CAAC,4BAA4B,EAAE,YAAY,CAAC;IAC5C,CAAC,eAAe,EAAE,MAAM,CAAC;IACzB,CAAC,eAAe,EAAE,MAAM,CAAC;IACzB,CAAC,cAAc,EAAE,KAAK,CAAC;IACvB,CAAC,eAAe,EAAE,YAAY,CAAC;CAChC,CAAC;AAEF,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACpE,IAAI,CAAC;QAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,MAAc;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;eACtF,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;IACvG,CAAC;IACD,OAAO,OAAO,IAAI,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,GAA6B;IACxC,MAAM,EAAE,CAAC,yBAAyB,EAAE,0DAA0D,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,mCAAmC,EAAE,UAAU,EAAE,cAAc,EAAE,6BAA6B,CAAC;IACzP,UAAU,EAAE,CAAC,4BAA4B,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,oCAAoC,EAAE,iBAAiB,EAAE,eAAe,EAAE,mCAAmC,CAAC;IAC1P,UAAU,EAAE,CAAC,wDAAwD,EAAE,gCAAgC,EAAE,0CAA0C,EAAE,kBAAkB,EAAE,cAAc,EAAE,2BAA2B,EAAE,uBAAuB,CAAC;IAC9O,EAAE,EAAE,CAAC,gBAAgB,EAAE,qCAAqC,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,yBAAyB,CAAC;IAC3J,IAAI,EAAE,CAAC,sBAAsB,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,SAAS,EAAE,0BAA0B,EAAE,sBAAsB,CAAC;IACxL,IAAI,EAAE,CAAC,2EAA2E,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,6BAA6B,EAAE,sBAAsB,CAAC;IAChM,MAAM,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,4CAA4C,EAAE,mBAAmB,EAAE,cAAc,CAAC;IACvJ,MAAM,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,YAAY,EAAE,4BAA4B,EAAE,cAAc,EAAE,aAAa,CAAC;IAC5H,KAAK,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,uCAAuC,EAAE,eAAe,EAAE,mBAAmB,CAAC;IAC9I,IAAI,EAAE,CAAC,kCAAkC,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,qCAAqC,EAAE,+BAA+B,EAAE,UAAU,CAAC;IACjM,GAAG,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,qDAAqD,EAAE,gBAAgB,EAAE,+BAA+B,CAAC;IACpJ,IAAI,EAAE,CAAC,kDAAkD,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kCAAkC,EAAE,uCAAuC,EAAE,qFAAqF,EAAE,aAAa,EAAE,cAAc,CAAC;IACvS,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,sBAAsB,CAAC;IAC3E,GAAG,EAAE,CAAC,oCAAoC,EAAE,+BAA+B,EAAE,yCAAyC,EAAE,yBAAyB,EAAE,6DAA6D,CAAC;IACjN,IAAI,EAAE,CAAC,sBAAsB,EAAE,iCAAiC,EAAE,aAAa,EAAE,2BAA2B,CAAC;IAC7G,GAAG,EAAE,CAAC,8FAA8F,EAAE,aAAa,EAAE,YAAY,EAAE,mCAAmC,EAAE,4BAA4B,EAAE,gBAAgB,CAAC;IACvN,GAAG,EAAE,CAAC,aAAa,EAAE,wCAAwC,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,CAAC;IACvG,CAAC,EAAE,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,YAAY,EAAE,kCAAkC,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,aAAa,CAAC;IAC7J,GAAG,EAAE,CAAC,8DAA8D,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,kCAAkC,EAAE,aAAa,EAAE,eAAe,CAAC;IACrL,GAAG,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,SAAS,EAAE,sBAAsB,CAAC;IACtF,UAAU,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,uBAAuB,EAAE,wCAAwC,CAAC;IACvG,QAAQ,EAAE,CAAC,+BAA+B,EAAE,gBAAgB,EAAE,YAAY,EAAE,sBAAsB,CAAC;IACnG,GAAG,EAAE,CAAC,gBAAgB,EAAE,wCAAwC,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC;IACjH,OAAO,EAAE,CAAC,+DAA+D,EAAE,0CAA0C,EAAE,aAAa,EAAE,gCAAgC,CAAC;IACvK,QAAQ,EAAE,CAAC,uBAAuB,EAAE,qBAAqB,EAAE,6CAA6C,EAAE,0BAA0B,CAAC;IACrI,IAAI,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,sCAAsC,CAAC;CAC7F,CAAC;AAEF,gGAAgG;AAChG,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,QAAQ;QACR,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAClF,CAAC,CAAC,CAAC;IACJ,0FAA0F;IAC1F,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,YAAY,CAAE,CAAC;IAC5E,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,YAAY,CAAE,CAAC;IAC5E,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,qDAAqD;IACrD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAE,CAAC;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAE,CAAC;IAC9D,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,QAAQ;QAAE,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;IACxE,IAAI,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9F,IAAI,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACxH,IAAI,iBAAiB,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/C,IAAI,cAAc,CAAC,MAAM,CAAC;QAAE,OAAO,cAAc,CAAC;IAClD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvF,wFAAwF;IACxF,wFAAwF;IACxF,sFAAsF;IACtF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACrC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,IAAI,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,QAAQ,IAAI,SAAS,IAAI,EAAE,IAAI,SAAS,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IAC5F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,cAAc,CAAC,IAA+B,EAAE,MAAc;IAC5E,OAAO,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,MAAc;IAC/D,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;IACxI,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,QAAgB;IAC7D,kFAAkF;IAClF,uFAAuF;IACvF,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;IACvF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC;IAClF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;aACnD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAAC,IAAI,IAAI,SAAS,CAAC;QAAC,CAAC;aAChD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;;YACzF,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACf,CAAC;AAID,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACrB,IAAI,IAAI,KAAK,IAAI;YAAE,KAAK,IAAI,CAAC,CAAC;;YAC9B,MAAM;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,KAAe;IACzC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAE,CAAC;QAC/B,IAAI,MAAM,GAAG,CAAC;YAAE,SAAS;QACzB,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAE,GAAG,CAAC;YAAE,IAAI,EAAE,CAAC;QACzD,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAE,IAAI,MAAM;YAAE,SAAS;QAC/D,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;QACtB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAE,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YACpF,IAAI,OAAO,CAAC,MAAM,CAAE,IAAI,CAAC;gBAAE,GAAG,GAAG,MAAM,CAAC;YACxC,MAAM,EAAE,CAAC;QACX,CAAC;QACD,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC;YAAE,GAAG,GAAG,MAAM,CAAC;QACtH,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/csv.d.ts ADDED
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Tables: CSV, TSV and their cousins, read into rows of strings and viewed as a grid.
3
+ *
4
+ * One module for every surface. The terminal reader draws the result with hqtui's data
5
+ * grid, the web viewer builds a <table> from it, `--print` lays it out as text, and the
6
+ * paste service uses `looksLikeTable` to recognise a pasted CSV. Nothing here touches a
7
+ * DOM, a terminal or a file, so all of it is tested without either.
8
+ *
9
+ * Inspired by tabiew (github.com/shshemi/tabiew): sort by any column, filter rows,
10
+ * open one row as a sheet, and per-column statistics. Querying is a small filter
11
+ * language rather than SQL: `city:london age>30 !draft`.
12
+ */
13
+ export declare const TABLE_LANGUAGE = "csv";
14
+ export type Delimiter = "," | "\t" | ";" | "|";
15
+ export declare const DELIMITERS: Delimiter[];
16
+ export type ColumnType = "number" | "date" | "boolean" | "text";
17
+ export interface Column {
18
+ name: string;
19
+ type: ColumnType;
20
+ }
21
+ export interface Table {
22
+ delimiter: Delimiter;
23
+ /** Whether the first record was taken as column names. */
24
+ header: boolean;
25
+ columns: Column[];
26
+ /** Data records, every one padded or cut to the column count. */
27
+ rows: string[][];
28
+ /** Records with a different field count than the header (or the widest record), before padding. */
29
+ ragged: number;
30
+ }
31
+ export interface ParseOptions {
32
+ delimiter?: Delimiter | undefined;
33
+ /** Force a header row on or off; detected when omitted. */
34
+ header?: boolean | undefined;
35
+ /** File name, so `.tsv` means tabs without sniffing. */
36
+ name?: string | undefined;
37
+ }
38
+ export declare const TABLE_EXTENSIONS: string[];
39
+ /** Whether a file name is one the table view opens. */
40
+ export declare function isTableName(name: string | null | undefined): boolean;
41
+ /**
42
+ * RFC 4180 records: quoted fields may hold the delimiter, quotes ("" escapes one) and
43
+ * line breaks; CRLF, LF and lone CR all end a record; a leading BOM is dropped. One
44
+ * pass, no regex per character, so a 4 MB file parses in milliseconds.
45
+ */
46
+ export declare function parseRecords(source: string, delimiter: Delimiter, limit?: number): string[][];
47
+ /**
48
+ * The delimiter a text uses: the candidate that splits the first lines into the same
49
+ * number of fields (more than one) most consistently. Ties go to the order of
50
+ * DELIMITERS, so a comma wins over a semicolon that merely appears in the data.
51
+ */
52
+ export declare function sniffDelimiter(source: string, name?: string): Delimiter;
53
+ /**
54
+ * Whether pasted text with no file name is a table. Strict on purpose, because prose
55
+ * and code have commas too: at least three records, every sampled one with the same
56
+ * field count of two or more, and no line ending the way code does.
57
+ */
58
+ export declare function looksLikeTable(source: string): boolean;
59
+ /** A cell as a number, or NaN: thousands commas, a currency sign and a % are allowed. */
60
+ export declare function toNumber(cell: string): number;
61
+ /** A column's type: what at least 95% of its non-empty sampled cells are. */
62
+ export declare function inferType(cells: readonly string[]): ColumnType;
63
+ /**
64
+ * Whether the first record names the columns. It does unless it looks like data: a
65
+ * value typed the way the rest of its column is (a number over numbers), a blank, or
66
+ * a repeated name.
67
+ */
68
+ export declare function detectHeader(records: readonly string[][]): boolean;
69
+ /** Spreadsheet column names: A … Z, AA, AB … for a file with no header. */
70
+ export declare function letterName(index: number): string;
71
+ export declare function parseTable(source: string, options?: ParseOptions): Table;
72
+ export interface Sort {
73
+ column: number;
74
+ descending?: boolean;
75
+ }
76
+ /** Compares two cells the way their column's type reads; empty cells always sort last. */
77
+ export declare function compareCells(a: string, b: string, type: ColumnType): number;
78
+ /** One filter term: free text, `col:text`, or `col` with = != > >= < <=. */
79
+ export interface FilterTerm {
80
+ column: number | null;
81
+ op: ":" | "=" | "!=" | ">" | ">=" | "<" | "<=";
82
+ value: string;
83
+ negate: boolean;
84
+ }
85
+ /**
86
+ * Parses a filter. Terms are separated by spaces and must all match. A term is free
87
+ * text (any cell contains it), `column:text` (that column contains it), or a
88
+ * comparison such as `age>30`, `price<=9.99`, `status=open`, `country!=US`. A leading
89
+ * `!` negates. Quotes keep spaces: `city:"new york"`. A column is named, or numbered
90
+ * from 1 (`#3>10`). Unknown column names fall back to free text.
91
+ */
92
+ export declare function parseFilter(query: string, columns: readonly Column[]): FilterTerm[];
93
+ /**
94
+ * The rows to show, as indices into `table.rows`: filtered, then sorted. The sort is
95
+ * stable, so sorting by one column and then another keeps ties in the earlier order.
96
+ */
97
+ export declare function viewRows(table: Table, options?: {
98
+ filter?: string;
99
+ sort?: Sort | null;
100
+ }): number[];
101
+ /** The next sort after a click on `column`: ascending, then descending, then none. */
102
+ export declare function nextSort(current: Sort | null | undefined, column: number): Sort | null;
103
+ export interface ColumnStats {
104
+ name: string;
105
+ type: ColumnType;
106
+ count: number;
107
+ empty: number;
108
+ unique: number;
109
+ min?: string;
110
+ max?: string;
111
+ sum?: number;
112
+ mean?: number;
113
+ median?: number;
114
+ /** The most frequent values, most first, at most five. */
115
+ top: {
116
+ value: string;
117
+ count: number;
118
+ }[];
119
+ }
120
+ /** Statistics for one column over the given rows (the filtered view, by default all). */
121
+ export declare function columnStats(table: Table, column: number, indices?: readonly number[]): ColumnStats;
122
+ /** A number as people read it: grouped, at most four decimals. */
123
+ export declare function formatNumber(n: number): string;
124
+ /** Stats as label/value pairs, for a dialog or a modal. */
125
+ export declare function statsRows(stats: ColumnStats): {
126
+ label: string;
127
+ value: string;
128
+ }[];
129
+ /** The delimiter as people name it. */
130
+ export declare function delimiterName(delimiter: Delimiter): string;
131
+ /** A field written back out, quoted only when it has to be. */
132
+ export declare function quoteField(cell: string, delimiter: Delimiter): string;
133
+ /** The view (filtered, sorted) back as delimited text, header first. */
134
+ export declare function toDelimited(table: Table, indices: readonly number[], delimiter?: Delimiter): string;
135
+ /** A cell for one line of a fixed-width layout: first line only, tabs as spaces. */
136
+ export declare function displayCell(cell: string): string;
137
+ /** Numbers and dates read right-aligned, the way a spreadsheet shows them. */
138
+ export declare function alignOf(type: ColumnType): "left" | "right";
139
+ /**
140
+ * The table as a GFM pipe table, every cell escaped so nothing in the data turns into
141
+ * formatting. `--print` renders a CSV through this, so it shares the Markdown
142
+ * renderer's column fitting instead of growing a second one.
143
+ */
144
+ export declare function toMarkdownTable(table: Table, indices?: readonly number[]): string;
145
+ export interface TableQuery {
146
+ filter?: string | undefined;
147
+ /** A column name, or its 1-based number. */
148
+ sort?: string | number | undefined;
149
+ descending?: boolean | undefined;
150
+ /** Rows to return, at most 1,000. Default 50. */
151
+ limit?: number | undefined;
152
+ offset?: number | undefined;
153
+ /** A column to summarise, by name or 1-based number. */
154
+ stats?: string | number | undefined;
155
+ name?: string | undefined;
156
+ }
157
+ /** A column by name (case-insensitive) or 1-based number, or -1. */
158
+ export declare function columnIndex(table: Table, ref: string | number | undefined): number;
159
+ /**
160
+ * One call's worth of a table for an agent: the typed columns, the rows that match,
161
+ * sorted and paged, as objects keyed by column name, and optionally one column's
162
+ * statistics over the matching rows. What the MCP `table_query` tool returns.
163
+ */
164
+ export declare function queryTable(source: string, query?: TableQuery): {
165
+ stats?: ColumnStats | undefined;
166
+ delimiter: string;
167
+ header: boolean;
168
+ columns: Column[];
169
+ total: number;
170
+ matched: number;
171
+ offset: number;
172
+ rows: Record<string, string | number>[];
173
+ };
174
+ //# sourceMappingURL=csv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../src/csv.ts"],"names":[],"mappings":"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"}