]> Sergey Matveev's repositories - vim-lsp.git/blob - ftplugin/lspgfm.vim
73dfba8c0d3791440a92afbdc24f84ce871d978d
[vim-lsp.git] / ftplugin / lspgfm.vim
1 vim9script
2
3 import autoload 'lsp/markdown.vim' as md
4
5 var bnr: number = bufnr()
6 var popup_id: number
7 var document: dict<list<any>>
8
9 try
10   popup_id = bnr->getbufinfo()[0].popups[0]
11   document = md.ParseMarkdown(bnr->getbufline(1, '$'), popup_id->winwidth())
12 catch /.*/
13   b:markdown_fallback = v:true
14   finish
15 endtry
16
17 b:lsp_syntax = document.syntax
18 md.list_pattern->setbufvar(bnr, '&formatlistpat')
19 var settings = 'linebreak breakindent breakindentopt=list:-1'
20 win_execute(popup_id, $'setlocal {settings}')
21 popup_id->popup_settext(document.content)
22
23 # vim: tabstop=8 shiftwidth=2 softtabstop=2