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" }, ["<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>dge"] = { ":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>dgw"] = { ":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>dgi"] = { ":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>dgh"] = { ":lua require'spike.diagnostics'.set_diagnostics_level(4)<CR>", "diagnostic severity level hint"},
-- update nvchad -- update nvchad
-- ["<leader>uu"] = { "<cmd> :NvChadUpdate <CR>", "update nvchad" }, -- ["<leader>uu"] = { "<cmd> :NvChadUpdate <CR>", "update nvchad" },
@ -215,7 +215,7 @@ M.general = { --{{{
-- syntax-tree-surfer -- syntax-tree-surfer
-- visual selection from nomral mode -- visual selection from nomral mode
["vm"] = { "<cmd>STSSelectMasterNode<CR>", "select master node" }, ["vm"] = { "<cmd>STSSelectMasterNode<CR>", "select master node" },
["vn"] = { "<cmd>STSSelectCurrentNode<CR>", "select master node" }, ["vn"] = { "<cmd>STSSelectCurrentNode<CR>", "select current node" },
-- normal mode swapping -- normal mode swapping
-- swappint up/down -- swappint up/down
@ -854,7 +854,7 @@ M.blankline = { --{{{
M.aerial = { M.aerial = {
plugin = true, plugin = true,
n = { 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 return M

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

@ -5,7 +5,7 @@ local config = {
run_in_floaterm = false, run_in_floaterm = false,
icons = false, icons = false,
-- icons = { breakpoint = "🧘", currentpos = "🏃" }, -- set to false to disable -- 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_keymaps = false, -- use navigator
-- lsp_diag_signs = false, -- lsp_diag_signs = false,
lsp_codelens = false, -- use navigator lsp_codelens = false, -- use navigator

@ -23,6 +23,7 @@ local config = {
default = {"#8C3AED" }, default = {"#8C3AED" },
}, },
highlight = { highlight = {
-- multiline = false,
after = "fg", 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 -- text formatting
["folke/todo-comments.nvim"] = { -- {{{ ["folke/todo-comments.nvim"] = { -- {{{
-- commit = "6124066",
after = "nvim-treesitter", after = "nvim-treesitter",
setup = function() setup = function()
-- require("core.lazy_load").on_file_open "todo-comments" -- require("core.lazy_load").on_file_open "todo-comments"
@ -334,8 +335,8 @@ return {
-- Job management (use nvim startjob ) -- Job management (use nvim startjob )
-- Run async commands (make & errors) -- Run async commands (make & errors)
-- TODO: replace with https://github.com/skywind3000/asynctasks.vim -- TODO: replace with https://github.com/skywind3000/asynctasks.vim
["skywind3000/asyncrun.vim"] = { -- {{{ ["skywind3000/asyncrun.vim"] = { -- {{{
lock = true, lock = true,
cmd = "AsyncRun", cmd = "AsyncRun",
@ -375,6 +376,7 @@ return {
}, },
-- session and view -- session and view
["vim-scripts/restore_view.vim"] = {}, -- TODO: check if still needed ["vim-scripts/restore_view.vim"] = {}, -- TODO: check if still needed
-- ["rmagatti/auto-session"] = { -- ["rmagatti/auto-session"] = {
@ -538,7 +540,7 @@ return {
-- --
['stevearc/aerial.nvim'] = { ['stevearc/aerial.nvim'] = {
lock = true, -- lock = true,
after = { "base46" }, after = { "base46" },
keys = { "<Right>" }, keys = { "<Right>" },
cmd = { "Aerial*" }, cmd = { "Aerial*" },
@ -674,7 +676,17 @@ return {
}, },
["kristijanhusak/vim-dadbod-ui"] = { ["kristijanhusak/vim-dadbod-ui"] = {
after = {"vim-dadbod"}, 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 = {} local filtered_diag = {}
for _, d in ipairs(diagnostics) do for _, d in ipairs(diagnostics) do
if d.severity <= level then if d.severity <= level then
table.insert(filtered_diag, 0, d) table.insert(filtered_diag, 1, d)
end end
end end
return filtered_diag return filtered_diag
@ -29,10 +29,8 @@ end
--NOTE: apply diagnostics filter to current buffer / all buffers --NOTE: apply diagnostics filter to current buffer / all buffers
M.set_diagnostics_level = function(level) M.set_diagnostics_level = function(level)
-- hide all diagnostics
vim.diagnostic.hide(nil, 0)
-- vim.diagnostic.reset()
vim.diagnostic.handlers.virtual_text = { vim.diagnostic.handlers.virtual_text = {
show = function(_, bufnr, _, opts) show = function(_, bufnr, _, opts)
-- get all diagnostics for local buffer -- get all diagnostics for local buffer
@ -46,10 +44,14 @@ M.set_diagnostics_level = function(level)
end 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 if #diags > 0 then
filtered = filter_diagnostics(diags, level) filtered = filter_diagnostics(diags, level)
vim.diagnostic.show(ns, 0, filtered) vim.diagnostic.show(ns, bufnr, filtered)
end end
end end

Loading…
Cancel
Save