Freyskeyd / environment

6 stars 2 forks source link

Implement Var usage #9

Closed Freyskeyd closed 1 year ago

Freyskeyd commented 6 years ago

Add some helpers to deal with variables:

let env = Environment::inherit()
    .var("FOO").assign("BAR") // Assign a value to FOO (i.e. : FOO=BAR)
    .var("PATH").append(";path") // Append a value to PATH (i.e. : PATH=/usr/bin;path)
    .var("FOO").clear() // Clear the value of FOO (i.e. : FOO="")
    .var("FOO").assign("BAR")
    .var("FOO").is("BAR").clear() // Clear the value if FOO is BAR (i.e. : FOO="")
    .var("FOO").assign("BAZ")
    .var("FOO").isnt("BAR").clear() // Clear the value if FOO isnt BAR (i.e. : FOO="")
    .var("FOO").isnt("BAR").append("BAZ"); // Append a value to FOO (i.e : FOO=BAZ)

Signed-off-by: Freyskeyd simon.paitrault@gmail.com

Freyskeyd commented 6 years ago

cc @killercup @epage @kyos

epage commented 6 years ago

.var("FOO").append("BAZ") // Append a value to FOO (i.e. : FOO=BARBAZ)

To be clear for others, the main use case is .var("PATH").append(";path") // Append a value to PATH (i.e. : PATH=/usr/bin;path)

Freyskeyd commented 6 years ago

@epage @killercup I will create an issue to discuss about the API design and centralise discussions.