diff options
| author | Robert Günzler <r@gnzler.io> | 2021-08-30 18:19:54 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2021-08-31 12:41:19 +0200 |
| commit | 37aff33a459646cfbbf8646e17851c7a90fdb287 (patch) | |
| tree | 505971518b16f382cc664a766e458065bff312c7 /.vim/after/ftplugin | |
| parent | 78f496f4202b07ee0691ce5b12becd468e321535 (diff) | |
vim: add zk langserver
Diffstat (limited to '.vim/after/ftplugin')
| -rw-r--r-- | .vim/after/ftplugin/markdown.lua | 40 |
1 files changed, 40 insertions, 0 deletions
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 { + '<Plug>Markdown_OpenUrlUnderCursor', + function() require('misc').open_under_cursor('url-launcher') end, +} + +nnoremap { '<leader>zn', function() require('zk').new() end } +nnoremap { '<leader>zi', function() require('zk').index() end } +vim.cmd [[ command! -nargs=* ZettelkastenNew lua require('zk').new(nil, <f-args>) ]] + +-- 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)' |