oh-my-posh/website/docs/segments/plastic.mdx
Jan De Dobbeleer 3057e474d7 docs: tables for data
this look a lot better
2022-09-16 16:35:44 +02:00

113 lines
5 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).
## 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
| Name | Type | Description |
| ------------------- | -------- | -------------------------------------------------------------------------------------------- |
| `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
| Name | Type | Description |
| ------------- | -------- | ------------------------------------------------------------------------------------- |
| `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
| Name | Type | Description |
| --------------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `.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 (known issue: when no file is left after a _Change/Delete conflict_ merge, the `MergePending` property is not set) |
### PlasticStatus
| Name | Type | Description |
| ----------- | --------- | -------------------------------------------- |
| `.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 |
Local changes use the following syntax:
| Icon | Description |
| ---- | ----------- |
| `+` | added |
| `~` | modified |
| `-` | deleted |
| `v` | moved |
| `x` | unmerged |
[templates]: /docs/configuration/templates
[fa-issue]: https://github.com/FortAwesome/Font-Awesome/issues/18504