dotfiles/home/nvim/files/lua/ltex_extra/init.lua

69 lines
1.8 KiB
Lua

local log = require("ltex_extra.src.log")
local M = {}
local default_opts = {
load_langs = { "es-AR", "en-US" },
init_check = true,
}
M.opts = {}
local ltex_languages = {
"en-GB",
"nl-BE",
"en-US",
"fr",
"auto",
}
local register_user_cmds = function()
vim.api.nvim_create_user_command("LtexSwitchLang", function()
vim.ui.select(ltex_languages, {
prompt = "Select language:",
}, function(choice)
require("ltex_extra.src.commands-lsp").switchLanguage(choice)
end)
end, { desc = "ltex_extra.nvim: Switch sever language" })
end
M.setup = function(opts)
log.trace("Merge options")
M.opts = opts or default_opts
for key, value in pairs(default_opts) do
if not M.opts[key] then
M.opts[key] = value
end
end
log.trace("Add commands to lsp")
register_user_cmds()
vim.lsp.commands['_ltex.addToDictionary'] = require("ltex_extra.src.commands-lsp").addToDictionary
vim.lsp.commands['_ltex.hideFalsePositives'] = require("ltex_extra.src.commands-lsp").hideFalsePositives
vim.lsp.commands['_ltex.disableRules'] = require("ltex_extra.src.commands-lsp").disableRules
log.trace("Inital load files")
if opts.init_check == true then
require("ltex_extra.src.commands-lsp").updateConfigFull(opts.load_langs)
end
end
return M
-- Dev notes:
--
-- Dummy functions for test vim.lsp.commands
-- local dummy_calls = 0
-- local dummy_cmd = function()
-- print(dummy_calls)
-- dummy_calls = dummy_calls + 1
-- print(dummy_calls)
-- end
-- Inspect function for arguments. Doesn't work after nvim 0.7.
-- local orig_execute_command = vim.lsp.buf.execute_command
-- vim.lsp.buf.execute_command = function (command)
-- print(vim.inspect(command))
-- orig_execute_command(command)
-- end