mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2024-11-17 16:34:04 -08:00
cdfd249b28
BREAKING CHANGE: rprompt is no longer supported for bash due to too many side effects that have no solution in sight.
98 lines
2.7 KiB
Plaintext
98 lines
2.7 KiB
Plaintext
---
|
|
id: block
|
|
title: Block
|
|
sidebar_label: Block
|
|
---
|
|
|
|
Let's take a closer look at what defines a block.
|
|
|
|
import Config from "@site/src/components/Config.js";
|
|
|
|
<Config
|
|
data={{
|
|
$schema:
|
|
"https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
|
blocks: [
|
|
{
|
|
type: "prompt",
|
|
alignment: "left",
|
|
segments: [],
|
|
},
|
|
],
|
|
}}
|
|
/>
|
|
|
|
## Properties
|
|
|
|
| Name | Type |
|
|
| ------------------ | --------- |
|
|
| `type` | `string` |
|
|
| `newline` | `boolean` |
|
|
| `alignment` | `string` |
|
|
| `filler` | `string` |
|
|
| `overflow` | `string` |
|
|
| `leading_diamond` | `string` |
|
|
| `trailing_diamond` | `string` |
|
|
| `segments` | `array` |
|
|
|
|
### 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, PowerShell, cmd, nu and fish.
|
|
|
|
### Newline
|
|
|
|
Start the block on a new line - defaults to `false`. For `pwsh` and `cmd` this will not print a newline
|
|
that's defined on the first block when the prompt is on the first line (when using clear), or when the shell session
|
|
starts (1st prompt). To enable the same behavior for `bash` and `zsh`, set `enable_cursor_positioning` to `true`.
|
|
This can have the side effect of swallowing commands you type while the prompt loads, or while the current
|
|
command is still ongoing. This is a limitation of the shell and not Oh My Posh.
|
|
|
|
```json
|
|
|
|
### Alignment
|
|
|
|
- `left`
|
|
- `right`
|
|
|
|
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": "."
|
|
```
|
|
|
|
### Overflow
|
|
|
|
- `break`
|
|
- `hide`
|
|
|
|
When the right aligned block is so long it will overflow the left aligned block, the engine will either
|
|
break the block or hide it based on the setting. By default it is printed as is on the same line.
|
|
|
|
### Leading Diamond
|
|
|
|
The character to use as a leading diamond for the first segment in case you always want to start the block
|
|
with the same leading diamond, regardless of which segment is enabled or not.
|
|
|
|
### Trailing Diamond
|
|
|
|
The character to use as a trailing diamond for the last segment in case you always want to end the block
|
|
with the same trailing diamond, regardless of which segment is enabled or not.
|
|
|
|
### Segments
|
|
|
|
Array of one or more [segments][segment].
|
|
|
|
[color-overrides]: /docs/configuration/colors#color-overrides
|
|
[segment]: segment.mdx
|