- allows to specify the progress of the task
- allows describing the overall operation
- allows describing the 'instant' state
- allows determinate status (x/y)
- allows indeterminate status
Example API usage:
<Project> | |
<!-- This is a very simple version of what we'd actually want. We actually would need to: | |
* get the target RID | |
* get the OS portion of the RID graph _only_, no versions, no architectures | |
* walk that graph in most-specific to least-specific order, including the first (most specific) items that match the expected pattern along the way | |
NOTE: .NET SDK Default Glob Include patterns wreck this entire feature --> | |
<Target Name="ExpandRIDCompileItems" DependsOnTargets="AddImplicitDefineConstants" BeforeTargets="CoreCompile"> | |
<PropertyGroup> | |
<RidDefines Condition="'$(RuntimeIdentifier)' != ''">$(RuntimeIdentifier.Split('-')[0])</RidDefines> |
using System.CommandLine; | |
using System.CommandLine.Builder; | |
using System.CommandLine.Parsing; | |
namespace scl | |
{ | |
public static class Usage | |
{ | |
public struct CmdArgs |
{ | |
"background": "#FFEAF1", | |
"black": "#666666", | |
"blue": "#B39FD6", | |
"brightBlack": "#000000", | |
"brightBlue": "#8966D6", | |
"brightCyan": "#3CB4EB", | |
"brightGreen": "#85D468", | |
"brightPurple": "#DF81CB", | |
"brightRed": "#F02070", |
module CliFlag | |
open System | |
open System.CommandLine | |
open System.CommandLine.Parsing | |
type CliFlag<'t> = | |
inherit CliOption<'t> | |
val private enabledFlagName: string | |
val private disabledFlagName: string |
# the nuget.config is needed to get nightly feeds, since the 'nightly' container is also using rc2 builds of sdk/runtime ahead of release | |
# the docker socket and docker binary are needed to light up the SDK tooling | |
# the nightly base image is needed because the -aot SDK images are only present there | |
# the explicit ContainerBaseImage is because SDK base image inference doesn't know about the 'nightly' feeds pattern | |
docker run --rm -it \ | |
-v $(pwd):/source \ | |
-v $(pwd)/../../nuget.config:/source/nuget.config \ | |
-v /var/run/docker.sock:/var/run/docker.sock \ | |
-v /usr/bin/docker:/usr/bin/docker \ | |
-w /source \ |
Allow templates to easily orchestrate the invocation of other templates by name/id, making multi-project and multi-item templates easier to keep up to date, and factoring out subsets of currently-giant templates into maintainable chunks.
// built off of the data put in place by the magaambya-study-helper module | |
function getFlags(actor) { | |
return actor.getFlag('magaambya-study-helper', 'branch-data'); | |
} | |
function updateFlags(actor, data) { | |
actor.setFlag('magaambya-study-helper', 'branch-data', data); | |
} | |
function slugify(str) { | |
return game.pf2e.system.sluggify(str); |
use clap::Arg; | |
use clap::ArgAction; | |
use clap::Command; | |
fn main() { | |
let cmd = Command::new("hello").arg( | |
Arg::new("name") | |
.long("name") | |
.num_args(1..) // allow multiple tokens | |
.action(ArgAction::Append), // when you get multiple tokens, jam them together into a Vec (List to us) |
#! /bin/python3 | |
from dataclasses import dataclass | |
from os import walk, stat | |
from os.path import join | |
from typing import Dict | |
sdk_dir="/mnt/c/Program Files/dotnet/sdk/9.0.100-preview.3.24204.13" | |
@dataclass |