2024-05-31 18:00:12 +02:00
|
|
|
local log = require("ltex_extra.src.log")
|
|
|
|
|
|
|
|
local M = {}
|
|
|
|
|
|
|
|
local default_opts = {
|
2024-07-14 12:53:35 +02:00
|
|
|
load_langs = { "nl-BE", "en-US" },
|
2024-05-31 18:00:12 +02:00
|
|
|
init_check = true,
|
|
|
|
}
|
|
|
|
|
|
|
|
M.opts = {}
|
|
|
|
|
|
|
|
local ltex_languages = {
|
2024-07-14 12:53:35 +02:00
|
|
|
"en-US",
|
2024-05-31 18:00:12 +02:00
|
|
|
"en-GB",
|
|
|
|
"nl-BE",
|
|
|
|
"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
|