X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/21d86a45e166a877a9e79c3ca638efe754e37acf..c58a4f3586473f7476510714698e60835fcb94ef:/indent/markdown.vim diff --git a/indent/markdown.vim b/indent/markdown.vim index faa76296..a954c923 100755 --- a/indent/markdown.vim +++ b/indent/markdown.vim @@ -1,39 +1,39 @@ -if exists("b:did_indent") | finish | endif +if exists('b:did_indent') | finish | endif let b:did_indent = 1 setlocal indentexpr=GetMarkdownIndent() setlocal nolisp setlocal autoindent -" Automatically insert bullets -setlocal formatoptions+=r -" Do not automatically insert bullets when auto-wrapping with text-width -setlocal formatoptions-=c -" Accept various markers as bullets -setlocal comments=b:*,b:+,b:- - " Automatically continue blockquote on line break -setlocal comments+=b:> +setlocal formatoptions+=r +setlocal comments=b:> +if get(g:, 'vim_markdown_auto_insert_bullets', 1) + " Do not automatically insert bullets when auto-wrapping with text-width + setlocal formatoptions-=c + " Accept various markers as bullets + setlocal comments+=b:*,b:+,b:- +endif " Only define the function once -if exists("*GetMarkdownIndent") | finish | endif +if exists('*GetMarkdownIndent') | finish | endif function! s:IsMkdCode(lnum) let name = synIDattr(synID(a:lnum, 1, 0), 'name') - return (name =~ '^mkd\%(Code$\|Snippet\)' || name != '' && name !~ '^\%(mkd\|html\)') + return (name =~# '^mkd\%(Code$\|Snippet\)' || name !=# '' && name !~? '^\%(mkd\|html\)') endfunction function! s:IsLiStart(line) - return a:line !~ '^ *\([*-]\)\%( *\1\)\{2}\%( \|\1\)*$' && - \ a:line =~ '^\s*[*+-] \+' + return a:line !~# '^ *\([*-]\)\%( *\1\)\{2}\%( \|\1\)*$' && + \ a:line =~# '^\s*[*+-] \+' endfunction function! s:IsHeaderLine(line) - return a:line =~ '^\s*#' + return a:line =~# '^\s*#' endfunction function! s:IsBlankLine(line) - return a:line =~ '^$' + return a:line =~# '^$' endfunction function! s:PrevNonBlank(lnum) @@ -48,7 +48,7 @@ function GetMarkdownIndent() if v:lnum > 2 && s:IsBlankLine(getline(v:lnum - 1)) && s:IsBlankLine(getline(v:lnum - 2)) return 0 endif - let list_ind = 4 + let list_ind = get(g:, 'vim_markdown_new_list_item_indent', 4) " Find a non-blank line above the current line. let lnum = s:PrevNonBlank(v:lnum - 1) " At the start of the file use zero indent.