import * from "../config.ab" fun branch(feature: Text): Text { let prefix = get_feature_prefix() return "{prefix}{feature}" } fun feature_start(feature: Text, description: Text): Null { let branch = branch(feature) let base = get_dev_branch() echo "git switch -c {branch} {base}" echo "git config --no-add branch.\"{branch}\".description \"{description}\"" } fun feature_checkout(feature: Text): Null { let branch = branch(feature) echo "git checkout \"{branch}\"" } fun feature_publish(feature: Text): Null { echo "Publish feature {feature}" } fun feature_finish(feature: Text): Null { echo "Finish feature {feature}" } fun feature_delete(feature: Text): Null { echo "Delete feature {feature}" } fun feature_rebase(feature: Text): Null { echo "Rebase feature {feature}" } fun help(args: [Text]): Null { echo "Feature help" } pub fun feature_cmd(args: [Text]): Null { let cmd = args[1] let feature = args[2] if { cmd == "": help(args) cmd == "start": feature_start(feature, args[3]) cmd == "checkout": feature_checkout(feature) cmd == "publish": feature_publish(feature) cmd == "finish": feature_finish(feature) cmd == "rebase": feature_rebase(feature) cmd == "delete": feature_delete(feature) else: echo "Unknown command feature '{cmd}'" } }