69 lines
1.8 KiB
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
|