Skip to main content

max / alloy

2.5 KB · 84 lines History Blame Raw
1 @{! variants = default, night }
2 # Alloy Helix configuration
3 #
4 # Batteries-included editor for Alloy. Zero external plugin dependency;
5 # helix ships LSP + tree-sitter + formatters as first-class. This file
6 # tunes the editor UX; the theme is Akari (MIT, Shu Kutsuzawa), whose two
7 # polarities ship side by side under themes/ and which Helix picks between
8 # by the name below.
9 #
10 # That name is the only reason this file is a template: it is the one place
11 # in the tree where a program is told which theme to load, so it has to name
12 # the theme's own id rather than skelgen's build-time key. Helix handed a name
13 # it cannot find falls back to its default theme and says nothing about it.
14
15 theme = "@{meta.id}"
16
17 [editor]
18 line-number = "relative"
19 cursorline = true
20 cursorcolumn = false
21 # Off deliberately, and it survived the inherited-friction audit of
22 # 2026-08-20 (GoingsOn alloy `cf5db0e9`). That audit removes a default whose
23 # only job is to keep a novice away from a working capability, and keeps one
24 # that prices an irreversible act. This is neither. Mouse reporting in a
25 # terminal editor takes the selection away from the terminal, so text can no
26 # longer be selected with the mouse for the clipboard; turning it off is
27 # choosing which of two mouse behaviours the pane has, not hiding one of them.
28 # `bottom.toml.in` makes the same call for the same reason, and the two are
29 # meant to agree.
30 mouse = false
31 scrolloff = 8
32 bufferline = "multiple"
33 color-modes = true
34 true-color = true
35 rulers = [80, 100]
36 auto-format = true
37 auto-save = false
38 auto-completion = true
39 auto-info = true
40 completion-trigger-len = 2
41 idle-timeout = 200
42
43 [editor.cursor-shape]
44 insert = "bar"
45 normal = "block"
46 select = "underline"
47
48 [editor.file-picker]
49 hidden = false
50
51 [editor.statusline]
52 left = ["mode", "spinner", "file-name", "read-only-indicator", "file-modification-indicator"]
53 center = []
54 right = ["diagnostics", "selections", "position", "file-encoding", "file-type"]
55 separator = "│"
56
57 [editor.lsp]
58 display-messages = true
59 display-inlay-hints = false
60 auto-signature-help = true
61
62 [editor.indent-guides]
63 render = true
64 character = "▏"
65 skip-levels = 0
66
67 [editor.whitespace.render]
68 space = "none"
69 tab = "all"
70 newline = "none"
71
72 [editor.whitespace.characters]
73 tab = "→"
74 nbsp = "␣"
75 space = "·"
76 newline = "⏎"
77
78 [editor.soft-wrap]
79 enable = false
80
81 [editor.smart-tab]
82 enable = true
83 supersede-menu = false
84