mirror of
https://github.com/nushell/nushell.git
synced 2025-07-08 18:37:07 +02:00
Closes #14552 # Description Implemented a new flag to the ```to md``` command to center specific columns in Markdown table output using a list of CellPaths. This enhances formatting control for users exporting tables to markdown. ## Example For the table: ```shell let t = version | select version build_time | transpose k v ``` ``` ╭───┬────────────┬────────────────────────────╮ │ # │ k │ v │ ├───┼────────────┼────────────────────────────┤ │ 0 │ version │ 0.104.1 │ │ 1 │ build_time │ 2025-05-21 11:15:45 +01:00 │ ╰───┴────────────┴────────────────────────────╯ ``` Running ```$t | to md``` or ```$t | to md --pretty``` gives us, respectively: ``` |k|v| |-|-| |version|0.104.1| |build_time|2025-05-21 11:15:45 +01:00| ``` |k|v| |-|-| |version|0.104.1| |build_time|2025-05-21 11:15:45 +01:00| and ``` | k | v | | ---------- | -------------------------- | | version | 0.104.1 | | build_time | 2025-05-21 11:15:45 +01:00 | ``` | k | v | | ---------- | -------------------------- | | version | 0.104.1 | | build_time | 2025-05-21 11:15:45 +01:00 | With the new ```center``` flag, when adding ```--center [v]``` to the previous commands, we obtain, respectively: ``` |k|v| |-|:-:| |version|0.104.1| |build_time|2025-05-21 11:15:45 +01:00| ``` |k|v| |-|:-:| |version|0.104.1| |build_time|2025-05-21 11:15:45 +01:00| and ``` | k | v | | ---------- |:--------------------------:| | version | 0.104.1 | | build_time | 2025-05-21 11:15:45 +01:00 | ``` | k | v | | ---------- |:--------------------------:| | version | 0.104.1 | | build_time | 2025-05-21 11:15:45 +01:00 | The new ```center``` option, as demonstrated in the example, not only formats the Markdown table to center columns but also, when paired with ```pretty```, it also centers the string values within those columns. The logic works by extracting the column from the CellPath and applying centering. So, ```--center [1.v]``` is also valid and centers the ```v``` column. You can also specify multiple columns, for instance, ```--center [v k]``` will center both columns in the example above. # User-Facing Changes The ```to md``` command will support column centering with the new ```center``` flag. # Tests + Formatting Added test cases to ensure correct behaviour. fmt + clippy OK. # After Submitting The command documentation needs to be updated with the new ```center``` flag and an example. Co-authored-by: Marco Cunha <marcomarquesdacunha@tecnico.ulisboa.pt> Co-authored-by: Marco Cunha <marcomarquesdacunha@tecnico.ulisboa.pt>
This crate contains the majority of our commands
We allow ourselves to move some of the commands in nu-command
to nu-cmd-*
crates as needed.
Internal Nushell crate
This crate implements components of Nushell and is not designed to support plugin authors or other users directly.