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 lvl_c end vim.opt.foldlevel = 0 vim.opt.foldexpr = 'v:lua.markdown_lst_foldexpr(v:lnum)'