Skip to content

Latest commit

 

History

History
41 lines (25 loc) · 1.76 KB

DEVELOPER_GUIDE.md

File metadata and controls

41 lines (25 loc) · 1.76 KB

Developer's Guide

Incrementing the Version

The following instructions will guide you to incrementing the Carlo language version number.

  1. Open carlotk/src/lib.rs. Change the VERSION string to the new version number.

  2. Open carlotk/Cargo.toml. Change the version number under the [package] key.

  3. Open Cargo.toml and change both the package version (under [package]) and the carlotk dependency version (under [dependencies.carlotk]) to the new version number.

As a general rule, to minimize confusion and maximally facilitate dependency resolution, the Carlo binary and the CarloTK library must be at the same version.

Adding a Subcommand

The following instructions will guide you to adding a Carlo langauge subcommand.

  1. Create a Cargo library package carlo-sc, where sc is your desired subcommand name.

  2. Add the following to your subcommand library's Cargo.toml file.

[dependencies.carlotk]
version = "0.12.0"
  1. Create a function in your subcommand library named sc. It is recommended that you import carlotk::prelude::* so you can use the Carlo tokenizer, parser, and environment utilities. Your function must have the following signature: fn(CliArgs) -> ().

  2. Create a function in your subcommand library named helpme. This function will print help information to the screen. Your function must have the following signature: fn() -> !. It is recommended you use carlotk::prelude::printhelp, which has signature fn(&str) -> !.

  3. Create the following entry in Cargo.toml. Replace x.x.x with the version number of your subcommand's crate.

[dependencies.sc]
package = "carlo-sc"
version = "x.x.x"
  1. In src/main.rs, add subcommand sc (on a new line) to the include_subcommands! macro invocation.