From 2fcd4cdc5fdbed0d2ac097db31578acb0b86b8a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?George=20Guimar=C3=A3es?= Date: Fri, 8 Nov 2024 05:10:11 -0800 Subject: [PATCH] feat(elixir): add support for livebook files (`*.livemd`) (#4184) Livebook is a subset of Markdown, so we can safely use markdown's treesitter for it. Co-authored-by: Iordanis Petkakis --- lua/lazyvim/plugins/extras/lang/elixir.lua | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lua/lazyvim/plugins/extras/lang/elixir.lua b/lua/lazyvim/plugins/extras/lang/elixir.lua index f391edbd..289e50df 100644 --- a/lua/lazyvim/plugins/extras/lang/elixir.lua +++ b/lua/lazyvim/plugins/extras/lang/elixir.lua @@ -1,7 +1,7 @@ return { recommended = function() return LazyVim.extras.wants({ - ft = { "elixir", "eelixir", "heex", "surface" }, + ft = { "elixir", "eelixir", "heex", "surface", "livebook" }, root = "mix.exs", }) end, @@ -40,7 +40,11 @@ return { }, { "nvim-treesitter/nvim-treesitter", - opts = { ensure_installed = { "elixir", "heex", "eex" } }, + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "elixir", "heex", "eex" }) + vim.treesitter.language.register("markdown", "livebook") + end, }, { "nvim-neotest/neotest", @@ -85,4 +89,11 @@ return { } end, }, + { + "MeanderingProgrammer/render-markdown.nvim", + optional = true, + ft = function(_, ft) + vim.list_extend(ft, { "livebook" }) + end, + }, }