Compare commits

..

5 commits

Author SHA1 Message Date
4e73cc78aa
generate pdfs while typing in typst files 2026-01-17 20:17:32 -05:00
e83b9e5cfa add markdown snippets 2026-01-12 17:14:26 -05:00
550f5d060b
this is the good nix lsp 2025-12-18 01:51:30 -05:00
47c0d051f6
mason 2025-12-18 00:30:30 -05:00
ade2f0f598
good old treesitter master branch, see my treesitter-main branch for...
why I'm not switching
2025-12-17 22:20:40 -05:00
4 changed files with 63 additions and 46 deletions

5
after/lsp/tinymist.lua Normal file
View file

@ -0,0 +1,5 @@
return {
settings = {
exportPdf = "onType",
}
}

View file

@ -7,14 +7,15 @@ return {
load = function() load = function()
core.lsp.setup() core.lsp.setup()
require("mason-lspconfig").setup { require("mason-lspconfig").setup {
ensure_added = { ensure_installed = {
"clangd", "clangd",
"mesonlsp", "mesonlsp",
"bashls", "bashls",
"jdtls", "jdtls",
"lua_ls", "lua_ls",
"basedpyright", "basedpyright",
"debugpy" "zls",
"nil_ls"
} }
} }
end end

View file

@ -1,59 +1,59 @@
local map, auto = core.misc.map, core.misc.auto local map = core.misc.map
local function highlight(buf) return {
local lang = vim.bo[buf].ft { "nvim-treesitter/nvim-treesitter",
if table.contains({ "diff", "tex" }, lang) then branch = "master",
return false config = function()
vim.cmd("TSUpdate")
end,
load = function()
require("nvim-treesitter.configs").setup {
-- good default parsers
ensure_installed = { "c", "lua", "vim", "vimdoc", "markdown",
"markdown_inline", "java", "bash", "css", "html", "luadoc",
"make", "zig"
},
-- indentation
indent = {
enable = true,
disable = function(lang, _)
-- disable indenting in php (it's more broken with than without)
return table.contains(({
"php"
}), lang)
end
},
-- enable highlighting
highlight = {
enable = true,
-- use vim highlighting in addition to treesitter
additional_vim_regex_highlighting = true,
disable = function(lang, buf)
-- disable in some files where vim's builtin highlighting is better
if table.contains(({
"diff", "tex"
}), lang) then
return true
end end
-- disable in big files -- disable in big files
local ok, stats = pcall(vim.uv.fs_stat, local ok, stats = pcall(vim.uv.fs_stat,
vim.api.nvim_buf_get_name(buf)) vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > (1024 * 100 * 10) --[[1MB]] then if ok and stats and stats.size > (1024 * 100 * 10) --[[1MB]] then
return false
end
return true return true
end
local function indent(buf)
local lang = vim.bo[buf].ft
-- disable indenting in php (it's more broken with than without)
return not table.contains({ "php" }, lang)
end
return {
{ "nvim-treesitter/nvim-treesitter",
branch = "main",
config = function()
vim.cmd("TSUpdate")
end,
load = function()
local treesitter = require("nvim-treesitter")
treesitter.setup {}
treesitter.install({
"c", "lua", "vim", "vimdoc", "markdown",
"markdown_inline", "java", "bash", "css", "html", "luadoc",
"make", "zig"
}, {
force = false,
summary = false,
})
auto("FileType", {
callback = function(ev)
if highlight(ev.buf) then
pcall(vim.treesitter.start)
vim.bo[ev.buf].syntax = "ON"
end end
if indent(ev.buf) then
vim.bo[ev.buf].indentexpr = "v:lua.require('nvim-treesitter').indentexpr()"
end end
end, }
}) }
core.misc.map("n", "<leader><leader>t", function() core.misc.map("n", "<leader><leader>t", function()
treesitter.install { vim.bo[0].ft } pcall(vim.cmd.TSInstall, vim.api.nvim_get_option_value("ft", {
buf = vim.api.nvim_get_current_buf()
}))
end) end)
end end
}, },

11
lua/snippets/markdown.lua Normal file
View file

@ -0,0 +1,11 @@
dofile(core.snippets)
return {
s("[]", {
t("["),
i(1),
t("]("),
i(2),
t(")"),
}),
}