zk + custom diagnostics filters

master
blob42 2 years ago
parent 57f173cf4d
commit df39230f58

@ -89,10 +89,10 @@ M.general = { --{{{
["<BS>d"] = { "<cmd>DelayTrainToggle<CR>", "disable delay train" },
["<leader>dge"] = { "<CMD> lua require'spike.diagnostics'.set_diagnostics_level(1)<CR>", "diagnostic severity level error"},
["<leader>dgw"] = { "<CMD> lua require'spike.diagnostics'.set_diagnostics_level(2)<CR>", "diagnostic severity level warning"},
["<leader>dgi"] = { "<CMD> lua require'spike.diagnostics'.set_diagnostics_level(3)<CR>", "diagnostic severity level info"},
["<leader>dgh"] = { "<CMD> lua require'spike.diagnostics'.set_diagnostics_level(4)<CR>", "diagnostic severity level hint"},
["<leader>dge"] = { ":lua require'spike.diagnostics'.set_diagnostics_level(1)<CR>", "diagnostic severity level error"},
["<leader>dgw"] = { ":lua require'spike.diagnostics'.set_diagnostics_level(2)<CR>", "diagnostic severity level warning"},
["<leader>dgi"] = { ":lua require'spike.diagnostics'.set_diagnostics_level(3)<CR>", "diagnostic severity level info"},
["<leader>dgh"] = { ":lua require'spike.diagnostics'.set_diagnostics_level(4)<CR>", "diagnostic severity level hint"},
-- update nvchad
-- ["<leader>uu"] = { "<cmd> :NvChadUpdate <CR>", "update nvchad" },
@ -215,7 +215,7 @@ M.general = { --{{{
-- syntax-tree-surfer
-- visual selection from nomral mode
["vm"] = { "<cmd>STSSelectMasterNode<CR>", "select master node" },
["vn"] = { "<cmd>STSSelectCurrentNode<CR>", "select master node" },
["vn"] = { "<cmd>STSSelectCurrentNode<CR>", "select current node" },
-- normal mode swapping
-- swappint up/down
@ -854,7 +854,7 @@ M.blankline = { --{{{
M.aerial = {
plugin = true,
n = {
["<Right>"] = { "<cmd> AerialOpen right<CR>" },
["<Right>"] = { "<cmd> AerialToggle right<CR>" },
}
}
@ -984,4 +984,16 @@ M.grapple = {
}
}
M.zk = {
plugin = true,
n = {
["<leader>zn"] = {"<Cmd>ZkNew { title = vim.fn.input('Title: ') }<CR>","zk new note"},
["<leader>zk"] = {"<Cmd>ZkNotes { sort = { 'modified' }}<CR>","zk list notes"},
["<leader>zf"] = {"<Cmd>ZkNotes { sort = { 'modified' }, match = vim.fn.input('Search: ') }<CR>","zk notes matching a given query"},
["<leader>zl"] = {"<Cmd>ZkLinks<CR>","zk links"},
["<leader>zh"] = {"<Cmd>ZkBacklinks<CR>","zk backlinks"},
}
}
return M

@ -165,7 +165,8 @@ M.plugins = {
"vim",
"guihua",
"guihua_rust",
"clap_input"
"clap_input",
"markdown"
}
},
["nvim-treesitter/nvim-treesitter"] = require "custom.plugins.configs.treesitter",

@ -5,7 +5,7 @@ local config = {
run_in_floaterm = false,
icons = false,
-- icons = { breakpoint = "🧘", currentpos = "🏃" }, -- set to false to disable
lsp_cfg = false, -- handled handled instead by navigator
lsp_cfg = false, -- handled instead by navigator
lsp_keymaps = false, -- use navigator
-- lsp_diag_signs = false,
lsp_codelens = false, -- use navigator

@ -23,6 +23,7 @@ local config = {
default = {"#8C3AED" },
},
highlight = {
-- multiline = false,
after = "fg",
}
}

@ -0,0 +1,29 @@
local M = {}
local opts = {
-- can be "telescope", "fzf" or "select" (`vim.ui.select`)
-- it's recommended to use "telescope" or "fzf"
picker = "select",
lsp = {
-- `config` is passed to `vim.lsp.start_client(config)`
config = {
cmd = { "zk", "lsp" },
name = "zk",
-- on_attach = ...
-- etc, see `:h vim.lsp.start_client()`
},
-- automatically attach buffers in a zk notebook that match the given filetypes
auto_attach = {
enabled = true,
filetypes = { "markdown" },
},
},
}
M.setup = function()
require("zk").setup(opts)
end
return M

@ -149,6 +149,7 @@ return {
-- text formatting
["folke/todo-comments.nvim"] = { -- {{{
-- commit = "6124066",
after = "nvim-treesitter",
setup = function()
-- require("core.lazy_load").on_file_open "todo-comments"
@ -334,8 +335,8 @@ return {
-- Job management (use nvim startjob )
-- Run async commands (make & errors)
-- TODO: replace with https://github.com/skywind3000/asynctasks.vim
["skywind3000/asyncrun.vim"] = { -- {{{
lock = true,
cmd = "AsyncRun",
@ -375,6 +376,7 @@ return {
},
-- session and view
["vim-scripts/restore_view.vim"] = {}, -- TODO: check if still needed
-- ["rmagatti/auto-session"] = {
@ -538,7 +540,7 @@ return {
--
['stevearc/aerial.nvim'] = {
lock = true,
-- lock = true,
after = { "base46" },
keys = { "<Right>" },
cmd = { "Aerial*" },
@ -674,7 +676,17 @@ return {
},
["kristijanhusak/vim-dadbod-ui"] = {
after = {"vim-dadbod"},
}
},
-- zk nvim
["mickael-menu/zk-nvim"] = {
setup = function()
require("core.utils").load_mappings "zk"
end,
config = function()
require("custom.plugins.configs.zk").setup()
end
},
}

@ -21,7 +21,7 @@ local filter_diagnostics = function(diagnostics, level)
local filtered_diag = {}
for _, d in ipairs(diagnostics) do
if d.severity <= level then
table.insert(filtered_diag, 0, d)
table.insert(filtered_diag, 1, d)
end
end
return filtered_diag
@ -29,10 +29,8 @@ end
--NOTE: apply diagnostics filter to current buffer / all buffers
M.set_diagnostics_level = function(level)
-- hide all diagnostics
vim.diagnostic.hide(nil, 0)
-- vim.diagnostic.reset()
vim.diagnostic.handlers.virtual_text = {
show = function(_, bufnr, _, opts)
-- get all diagnostics for local buffer
@ -46,10 +44,14 @@ M.set_diagnostics_level = function(level)
end
}
local diags = vim.diagnostic.get(0)
bufnr = vim.api.nvim_get_current_buf()
-- hide all diagnostics
vim.diagnostic.hide(nil, bufnr)
local diags = vim.diagnostic.get(bufnr)
if #diags > 0 then
filtered = filter_diagnostics(diags, level)
vim.diagnostic.show(ns, 0, filtered)
vim.diagnostic.show(ns, bufnr, filtered)
end
end

Loading…
Cancel
Save