From: Ciro Santilli Date: Mon, 6 Oct 2014 10:02:20 +0000 (+0200) Subject: Merge pull request #134 from cirosantilli/readme-uniform-codeblocks X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/7046e0dd612f31d02c954b96915dd00866147572?hp=a9f56e2ce0a97c79ed61cb536e141453c2f92975 Merge pull request #134 from cirosantilli/readme-uniform-codeblocks Use a single code block style on README. --- diff --git a/README.md b/README.md index 93b0d986..419c26d8 100644 --- a/README.md +++ b/README.md @@ -47,15 +47,21 @@ tar --strip=1 -zxf vim-markdown-master.tar.gz ## Options -**Disable Folding** +### Disable Folding -Add the following line to your `.vimrc` to disable folding. +Add the following line to your `.vimrc` to disable folding configuration. ```vim let g:vim_markdown_folding_disabled=1 ``` -**Set Initial Foldlevel** +This option only controls vim_markdown's folding configuration. To enable/disable folding use Vim's folding configuration. + +```vim +set [no]foldenable +``` + +### Set Initial Foldlevel Add the following line to your `.vimrc` to set the initial foldlevel. This option defaults to 0 (i.e. all folds are closed) and is ignored if folding is disabled. @@ -63,7 +69,7 @@ Add the following line to your `.vimrc` to set the initial foldlevel. This optio let g:vim_markdown_initial_foldlevel=1 ``` -**Disable Default Key Mappings** +### Disable Default Key Mappings Add the following line to your `.vimrc` to disable default key mappings. You can map them by yourself with `` mappings. @@ -71,15 +77,26 @@ Add the following line to your `.vimrc` to disable default key mappings. You can let g:vim_markdown_no_default_key_mappings=1 ``` -**Syntax extensions** +### Syntax extensions + +The following options control which syntax extensions will be turned on. They are off by default. -The following options control which syntax extensions will be turned on. +#### LaTeX math -LaTeX math: `$ $`, `$$ $$`, escapable as `\$ \$` and `\$\$ \$\$`: +Used as `$x^2$`, `$$x^2$$`, escapable as `\$x\$` and `\$\$x\$\$`. ```vim let g:vim_markdown_math=1 ``` + +#### YAML frontmatter + +Highlight YAML frontmatter as used by Jekyll: + +```vim +let g:vim_markdown_frontmatter=1 +``` + ## Mappings The following work on normal and visual modes: diff --git a/after/ftplugin/mkd.vim b/after/ftplugin/mkd.vim index 6026ae8b..24ee7131 100644 --- a/after/ftplugin/mkd.vim +++ b/after/ftplugin/mkd.vim @@ -45,12 +45,4 @@ if !get(g:, "vim_markdown_folding_disabled", 0) let g:vim_markdown_initial_foldlevel=0 endif let &l:foldlevel=g:vim_markdown_initial_foldlevel - - "---------- everything after this is optional ----------------------- - " change the following fold options to your liking - " see ':help fold-options' for more - setlocal foldenable - setlocal foldcolumn=0 - set foldmethod=expr - set foldopen-=search endif diff --git a/ftplugin/mkd.vim b/ftplugin/mkd.vim index 42dca901..312c2a4d 100644 --- a/ftplugin/mkd.vim +++ b/ftplugin/mkd.vim @@ -319,7 +319,6 @@ function! s:Markdown_Toc(...) lopen endif set modifiable - %s/\v^([^|]*\|){2,2} #//e for i in range(1, line('$')) " this is the location-list data for the current item let d = getloclist(0)[i-1] diff --git a/syntax/mkd.vim b/syntax/mkd.vim index 19d59d56..eb871651 100644 --- a/syntax/mkd.vim +++ b/syntax/mkd.vim @@ -101,6 +101,12 @@ endif syn cluster mkdNonListItem contains=htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdID,mkdURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdMath,mkdIndentCode,mkdListItem,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6 +" YAML frontmatter +if get(g:, 'vim_markdown_frontmatter', 0) + syn include @yamlTop syntax/yaml.vim + syn region Comment matchgroup=mkdDelimiter start="\%^---$" end="^---$" contains=@yamlTop +endif + "highlighting for Markdown groups HtmlHiLink mkdString String HtmlHiLink mkdCode String diff --git a/test/syntax.vader b/test/syntax.vader index 6d511181..4f0a1755 100644 --- a/test/syntax.vader +++ b/test/syntax.vader @@ -72,3 +72,42 @@ Execute (multiline math): AssertNotEqual SyntaxOf('a'), 'mkdMath' AssertEqual SyntaxOf('b'), 'mkdMath' AssertNotEqual SyntaxOf('c'), 'mkdMath' + +# YAML frontmatter + +Given mkd; +--- +a: b +--- + +Execute (YAML frontmatter is controlled by the option): + AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey' + let g:vim_markdown_frontmatter=1 + syn off | syn on + AssertEqual SyntaxOf('a'), 'yamlBlockMappingKey' + let g:vim_markdown_frontmatter=0 + syn off | syn on + AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey' + +Given mkd; + +--- +a: b +--- + +Execute (YAML frontmatter only works if it's the first thing in the file): + let g:vim_markdown_frontmatter=1 + syn off | syn on + AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey' + +Given mkd; +--- +a: b +--- + +--- + +Execute (rules are not mistaken by YAML frontmatter delimiters): + let g:vim_markdown_frontmatter=1 + syn off | syn on + AssertEqual SyntaxAt(5, 1), 'mkdRule'