Files
barankarakus 6aa34122a1 Defined new commands, tidied codebase. (#312)
The :MarkdownPreview command is defined by default. However, neither the
:MarkdownPreviewStop nor the :MarkdownPreviewToggle commands are defined
by default. Even more strangely, the :MarkdownPreviewStop command *is*
actually defined by default, but only *after* :MarkdownPreview has been
invoked???

I've modified the code to define these two commands by default. I've
also tidied up the codebase by removing redundant functions and reducing
code duplication.
2021-03-07 21:44:21 +08:00

130 lines
3.8 KiB
VimL

" 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
\ }
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()