kickstart.nvim/lua/custom/plugins/lisp.lua

68 lines
1.8 KiB
Lua

local lisp_dialects = { "clojure", "fennel", "scheme", "lisp" }
return {
{
"gpanders/nvim-parinfer",
ft = "lisp",
init = function()
vim.g.parinfer_force_balance = true
vim.g.parinfer_comment_chars = ";;"
end,
},
{
"julienvincent/nvim-paredit",
ft = { "clojure", "fennel", "scheme" },
config = function()
require("nvim-paredit").setup()
end
},
{
"julienvincent/nvim-paredit-fennel",
dependencies = { "julienvincent/nvim-paredit" },
ft = { "fennel" },
config = function()
require("nvim-paredit-fennel").setup()
end
},
{
"ekaitz-zarraga/nvim-paredit-scheme",
dependencies = { "julienvincent/nvim-paredit" },
ft = { "scheme" },
config = function()
require("nvim-paredit-scheme").setup(require("nvim-paredit"))
end
},
{
"Olical/conjure",
ft = lisp_dialects,
init = function()
vim.api.nvim_create_autocmd("BufNewFile", {
group = vim.api.nvim_create_augroup("conjure_log_disable_lsp", { clear = true }),
pattern = { "conjure-log-*" },
callback = function() vim.diagnostic.disable(0) end,
desc = "Conjure Log disable LSP diagnostics",
})
vim.api.nvim_create_autocmd("FileType", {
group = vim.api.nvim_create_augroup("comment_config", { clear = true }),
pattern = { "clojure" },
callback = function() vim.bo.commentstring = ";; %s" end,
desc = "Lisp style line comment",
})
vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, {
group = vim.api.nvim_create_augroup("repl_is_clojrue_file", { clear = true }),
pattern = { "*.repl" },
callback = function()
vim.cmd([[ set ft=clojure ]])
end,
desc = "Associate *.repl file as a clojure filetype."
})
-- Guile socket repl support
vim.g["conjure#filetype#scheme"] = "conjure.client.guile.socket"
end,
},
{ "udalov/javap-vim", ft = "java" },
}