Personal LazyVim config: vimtex, LTeX, Vale, prose settings
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
return {
|
||||
-- Ensure ltex-ls is installed via Mason
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
vim.list_extend(opts.ensure_installed, { "ltex-ls" })
|
||||
end,
|
||||
},
|
||||
|
||||
-- Configure LTeX for grammar/style/spelling in LaTeX/Markdown
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
ltex = {
|
||||
settings = {
|
||||
ltex = {
|
||||
-- Change to "en-GB", "de-DE", etc. if needed
|
||||
language = "en-US",
|
||||
-- More thorough checks (slower but better for final drafts)
|
||||
additionalRules = {
|
||||
enablePickyRules = true,
|
||||
},
|
||||
-- Load a shared dictionary of domain/academic words
|
||||
dictionary = {
|
||||
["en-US"] = (function()
|
||||
local words = {}
|
||||
local dict_file = vim.fn.expand("~/.config/nvim/spell/ltex.dictionary.en-US.txt")
|
||||
local ok, lines = pcall(vim.fn.readfile, dict_file)
|
||||
if ok and lines then
|
||||
for _, word in ipairs(lines) do
|
||||
word = word:gsub("^%s+", ""):gsub("%s+$", "")
|
||||
if word ~= "" and not word:match("^#") then
|
||||
table.insert(words, word)
|
||||
end
|
||||
end
|
||||
end
|
||||
return words
|
||||
end)(),
|
||||
},
|
||||
-- Check as you type; switch to "save" if it feels too slow
|
||||
checkFrequency = "edit",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user