forked from extern/nushell
6ed033737d
* Include license text in all crates Three crates already have license texts, so I'm keeping them, but symlinking the `LICENSE` from the top level to the rest of the crate directories. This works as long as `cargo publish` is done on a Unix-y system and not Windows. Also bump the copyright year to end in 2022. Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org> * Replace symlinks Co-authored-by: sholderbach <sholderbach@users.noreply.github.com> |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
LICENSE | ||
README.md |
nu-plugin
Updating Cap'n Proto schema
When modifying a protocol's struct that is used in plugins (such as Signature), you need to update the capnproto schema file and recompile it into the Rust source code. The steps are as follows:
- Change
src/serializers/capnp/schema/plugin.capnp
as necessary - Install
capnp
tool (it's a C++ binary, commonly available in package managers) - Install Rust support for
capnp
calledcapnpc-rust
:git clone https://github.com/capnproto/capnproto-rust
somewherecd capnproto-rust/capnpc
cargo install --path=.
- Then, call
capnp compile -orust plugin.capnp
(change path as necessary) - The result should be
plugin_capnp.rs
file: Use it to replace the oldsrc/plugin_capnp.rs
. - It needs to be autoformatted (
cargo fmt --all
) - Modify the serialize/deserialize functions. Check the following PRs for details: