mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2024-11-13 22:44:05 -08:00
104 lines
3.3 KiB
Plaintext
104 lines
3.3 KiB
Plaintext
---
|
|
id: plastic
|
|
title: Plastic SCM
|
|
sidebar_label: Plastic SCM
|
|
---
|
|
|
|
## What
|
|
|
|
Display Plastic SCM information when in a plastic repository. Also works for subfolders.
|
|
For maximum compatibility, make sure your `cm` executable is up-to-date
|
|
(when branch or status information is incorrect for example).
|
|
|
|
Local changes can also be displayed which uses the following syntax (see `.Status` property below):
|
|
|
|
- `+` added
|
|
- `~` modified
|
|
- `-` deleted
|
|
- `>` moved
|
|
- `x` unmerged
|
|
|
|
## Sample Configuration
|
|
|
|
```json
|
|
{
|
|
"type": "plastic",
|
|
"style": "powerline",
|
|
"powerline_symbol": "\uE0B0",
|
|
"foreground": "#193549",
|
|
"background": "#ffeb3b",
|
|
"background_templates": [
|
|
"{{ if .MergePending }}#006060{{ end }}",
|
|
"{{ if .Changed }}#FF9248{{ end }}",
|
|
"{{ if and .Changed .Behind }}#ff4500{{ end }}",
|
|
"{{ if .Behind }}#B388FF{{ end }}"
|
|
],
|
|
"template": "{{ .Selector }}{{ if .Status.Changed }} \uF044 {{ end }}{{ .Status.String }}",
|
|
"properties": {
|
|
"fetch_status": true,
|
|
"branch_max_length": 25,
|
|
"truncate_symbol": "\u2026"
|
|
}
|
|
}
|
|
```
|
|
|
|
## Plastic SCM Icon
|
|
|
|
If you want to use the icon of Plastic SCM in the segment, then please help me push the icon in this [issue][fa-issue]
|
|
by leaving a like!
|
|
![icon](https://www.plasticscm.com/images/icon-logo-plasticscm.svg)
|
|
|
|
## Properties
|
|
|
|
### Fetching information
|
|
|
|
As doing multiple `cm` calls can slow down the prompt experience, we do not fetch information by default.
|
|
You can set the following property to `true` to enable fetching additional information (and populate the template).
|
|
|
|
- fetch_status: `boolean` - fetch the local changes - defaults to `false`
|
|
|
|
### Icons
|
|
|
|
#### Branch
|
|
|
|
- branch_icon: `string` - the icon to use in front of the git branch name - defaults to `\uE0A0 `
|
|
- full_branch_path: `bool` - display the full branch path: */main/fix-001* instead of *fix-001* - defaults to `true`
|
|
- branch_max_length: `int` - the max length for the displayed branch name where `0` implies full length - defaults to `0`
|
|
- truncate_symbol: `string` - the icon to display when a branch name is truncated - defaults to empty
|
|
|
|
#### Selector
|
|
|
|
- commit_icon: `string` - icon/text to display before the commit context (detached HEAD) - defaults to `\uF417`
|
|
- tag_icon: `string` - icon/text to display before the tag context - defaults to `\uF412`
|
|
|
|
## Template ([info][templates])
|
|
|
|
:::note default template
|
|
|
|
``` template
|
|
{{ .Selector }}
|
|
```
|
|
|
|
:::
|
|
|
|
### Properties
|
|
|
|
- `.Selector`: `string` - the current selector context (branch/changeset/label)
|
|
- `.Behind`: `bool` - the current workspace is behind and changes are incoming
|
|
- `.Status`: `PlasticStatus` - changes in the workspace (see below)
|
|
- `.MergePending`: `bool` - if a merge is pending and needs to be commited
|
|
(kown issue: when no file is left after a *Change/Delete conflict* merge, the `MergePending` property is not set)
|
|
|
|
### PlasticStatus
|
|
|
|
- `.Unmerged`: `int` - number of unmerged changes
|
|
- `.Deleted`: `int` - number of deleted changes
|
|
- `.Added`: `int` - number of added changes
|
|
- `.Modified`: `int` - number of modified changes
|
|
- `.Moved`: `int` - number of moved changes
|
|
- `.Changed`: `boolean` - if the status contains changes or not
|
|
- `.String`: `string` - a string representation of the changes above
|
|
|
|
[templates]: /docs/configuration/templates
|
|
[fa-issue]: https://github.com/FortAwesome/Font-Awesome/issues/18504
|