{ ... }:
{
  text = ''
    local lspconfig = require('lspconfig')
    local config = {
      filetypes = {
        "bib",
        "gitcommit",
        "markdown",
        "org",
        "pandoc",
        "plaintex",
        "rnoweb",
        "rst",
        "tex",
        "text",
      },
      settings = {
        ["ltex"] = {
          language = "auto"
        }
      }
    }

    lspconfig.ltex.setup(config)

    -- Use TeX LSP for spellcheck.
    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." })
  '';
}