local lspconfig = require('lspconfig') local config = { filetypes = { 'text', 'bib', 'gitcommit', 'markdown', 'org', 'plaintex', 'rst', 'rnoweb', 'tex', 'pandoc' }, settings = { ['ltex'] = { language = "auto" } } } lspconfig.ltex.setup(config) vim.api.nvim_create_user_command('SCOn', function (args) lspconfig.ltex.setup(config) end, { desc = "Enable spellcheck." }) vim.api.nvim_create_user_command('SCOff', function (args) lspconfig.ltex.setup { filetypes = {} } end, { desc = "Disable spellcheck." }) vim.api.nvim_create_user_command('SCLangRU', function (args) config.settings['ltex'].language = "ru-RU" lspconfig.ltex.setup(config) end, { desc = "Set spellcheck to Russian." }) vim.api.nvim_create_user_command('SCLangEN', function (args) config.settings['ltex'].language = "en-US" lspconfig.ltex.setup(config) end, { desc = "Set spellcheck to English." }) vim.api.nvim_create_user_command('SCLangAuto', function (args) config.settings['ltex'].language = "auto" lspconfig.ltex.setup(config) end, { desc = "Set spellcheck to Auto." }) vim.api.nvim_create_user_command('SCForce', function (args) vim.cmd("setfiletype text") vim.cmd("SCOn") end, { desc = "Set buffer type to text." }) vim.api.nvim_create_user_command('SCReset', function (args) vim.cmd("filetype detect") vim.cmd("SCLangAuto") end, { desc = "Set buffer type to auto." }) vim.api.nvim_create_user_command('SCInfo', function (args) vim.cmd("LspInfo") end, { desc = "Show info about spellcheck." }) vim.api.nvim_create_user_command('SCInstall', function (args) vim.cmd("MasonInstall ltex-ls") end, { desc = "Install spellcheck (requires Mason)." })