]> git.madduck.net Git - etc/vim.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Merge pull request #133 from cirosantilli/better-bold-italic-test
authorCiro Santilli <ciro.santilli@gmail.com>
Mon, 6 Oct 2014 10:02:52 +0000 (12:02 +0200)
committerCiro Santilli <ciro.santilli@gmail.com>
Mon, 6 Oct 2014 10:02:52 +0000 (12:02 +0200)
Improve bold and italic tests.

README.md
after/ftplugin/mkd.vim
ftplugin/mkd.vim
syntax/mkd.vim
test/syntax.vader

index 6755e94762864b0c6c3a40eb61929a4c12879ad7..419c26d8c285089844cbaff053fc514f21a46ec8 100644 (file)
--- a/README.md
+++ b/README.md
@@ -8,44 +8,60 @@ Syntax highlighting, matching rules and mappings for [the original Markdown](htt
 
 If you use [Vundle](https://github.com/gmarik/vundle), add the following line to your `~/.vimrc`:
 
-    Plugin 'godlygeek/tabular'
-    Plugin 'plasticboy/vim-markdown'
+```vim
+Plugin 'godlygeek/tabular'
+Plugin 'plasticboy/vim-markdown'
+```
 
-The `tabular` plugin come *before* `vim-markdown`.
+The `tabular` plugin must come *before* `vim-markdown`.
 
 Then run inside Vim:
 
-    :so ~/.vimrc
-    :PluginInstall
+```vim
+:so ~/.vimrc
+:PluginInstall
+```
 
 If you use [Pathogen](https://github.com/tpope/vim-pathogen), do this:
 
-    $ cd ~/.vim/bundle
-    $ git clone https://github.com/plasticboy/vim-markdown.git
+```sh
+cd ~/.vim/bundle
+git clone https://github.com/plasticboy/vim-markdown.git
+```
 
 To install without Pathogen using the Debian [vim-addon-manager](http://packages.qa.debian.org/v/vim-addon-manager.html), do this:
 
-    $ git clone https://github.com/plasticboy/vim-markdown.git
-    $ cd vim-markdown
-    $ sudo make install
-    $ vim-addon-manager install mkd
+```sh
+git clone https://github.com/plasticboy/vim-markdown.git
+cd vim-markdown
+sudo make install
+vim-addon-manager install mkd
+```
 
 If you are not using any package manager, download the [tarball](https://github.com/plasticboy/vim-markdown/archive/master.tar.gz) and do this:
 
-    $ cd ~/.vim
-    $ tar --strip=1 -zxf vim-markdown-master.tar.gz
+```sh
+cd ~/.vim
+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.
 
@@ -53,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 `<Plug>` mappings.
 
@@ -61,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:
index 6026ae8b05204cd695557b5077ed7601e6dcafa3..24ee7131dcc0ae354d55a7f7cf5be9ed998c70f5 100644 (file)
@@ -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
index 42dca901e1db36e153a1f75fc773ef912e84dca3..312c2a4d92910adb5d7cbeb1fd4cb32a895b7079 100644 (file)
@@ -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]
index 19d59d56ab230ea54dcb3e12ec7b30ccb783ca82..eb871651357200af9c89956e0fa59a0eac83c1fe 100644 (file)
@@ -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
index 8471695ccb9a23177314909630fd20d85bbd6b9e..ece36eee3ca88a8d0db3edcce970ac73dce5decc 100644 (file)
@@ -76,3 +76,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'