Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'book/src/themes.md')
-rw-r--r--book/src/themes.md49
1 files changed, 11 insertions, 38 deletions
diff --git a/book/src/themes.md b/book/src/themes.md
index 353a4684..b8e27137 100644
--- a/book/src/themes.md
+++ b/book/src/themes.md
@@ -1,18 +1,7 @@
-## Themes
+# Themes
To use a theme add `theme = "<name>"` to the top of your [`config.toml`](./configuration.md) file, or select it during runtime using `:theme <name>`.
-Separate themes can be configured for light and dark modes. On terminals supporting [mode 2031 dark/light detection](https://github.com/contour-terminal/contour/blob/master/docs/vt-extensions/color-palette-update-notifications.md), the theme mode is detected from the terminal.
-
-```toml
-[theme]
-dark = "catppuccin_frappe"
-light = "catppuccin_latte"
-## Optional. Used if the terminal doesn't declare a preference.
-## Defaults to the theme set for `dark` if not specified.
-# fallback = "catppuccin_frappe"
-```
-
## Creating a theme
Create a file with the name of your theme as the file name (i.e `mytheme.toml`) and place it in your `themes` directory (i.e `~/.config/helix/themes` or `%AppData%\helix\themes` on Windows). The directory might have to be created beforehand.
@@ -141,24 +130,13 @@ inherits = "boo_berry"
berry = "#2A2A4D"
```
-### Rainbow
-
-The `rainbow` key is used for rainbow highlight for matching brackets.
-The key is a list of styles.
-
-```toml
-rainbow = ["#ff0000", "#ffa500", "#fff000", { fg = "#00ff00", modifiers = ["bold"] }]
-```
-
-Colors from the palette and modifiers may be used.
-
### Scopes
The following is a list of scopes available to use for styling:
#### Syntax highlighting
-These keys match [tree-sitter scopes](https://tree-sitter.github.io/tree-sitter/3-syntax-highlighting.html#highlights).
+These keys match [tree-sitter scopes](https://tree-sitter.github.io/tree-sitter/syntax-highlighting#theme).
When determining styling for a highlight, the longest matching theme key will be used. For example, if the highlight is `function.builtin.static`, the key `function.builtin` will be used instead of `function`.
@@ -193,10 +171,8 @@ We use a similar set of scopes as
- `comment` - Code comments
- `line` - Single line comments (`//`)
- - `documentation` - Line documentation comments (e.g. `///` in Rust)
- `block` - Block comments (e.g. (`/* */`)
- - `documentation` - Block documentation comments (e.g. `/** */` in Rust)
- - `unused` - Unused variables and patterns, e.g. `_` and `_foo`
+ - `documentation` - Documentation comments (e.g. `///` in Rust)
- `variable` - Variables
- `builtin` - Reserved language variables (`self`, `this`, `super`, etc.)
@@ -205,7 +181,7 @@ We use a similar set of scopes as
- `member` - Fields of composite data types (e.g. structs, unions)
- `private` - Private fields that use a unique syntax (currently just ECMAScript-based languages)
-- `label` - `.class`, `#id` in CSS, etc.
+- `label`
- `punctuation`
- `delimiter` - Commas, colons
@@ -240,7 +216,7 @@ We use a similar set of scopes as
- `namespace`
-- `special` - `derive` in Rust, etc.
+- `special`
- `markup`
- `heading`
@@ -307,6 +283,7 @@ These scopes are used for theming the editor interface:
| `ui.debug.active` | Indicator for the line at which debugging execution is paused at, found in the gutter |
| `ui.gutter` | Gutter |
| `ui.gutter.selected` | Gutter for the line the cursor is on |
+| `ui.highlight.frameline` | Line at which debugging execution is paused at |
| `ui.linenr` | Line numbers |
| `ui.linenr.selected` | Line number for the line the cursor is on |
| `ui.statusline` | Statusline |
@@ -316,26 +293,24 @@ These scopes are used for theming the editor interface:
| `ui.statusline.select` | Statusline mode during select mode ([only if `editor.color-modes` is enabled][editor-section]) |
| `ui.statusline.separator` | Separator character in statusline |
| `ui.bufferline` | Style for the buffer line |
-| `ui.bufferline.active` | Style for the active buffer in buffer line |
+| `ui.bufferline.active` | Style for the active buffer in buffer line |
| `ui.bufferline.background` | Style for bufferline background |
| `ui.popup` | Documentation popups (e.g. Space + k) |
| `ui.popup.info` | Prompt for multiple key options |
-| `ui.picker.header` | Header row area in pickers with multiple columns |
-| `ui.picker.header.column` | Column names in pickers with multiple columns |
-| `ui.picker.header.column.active` | The column name in pickers with multiple columns where the cursor is entering into. |
+| `ui.picker.header` | Column names in pickers with multiple columns |
+| `ui.picker.header.active` | The column name in pickers with multiple columns where the cursor is entering into. |
| `ui.window` | Borderlines separating splits |
| `ui.help` | Description box for commands |
| `ui.text` | Default text style, command prompts, popup text, etc. |
| `ui.text.focus` | The currently selected line in the picker |
| `ui.text.inactive` | Same as `ui.text` but when the text is inactive (e.g. suggestions) |
| `ui.text.info` | The key: command text in `ui.popup.info` boxes |
-| `ui.text.directory` | Directory names in prompt completion |
| `ui.virtual.ruler` | Ruler columns (see the [`editor.rulers` config][editor-section]) |
| `ui.virtual.whitespace` | Visible whitespace characters |
| `ui.virtual.indent-guide` | Vertical indent width guides |
| `ui.virtual.inlay-hint` | Default style for inlay hints of all kinds |
-| `ui.virtual.inlay-hint.parameter` | Style for inlay hints of kind `parameter` (language servers are not required to set a kind) |
-| `ui.virtual.inlay-hint.type` | Style for inlay hints of kind `type` (language servers are not required to set a kind) |
+| `ui.virtual.inlay-hint.parameter` | Style for inlay hints of kind `parameter` (LSPs are not required to set a kind) |
+| `ui.virtual.inlay-hint.type` | Style for inlay hints of kind `type` (LSPs are not required to set a kind) |
| `ui.virtual.wrap` | Soft-wrap indicator (see the [`editor.soft-wrap` config][editor-section]) |
| `ui.virtual.jump-label` | Style for virtual jump labels |
| `ui.menu` | Code and command completion menus |
@@ -344,7 +319,6 @@ These scopes are used for theming the editor interface:
| `ui.selection` | For selections in the editing area |
| `ui.selection.primary` | |
| `ui.highlight` | Highlighted lines in the picker preview |
-| `ui.highlight.frameline` | Line at which debugging execution is paused at |
| `ui.cursorline.primary` | The line of the primary cursor ([if cursorline is enabled][editor-section]) |
| `ui.cursorline.secondary` | The lines of any other cursors ([if cursorline is enabled][editor-section]) |
| `ui.cursorcolumn.primary` | The column of the primary cursor ([if cursorcolumn is enabled][editor-section]) |
@@ -360,6 +334,5 @@ These scopes are used for theming the editor interface:
| `diagnostic.error` | Diagnostics error (editing area) |
| `diagnostic.unnecessary` | Diagnostics with unnecessary tag (editing area) |
| `diagnostic.deprecated` | Diagnostics with deprecated tag (editing area) |
-| `tabstop` | Snippet placeholder |
[editor-section]: ./configuration.md#editor-section