diff options
author | Daniel Ebert | 2023-09-19 14:14:23 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2023-12-15 06:59:54 +0000 |
commit | a5acfdbf104db82310b71da988ef8a5df43ffd49 (patch) | |
tree | ff8ba19178dae461c6c513ea6a365f6c3218112f | |
parent | 938a710904ae6d328d4008626d98acb9e907813a (diff) |
Add documentation for new indent computation
-rw-r--r-- | book/src/configuration.md | 1 | ||||
-rw-r--r-- | book/src/guides/indent.md | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/book/src/configuration.md b/book/src/configuration.md index f70ce547..bbec40f2 100644 --- a/book/src/configuration.md +++ b/book/src/configuration.md @@ -65,6 +65,7 @@ Its settings will be merged with the configuration directory `config.toml` and t | `workspace-lsp-roots` | Directories relative to the workspace root that are treated as LSP roots. Should only be set in `.helix/config.toml` | `[]` | | `default-line-ending` | The line ending to use for new documents. Can be `native`, `lf`, `crlf`, `ff`, `cr` or `nel`. `native` uses the platform's native line ending (`crlf` on Windows, otherwise `lf`). | `native` | | `insert-final-newline` | Whether to automatically insert a trailing line-ending on write if missing | `true` | +| `indent-heuristic` | How the indentation for a newly inserted line is computed: `simple` just copies the indentation level from the previous line, `tree-sitter` computes the indentation based on the syntax tree and `hybrid` combines both approaches | `hybrid` ### `[editor.statusline]` Section diff --git a/book/src/guides/indent.md b/book/src/guides/indent.md index bd037bb0..a65ac5ac 100644 --- a/book/src/guides/indent.md +++ b/book/src/guides/indent.md @@ -12,6 +12,15 @@ Note that it matters where these added indents begin. For example, multiple indent level increases that start on the same line only increase the total indent level by 1. See [Capture types](#capture-types). +By default, Helix uses the `hybrid` indentation heuristic. This means that +indent queries are not used to compute the expected absolute indentation of a +line but rather the expected difference in indentation between the new and an +already existing line. This difference is then added to the actual indentation +of the already existing line. Since this makes errors in the indent queries +harder to find, it is recommended to disable it when testing via +`:set indent-heuristic tree-sitter`. The rest of this guide assumes that +the `tree-sitter` heuristic is used. + ## Indent queries When Helix is inserting a new line through `o`, `O`, or `<ret>`, to determine |