From 37aff33a459646cfbbf8646e17851c7a90fdb287 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Mon, 30 Aug 2021 18:19:54 +0200 Subject: vim: add zk langserver --- .vim/after/ftplugin/markdown.lua | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .vim/after/ftplugin/markdown.lua (limited to '.vim/after/ftplugin/markdown.lua') diff --git a/.vim/after/ftplugin/markdown.lua b/.vim/after/ftplugin/markdown.lua new file mode 100644 index 0000000..c0796b8 --- /dev/null +++ b/.vim/after/ftplugin/markdown.lua @@ -0,0 +1,40 @@ +local nnoremap = require('astronauta.keymap').nnoremap + +vim.opt.foldlevel = 1 +vim.opt.spell = true + +vim.fn.matchadd('Conceal', '\\[ \\]', 0, -1, { conceal = '☐' }) +vim.fn.matchadd('Conceal', '\\[x\\]', 0, -1, { conceal = '☑' }) +vim.fn.matchadd('Conceal', '\\[-\\]', 0, -1, { conceal = '☒' }) +vim.fn.matchadd('Conceal', '\\[\\]', 0, -1, { conceal = '🞕' }) + +nnoremap { + 'Markdown_OpenUrlUnderCursor', + function() require('misc').open_under_cursor('url-launcher') end, +} + +nnoremap { 'zn', function() require('zk').new() end } +nnoremap { 'zi', function() require('zk').index() end } +vim.cmd [[ command! -nargs=* ZettelkastenNew lua require('zk').new(nil, ) ]] + +-- markdown list folding +local function calc_lvl(line) + local i, k = string.find(line, "^[ ]*[*-]") + if i and k then return ((k-i) / vim.fn.shiftwidth()) + 1 end + return 0 +end +function _G.markdown_lst_foldexpr(lnum) + local lines = vim.api.nvim_buf_get_lines(0, lnum-1, lnum+1, false) + if not #lines == 2 then + return '=' + end + local lvl_c = calc_lvl(lines[1]) + local lvl_n = calc_lvl(lines[2]) + if lvl_c > 0 then + if lvl_c < lvl_n then return '>'..lvl_c end -- starts + if lvl_c > lvl_n then return '<'..lvl_c end -- ends + end + return '=' +end +vim.opt.foldlevel = 0 +vim.opt.foldexpr = 'v:lua.markdown_lst_foldexpr(v:lnum)' -- cgit 1.4.1