1
0
Fork 0
mirror of synced 2024-12-27 00:53:20 -05:00
ultimate-vim/sources_non_forked/markdown-preview.nvim/plugin/mkdp.vim

131 lines
3.8 KiB
VimL
Raw Normal View History

2022-05-19 08:12:11 -04:00
" set to 1, the vim will open the preview window once enter the markdown
" buffer
if !exists('g:mkdp_auto_start')
let g:mkdp_auto_start = 0
endif
" let g:mkdp_auto_open = 0
" set to 1, the vim will auto open preview window when you edit the
" markdown file
" set to 1, the vim will auto close current preview window when change
" from markdown buffer to another buffer
if !exists('g:mkdp_auto_close')
let g:mkdp_auto_close = 1
endif
" set to 1, the vim will just refresh markdown when save the buffer or
" leave from insert mode, default 0 is auto refresh markdown as you edit or
" move the cursor
if !exists('g:mkdp_refresh_slow')
let g:mkdp_refresh_slow = 0
endif
" set to 1, the MarkdownPreview command can be use for all files,
" by default it just can be use in markdown file
if !exists('g:mkdp_command_for_global')
let g:mkdp_command_for_global = 0
endif
" set to 1, preview server available to others in your network
" by default, the server only listens on localhost (127.0.0.1)
if !exists('g:mkdp_open_to_the_world')
let g:mkdp_open_to_the_world = 0
endif
" use custom ip to open preview page
" default empty
if !exists('g:mkdp_open_ip')
let g:mkdp_open_ip = ''
endif
" set to 1, echo preview page url in command line when open preview page
" default is 0
if !exists('g:mkdp_echo_preview_url')
let g:mkdp_echo_preview_url = 0
endif
" use custom vim function to open preview page
" this function will receive url as param
if !exists('g:mkdp_browserfunc')
let g:mkdp_browserfunc = ''
endif
" specify browser to open preview page
if !exists('g:mkdp_browser')
let g:mkdp_browser = ''
endif
if !exists('g:mkdp_preview_options')
let g:mkdp_preview_options = {
\ 'mkit': {},
\ 'katex': {},
\ 'uml': {},
\ 'maid': {},
\ 'disable_sync_scroll': 0,
\ 'sync_scroll_type': 'middle',
\ 'hide_yaml_meta': 1,
\ 'sequence_diagrams': {},
\ 'flowchart_diagrams': {},
\ 'content_editable': v:false,
\ 'disable_filename': 0,
\ 'toc': {}
\ }
elseif !has_key(g:mkdp_preview_options, 'disable_filename')
let g:mkdp_preview_options['disable_filename'] = 0
endif
" markdown css file absolute path
if !exists('g:mkdp_markdown_css')
let g:mkdp_markdown_css = ''
endif
" highlight css file absolute path
if !exists('g:mkdp_highlight_css')
let g:mkdp_highlight_css = ''
endif
if !exists('g:mkdp_port')
let g:mkdp_port = ''
endif
" preview page title
" ${name} will be replace with the file name
if !exists('g:mkdp_page_title')
let g:mkdp_page_title = '「${name}」'
endif
" recognized filetypes
if !exists('g:mkdp_filetypes')
let g:mkdp_filetypes = ['markdown']
endif
function! s:init_command() abort
command! -buffer MarkdownPreview call mkdp#util#open_preview_page()
command! -buffer MarkdownPreviewStop call mkdp#util#stop_preview()
command! -buffer MarkdownPreviewToggle call mkdp#util#toggle_preview()
" mapping for user
noremap <buffer> <silent> <Plug>MarkdownPreview :MarkdownPreview<CR>
inoremap <buffer> <silent> <Plug>MarkdownPreview <Esc>:MarkdownPreview<CR>a
noremap <buffer> <silent> <Plug>MarkdownPreviewStop :MarkdownPreviewStop<CR>
inoremap <buffer> <silent> <Plug>MarkdownPreviewStop <Esc>:MarkdownPreviewStop<CR>a
nnoremap <buffer> <silent> <Plug>MarkdownPreviewToggle :MarkdownPreviewToggle<CR>
inoremap <buffer> <silent> <Plug>MarkdownPreviewToggle <Esc>:MarkdownPreviewToggle<CR>
endfunction
function! s:init() abort
augroup mkdp_init
autocmd!
if g:mkdp_command_for_global
autocmd BufEnter * :call s:init_command()
else
autocmd BufEnter,FileType * if index(g:mkdp_filetypes, &filetype) !=# -1 | call s:init_command() | endif
endif
if g:mkdp_auto_start
execute 'autocmd BufEnter *.{md,mkd,mdown,mkdn,mdwn,' . join(g:mkdp_filetypes, ',') . '} call mkdp#util#open_preview_page()'
endif
augroup END
endfunction
call s:init()