simplify config definition, requires one prop to define path and key
add variant return type
add template-accessible query functions on the segment for advanced use
* feat(plastic): added Plastic SCM segment
* refactor(plastic): polished new Plastic SCM segment
* refactor: moved common scm segment code into base type
git and plastic share some common methods and status properties. So moving them in a base type keeps the code base DRY
* doc(plastic): Added docs for manual testing Plastic SCM
* fix(plastic): Show files with merge conflicts as unmerged
* fix(plastic): adhere to empty string check guidelines
* fix(plastic): fixed linter errors
* fix(pwsh): alert when we can't download dependencies
resolves#1382
* refactor(plastic): polished new Plastic SCM segment
* refactor: moved common scm segment code into base type
git and plastic share some common methods and status properties
* docs(plastic): added docs for manual testing Plastic SCM
* fix(plastic): show files with merge conflicts as unmerged
* fix(plastic): adhere to empty string check guidelines
* fix(plastic): fixed linter errors
Co-authored-by: Jan De Dobbeleer <jan.de.dobbeleer@gmail.com>
Co-authored-by: Jan De Dobbeleer <2492783+JanDeDobbeleer@users.noreply.github.com>
This extends the kubectl segment to optionally not rely on the
kubectl command and instead to directly parse kubeconfig files like
kubectl does. This is meant as a performance optimization similar
to how the git segment can determine the current branch itself
without calling to git. Especially on Windows and in the presence
other factors slowing process creation like like AntiVirus this
can make shells using the segment considerably more responsive.
The functionality is enabled using the new parse_kubeconfig prop.
It defaults to false to prevent breaking existing users in case
there are any unanticipated behavioral changes.
Additionally the new template properties Cluster and User were
added as they are easily available and helpful in kubectl
setups with more elaborate configuration.
BREAKING CHANGE: this removes the inherit keyword used in color
overrides. Migration from inherit to parentBackground or
parentForeground is needed to stay compatible.