Trait git_repository::config::tree::Key
source · pub trait Key: Debug {
Show 13 methods
// Required methods
fn name(&self) -> &str;
fn validate(&self, value: &BStr) -> Result<(), Error>;
fn section(&self) -> &dyn Section;
// Provided methods
fn subsection_requirement(&self) -> Option<&SubSectionRequirement> { ... }
fn link(&self) -> Option<&Link> { ... }
fn note(&self) -> Option<&Note> { ... }
fn environment_override(&self) -> Option<&str> { ... }
fn the_environment_override(&self) -> &str { ... }
fn logical_name(&self) -> String { ... }
fn full_name(&self, subsection: Option<&BStr>) -> Result<BString, String> { ... }
fn validated_assignment(&self, value: &BStr) -> Result<BString, Error> { ... }
fn validated_assignment_fmt(
&self,
value: &dyn Display
) -> Result<BString, Error> { ... }
fn validated_assignment_with_subsection(
&self,
value: &BStr,
subsection: &BStr
) -> Result<BString, Error> { ... }
}
Expand description
A leaf-level entry in the git configuration, like url
in remote.origin.url
.
Required Methods§
Provided Methods§
sourcefn subsection_requirement(&self) -> Option<&SubSectionRequirement>
fn subsection_requirement(&self) -> Option<&SubSectionRequirement>
The return value encodes three possible states to indicate subsection requirements
None
= subsections may or may not be used, the most flexible setting.Some([Requirement][SubSectionRequirement])
= subsections must or must not be used, depending on the value
sourcefn environment_override(&self) -> Option<&str>
fn environment_override(&self) -> Option<&str>
Return the name of an environment variable that would override this value (after following links until one is found).
sourcefn the_environment_override(&self) -> &str
fn the_environment_override(&self) -> &str
Return the environment override that must be set on this key.
Panics
If no environment variable is set
sourcefn logical_name(&self) -> String
fn logical_name(&self) -> String
Produce a name that describes how the name is composed. This is core.bare
for statically known keys, or branch.<name>.key
for complex ones.
sourcefn full_name(&self, subsection: Option<&BStr>) -> Result<BString, String>
fn full_name(&self, subsection: Option<&BStr>) -> Result<BString, String>
The full name of the key for use in configuration overrides, like core.bare
, or remote.<subsection>.url
if subsection
is
not None
.
May fail if this key needs a subsection, or may not have a subsection.
sourcefn validated_assignment(&self, value: &BStr) -> Result<BString, Error>
fn validated_assignment(&self, value: &BStr) -> Result<BString, Error>
Return an assignment with the keys full name to value
, suitable for configuration overrides.
Note that this will fail if the key requires a subsection name.
sourcefn validated_assignment_fmt(&self, value: &dyn Display) -> Result<BString, Error>
fn validated_assignment_fmt(&self, value: &dyn Display) -> Result<BString, Error>
Return an assignment with the keys full name to value
, suitable for configuration overrides.
Note that this will fail if the key requires a subsection name.
sourcefn validated_assignment_with_subsection(
&self,
value: &BStr,
subsection: &BStr
) -> Result<BString, Error>
fn validated_assignment_with_subsection( &self, value: &BStr, subsection: &BStr ) -> Result<BString, Error>
Return an assignment to value
with the keys full name within subsection
, suitable for configuration overrides.
Note that this is only valid if this key supports parameterized sub-sections, or else an error is returned.