| Crates.io | simplicityhl-lsp |
| lib.rs | simplicityhl-lsp |
| version | 0.2.1 |
| created_at | 2025-11-11 10:37:52.692916+00 |
| updated_at | 2025-11-26 10:47:02.000973+00 |
| description | Language Server Protocol (LSP) server for SimplicityHL. |
| homepage | https://github.com/BlockstreamResearch/SimplicityHL/tree/master/lsp |
| repository | https://github.com/BlockstreamResearch/SimplicityHL |
| max_upload_size | |
| id | 1926966 |
| size | 5,537,065 |
Language Server for SimplicityHL language.




Install Language Server using cargo:
cargo install simplicityhl-lsp
Install simplicityhl-lsp to your PATH.
Include this Lua snippet to your Neovim config:
vim.filetype.add({
extension = {
simf = "simf",
},
})
vim.lsp.config["simplicityhl-lsp"] = { cmd = { "simplicityhl-lsp" }, filetypes = { "simf" }, settings = {} }
vim.lsp.enable("simplicityhl-lsp")
.simf file and check that LSP is active ("attached")::checkhealth vim.lsp
Currently, the Language Server does not provide any syntax highlighting on its own, but you can install tree-sitter for SimplicityHL:
Set up the nvim-treesitter plugin.
Include this Lua snippet in your Neovim config to register parser:
vim.api.nvim_create_autocmd("User", {
pattern = "TSUpdate",
callback = function()
require("nvim-treesitter.parsers").simplicityhl = {
install_info = {
url = "https://github.com/distributed-lab/tree-sitter-simplicityhl",
queries = "queries",
},
filetype = "simf",
tier = 0,
}
end,
})
vim.treesitter.language.register("simplicityhl", { "simf" })
vim.api.nvim_create_autocmd("FileType", {
pattern = { "simf" },
callback = function()
vim.treesitter.start()
end,
})
:TSInstall simplicityhl
If everything is working correctly, you should see syntax highlighting in .simf files.
Note: This method is compatible only with nvim-treesitter v0.10 or newer.