Unnamed repository; edit this file 'description' to name the repository.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
[workspace]
resolver = "2"
members = [
  "helix-core",
  "helix-view",
  "helix-term",
  "helix-tui",
  "helix-lsp",
  "helix-event",
  "helix-dap",
  "helix-loader",
  "helix-vcs",
  "helix-parsec",
  "helix-stdx",
  "xtask",
]

default-members = [
  "helix-term"
]

[profile.release]
lto = "thin"
# debug = true

[profile.opt]
inherits = "release"
lto = "fat"
codegen-units = 1
# strip = "debuginfo" # TODO: or strip = true
opt-level = 3

[profile.integration]
inherits = "test"
package.helix-core.opt-level = 2
package.helix-tui.opt-level = 2
package.helix-term.opt-level = 2

[workspace.dependencies]
tree-sitter = { version = "0.22" }
nucleo = "0.2.0"
slotmap = "1.0.7"

[workspace.package]
version = "24.3.0"
edition = "2021"
authors = ["Blaž Hrastnik <[email protected]>"]
categories = ["editor"]
repository = "https://github.com/helix-editor/helix"
homepage = "https://helix-editor.com"
license = "MPL-2.0"
rust-version = "1.70"
l ol, .markdown-body ol ul { margin-bottom: 0; } .markdown-body dl { padding: 0; } .markdown-body dl dt { font-size: 14px; font-weight: bold; font-style: italic; padding: 0; margin: 15px 0 5px; } .markdown-body dl dt:first-child { padding: 0; } .markdown-body dl dt>:first-child { margin-top: 0px; } .markdown-body dl dt>:last-child { margin-bottom: 0px; } .markdown-body dl dd { margin: 0 0 15px; padding: 0 15px; } .markdown-body dl dd>:first-child { margin-top: 0px; } .markdown-body dl dd>:last-child { margin-bottom: 0px; } .markdown-body blockquote { border-left: 4px solid #FFAD66; padding: 0 15px; color: #B8CFE6; } .markdown-body blockquote>:first-child { margin-top: 0px; } .markdown-body blockquote>:last-child { margin-bottom: 0px; } .markdown-body table th { font-weight: bold; } .markdown-body table th, .markdown-body table td { border: 1px solid #8A9199; padding: 6px 13px; } .markdown-body table tr { border-top: 1px solid #8A9199; background-color: #242936; } .markdown-body table tr:nth-child(2n) { background-color: #1A1F29; } .markdown-body img { max-width: 100%; -moz-box-sizing: border-box; box-sizing: border-box; } .markdown-body span.frame { display: block; overflow: hidden; } .markdown-body span.frame>span { border: 1px solid #8A9199; display: block; float: left; overflow: hidden; margin: 13px 0 0; padding: 7px; width: auto; } .markdown-body span.frame span img { display: block; float: left; } .markdown-body span.frame span span { clear: both; color: #CCCAC2; display: block; padding: 5px 0 0; } .markdown-body span.align-center { display: block; overflow: hidden; clear: both; } .markdown-body span.align-center>span { display: block; overflow: hidden; margin: 13px auto 0; text-align: center; } .markdown-body span.align-center span img { margin: 0 auto; text-align: center; } .markdown-body span.align-right { display: block; overflow: hidden; clear: both; } .markdown-body span.align-right>span { display: block; overflow: hidden; margin: 13px 0 0; text-align: right; } .markdown-body span.align-right span img { margin: 0; text-align: right; } .markdown-body span.float-left { display: block; margin-right: 13px; overflow: hidden; float: left; } .markdown-body span.float-left span { margin: 13px 0 0; } .markdown-body span.float-right { display: block; margin-left: 13px; overflow: hidden; float: right; } .markdown-body span.float-right>span { display: block; overflow: hidden; margin: 13px auto 0; text-align: right; } .markdown-body code, .markdown-body tt { margin: 0 2px; padding: 0px 5px; border: 1px solid #8A9199; background-color: #282E3B; border-radius: 3px; color: #CCCAC2; } .markdown-body code { white-space: nowrap; } .markdown-body pre>code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent; } .markdown-body .highlight pre, .markdown-body pre { background-color: #282E3B; border: 1px solid #8A9199; font-size: 13px; line-height: 19px; overflow: auto; padding: 6px 10px; border-radius: 3px; } .markdown-body pre code, .markdown-body pre tt { margin: 0; padding: 0; background-color: transparent; border: none; } pre { line-height: 125%; } td.linenos .normal { color: #8a919966; background-color: transparent; padding-left: 5px; padding-right: 5px; } span.linenos { color: #8a919966; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #363C48 } .highlight .c { color: #6E7C8E } /* Comment */ .highlight .err { color: #FF6666 } /* Error */ .highlight .g { color: #CCCAC2 } /* Generic */ .highlight .k { color: #FFAD66 } /* Keyword */ .highlight .o { color: #F29E74 } /* Operator */ .highlight .ch { color: #6E7C8E } /* Comment.Hashbang */ .highlight .cm { color: #6E7C8E; font-style: italic } /* Comment.Multiline */ .highlight .cp { color: #FFAD66 } /* Comment.Preproc */ .highlight .cpf { color: #D5FF80 } /* Comment.PreprocFile */ .highlight .c1 { color: #6E7C8E; font-style: italic } /* Comment.Single */ .highlight .cs { color: #6E7C8E } /* Comment.Special */ .highlight .gd { color: #F27983 } /* Generic.Deleted */ .highlight .ge { color: #FFD173; font-style: italic } /* Generic.Emph */ .highlight .gr { color: #FF6666 } /* Generic.Error */ .highlight .gh { color: #FFD173; font-weight: bold } /* Generic.Heading */ .highlight .gi { color: #87D96C } /* Generic.Inserted */ .highlight .go { color: #D5FF80 } /* Generic.Output */ .highlight .gp { color: #F29E74 } /* Generic.Prompt */ .highlight .gs { color: #FFD173; font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #CCCAC2 } /* Generic.Subheading */ .highlight .gt { color: #FF6666 } /* Generic.Traceback */ .highlight .kc { color: #DFBFFF } /* Keyword.Constant */ .highlight .kd { color: #FFCC66 } /* Keyword.Declaration */ .highlight .kn { color: #FFAD66 } /* Keyword.Namespace */ .highlight .kp { color: #FFAD66 } /* Keyword.Pseudo */ .highlight .kr { color: #FFAD66 } /* Keyword.Reserved */ .highlight .kt { color: #73D0FF } /* Keyword.Type */ .highlight .m { color: #DFBFFF } /* Literal.Number */ .highlight .s { color: #D5FF80 } /* Literal.String */ .highlight .na { color: #FFD173 } /* Name.Attribute */ .highlight .nb { color: #F28779 } /* Name.Builtin */ .highlight .nc { color: #5CCFE6 } /* Name.Class */ .highlight .no { color: #DFBFFF } /* Name.Constant */ .highlight .nd { color: #FFDFB3 } /* Name.Decorator */ .highlight .nf { color: #FFD173 } /* Name.Function */ .highlight .nt { color: #5CCFE6 } /* Name.Tag */ .highlight .ow { color: #F29E74 } /* Operator.Word */ .highlight .w { color: #CCCAC2 } /* Text.Whitespace */ .highlight .mb { color: #DFBFFF } /* Literal.Number.Bin */ .highlight .mf { color: #DFBFFF } /* Literal.Number.Float */ .highlight .mh { color: #DFBFFF } /* Literal.Number.Hex */ .highlight .mi { color: #DFBFFF } /* Literal.Number.Integer */ .highlight .mo { color: #DFBFFF } /* Literal.Number.Oct */ .highlight .sa { color: #D5FF80 } /* Literal.String.Affix */ .highlight .sb { color: #F29E74 } /* Literal.String.Backtick */ .highlight .sc { color: #D5FF80 } /* Literal.String.Char */ .highlight .dl { color: #D5FF80 } /* Literal.String.Delimiter */ .highlight .sd { color: #95E6CB; font-style: italic } /* Literal.String.Doc */ .highlight .s2 { color: #D5FF80 } /* Literal.String.Double */ .highlight .se { color: #D5FF80 } /* Literal.String.Escape */ .highlight .sh { color: #D5FF80 } /* Literal.String.Heredoc */ .highlight .si { color: #D5FF80 } /* Literal.String.Interpol */ .highlight .sx { color: #D5FF80 } /* Literal.String.Other */ .highlight .sr { color: #95E6CB } /* Literal.String.Regex */ .highlight .s1 { color: #D5FF80 } /* Literal.String.Single */ .highlight .ss { color: #D5FF80 } /* Literal.String.Symbol */ .highlight .bp { color: #F28779 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #FFD173 } /* Name.Function.Magic */ .highlight .vi { color: #FFCC66 } /* Name.Variable.Instance */ .highlight .vm { color: #5CCFE6; font-style: italic } /* Name.Variable.Magic */ .highlight .il { color: #DFBFFF } /* Literal.Number.Integer.Long */
Language Syntax Highlighting Treesitter Textobjects Auto Indent Default LSP
ada ada_language_server
adl
agda
astro
awk awk-language-server
bash bash-language-server
bass bass
beancount
bibtex texlab
bicep bicep-langserver
bitbake bitbake-language-server
blade
blueprint blueprint-compiler
c clangd
c-sharp OmniSharp
cabal haskell-language-server-wrapper
cairo cairo-language-server
capnp
cel
circom circom-lsp
clojure clojure-lsp
cmake cmake-language-server
comment
common-lisp cl-lsp
cpon
cpp clangd
crystal crystalline
css vscode-css-language-server
cue cuelsp
d serve-d
dart dart
dbml
devicetree
dhall dhall-lsp-server
diff
docker-compose docker-compose-langserver, yaml-language-server
dockerfile docker-langserver
dot dot-language-server
dtd
earthfile earthlyls
edoc
eex
ejs
elisp
elixir elixir-ls
elm elm-language-server
elvish elvish
env
erb
erlang erlang_ls
esdl
fidl
fish
forth forth-lsp
fortran fortls
fsharp fsautocomplete
gas
gdscript
gemini
gherkin
git-attributes
git-commit
git-config
git-ignore
git-rebase
gjs typescript-language-server, vscode-eslint-language-server, ember-language-server
gleam gleam
glimmer ember-language-server
glsl
gn
go gopls, golangci-lint-langserver
godot-resource
gomod gopls
gotmpl gopls
gowork gopls
graphql graphql-lsp
groovy
gts typescript-language-server, vscode-eslint-language-server, ember-language-server
hare
haskell haskell-language-server-wrapper
haskell-persistent
hcl terraform-ls
heex elixir-ls
helm helm_ls
hocon
hoon
hosts
html vscode-html-language-server
hurl
hyprlang
idris idris2-lsp
iex
ini
inko
janet
java jdtls
javascript typescript-language-server
jinja
jjdescription
jq jq-lsp
jsdoc
json vscode-json-language-server
json5
jsonc vscode-json-language-server
jsonnet jsonnet-language-server
jsx typescript-language-server
julia julia
just
kdl
koka koka
kotlin kotlin-language-server
latex texlab
ld
ldif
lean lean
ledger
llvm
llvm-mir
llvm-mir-yaml
log
lpf
lua lua-language-server
make
markdoc markdoc-ls
markdown marksman, markdown-oxide
markdown.inline
matlab
mermaid
meson mesonlsp
mint mint
mojo mojo-lsp-server
move
msbuild
nasm
nickel nls
nim nimlangserver
nix nil, nixd
nu nu
nunjucks
ocaml ocamllsp
ocaml-interface ocamllsp
odin ols
ohm
opencl clangd
openscad openscad-lsp
org
pascal pasls
passwd
pem
perl perlnavigator
pest pest-language-server
php intelephense
php-only
pkgbuild pkgbuild-language-server, bash-language-server
pkl
po
pod
ponylang
powershell
prisma prisma-language-server
prolog swipl
protobuf bufls, pb
prql
purescript purescript-language-server
python ruff, jedi-language-server, pylsp
qml qmlls
r R
racket racket
regex
rego regols
rescript rescript-language-server
rmarkdown R
robot robotframework_ls
ron
rst
ruby solargraph
rust rust-analyzer
sage
scala metals
scheme
scss vscode-css-language-server
slint slint-lsp
smali
smithy cs
sml
solidity solc
spicedb
sql
sshclientconfig
starlark
strace
supercollider
svelte svelteserver
sway forc
swift sourcekit-lsp
t32
tablegen
tact
task
tcl
templ templ
tfvars terraform-ls
thrift
todotxt
toml taplo
tsq
tsx typescript-language-server
twig
typescript typescript-language-server
typespec tsp-server
typst tinymist, typst-lsp
ungrammar
unison
uxntal
v v-analyzer
vala vala-language-server
verilog svlangserver
vhdl vhdl_ls
vhs
vue vue-language-server
wast
wat
webc
wgsl wgsl_analyzer
wit
wren
xit
xml
xtc
yaml yaml-language-server, ansible-language-server
yuck
zig zls