Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'book/src/themes.md')
| -rw-r--r-- | book/src/themes.md | 49 |
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 |