oh-my-posh/website/docs/configuration/block.mdx
2022-06-04 19:56:59 +02:00

108 lines
2.1 KiB
Plaintext

---
id: block
title: Block
sidebar_label: Block
---
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem"
Let's take a closer look at what defines a block.
<Tabs
defaultValue="json"
groupId="sample"
values={[
{ label: 'json', value: 'json', },
{ label: 'yaml', value: 'yaml', },
{ label: 'toml', value: 'toml', },
]
}>
<TabItem value="json">
```json
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
...
"blocks": [
{
"type": "prompt",
"alignment": "left",
"segments": [
...
]
}
]
}
```
</TabItem>
<TabItem value="yaml">
```yaml
# yaml-language-server: $schema=https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json
...
blocks:
- type: prompt
alignment: left
segments: [
...
]
```
</TabItem>
<TabItem value="toml">
```toml
"$schema" = "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json"
[[blocks]]
type = "prompt"
alignment = "left"
segments = [
...
]
```
</TabItem>
</Tabs>
- type: `prompt` | `rprompt`
- newline: `boolean`
- alignment: `left` | `right`
- filler: `string`
- segments: `array` of one or more `segments`
### Type
Tells the engine what to do with the block. There are two options:
- `prompt` renders one or more segments
- `rprompt` renders one or more segments aligned to the right of the cursor. Only one `rprompt` block is permitted.
Supported on zsh, bash, PowerShell, cmd and fish.
### Newline
Start the block on a new line - defaults to `false`.
### Alignment
Tell the engine if the block should be left or right-aligned.
### Filler
When you want to join a right and left aligned block with a repeated set of characters, add the character(s)
to be repeated to this property. Add this property to the _right_ aligned block. This supports the use of
[color overrides][color-overrides].
```json
"alignment": "right",
"filler": "."
```
### Segments
Array of one or more segments.
[color-overrides]: /docs/configuration/colors#color-overrides