allow tables to have annotations (#9613)

# Description

follow up to #8529 and #8914

this works very similarly to record annotations, only difference being
that

```sh
table<name: string>
      ^^^^  ^^^^^^
      |     | 
      |     represents the type of the items in that column
      |
      represents the column name
```
more info on the syntax can be found
[here](https://github.com/nushell/nushell/pull/8914#issue-1672113520)

# User-Facing Changes

**[BREAKING CHANGE]**
this change adds a field to `SyntaxShape::Table` so any plugins that
used it will have to update and include the field. though if you are
unsure of the type the table expects, `SyntaxShape::Table(vec![])` will
suffice
This commit is contained in:
mike
2023-07-07 12:06:09 +03:00
committed by GitHub
parent 440a0e960a
commit 8e38596bc9
25 changed files with 343 additions and 153 deletions

View File

@ -25,7 +25,7 @@ impl Command for DropDuplicates {
Signature::build(self.name())
.optional(
"subset",
SyntaxShape::Table,
SyntaxShape::Table(vec![]),
"subset of columns to drop duplicates",
)
.switch("maintain", "maintain order", Some('m'))

View File

@ -24,7 +24,7 @@ impl Command for DropNulls {
Signature::build(self.name())
.optional(
"subset",
SyntaxShape::Table,
SyntaxShape::Table(vec![]),
"subset of columns to drop nulls",
)
.input_output_type(

View File

@ -26,13 +26,13 @@ impl Command for MeltDF {
Signature::build(self.name())
.required_named(
"columns",
SyntaxShape::Table,
SyntaxShape::Table(vec![]),
"column names for melting",
Some('c'),
)
.required_named(
"values",
SyntaxShape::Table,
SyntaxShape::Table(vec![]),
"column names used as value columns",
Some('v'),
)

View File

@ -35,7 +35,7 @@ impl Command for Summary {
)
.named(
"quantiles",
SyntaxShape::Table,
SyntaxShape::Table(vec![]),
"provide optional quantiles",
Some('q'),
)