mirror of
https://github.com/RGBCube/nu_scripts
synced 2025-08-01 06:37:46 +00:00

This PR adds `jc` wrapper, so that `jc` output is automatically parsed into a nushell data structure and you don't have to use `| from json` filter to parse it. References: https://kellyjonbrazil.github.io/jc/#jc
30 lines
802 B
Text
30 lines
802 B
Text
# Run `jc` (Json Converter)
|
|
#
|
|
# This module provides a wrapper around the `jc` command line tool and automatically
|
|
# parses its output into a structured data format.
|
|
#
|
|
# Dependencies:
|
|
# * `jc`
|
|
#
|
|
# Installation:
|
|
# 1. Install the `jc` command line: https://kellyjonbrazil.github.io/jc/#installation
|
|
# 2. Import this module in your `config.nu`: `import ~/.local/share/nu_scripts/modules/jc/`
|
|
export def --wrapped main [...args]: [any -> table, any -> record, any -> string] {
|
|
let run = (^jc ...$args | complete)
|
|
|
|
if $run.exit_code != 0 {
|
|
error make {
|
|
msg: $run.stderr,
|
|
label: {
|
|
text: "jc execution failed",
|
|
span: (metadata $args).span
|
|
}
|
|
}
|
|
}
|
|
|
|
if '--help' in $args or '-h' in $args {
|
|
$run.stdout
|
|
} else {
|
|
$run.stdout | from json
|
|
}
|
|
}
|