[a](b)
Execute (conceal link):
- setlocal conceallevel=2
- AssertEqual synconcealed(1, 1)[0], 1
- AssertEqual synconcealed(1, 2)[0], 0
- AssertEqual synconcealed(1, 3)[0], 1
- AssertEqual synconcealed(1, 4)[0], 1
- AssertEqual synconcealed(1, 4)[0], 1
- AssertEqual synconcealed(1, 5)[0], 1
- AssertEqual synconcealed(1, 6)[0], 1
- setlocal conceallevel=0
+ if has('conceal')
+ setlocal conceallevel=2
+ AssertEqual synconcealed(1, 1)[0], 1
+ AssertEqual synconcealed(1, 2)[0], 0
+ AssertEqual synconcealed(1, 3)[0], 1
+ AssertEqual synconcealed(1, 4)[0], 1
+ AssertEqual synconcealed(1, 4)[0], 1
+ AssertEqual synconcealed(1, 5)[0], 1
+ AssertEqual synconcealed(1, 6)[0], 1
+ setlocal conceallevel=0
+ endif
+
+Execute (disable conceal):
+ if has('conceal')
+ let g:vim_markdown_conceal=0
+ syn off | syn on
+ setlocal conceallevel=2
+ AssertEqual synconcealed(1, 1)[0], 0
+ AssertEqual synconcealed(1, 2)[0], 0
+ AssertEqual synconcealed(1, 3)[0], 0
+ AssertEqual synconcealed(1, 4)[0], 0
+ AssertEqual synconcealed(1, 4)[0], 0
+ AssertEqual synconcealed(1, 5)[0], 0
+ AssertEqual synconcealed(1, 6)[0], 0
+
+ let g:vim_markdown_conceal=1
+ syn off | syn on
+ AssertEqual synconcealed(1, 1)[0], 1
+ AssertEqual synconcealed(1, 2)[0], 0
+ AssertEqual synconcealed(1, 3)[0], 1
+ AssertEqual synconcealed(1, 4)[0], 1
+ AssertEqual synconcealed(1, 4)[0], 1
+ AssertEqual synconcealed(1, 5)[0], 1
+ AssertEqual synconcealed(1, 6)[0], 1
+
+ setlocal conceallevel=0
+ unlet g:vim_markdown_conceal
+ syn off | syn on
+ endif
# Autolinks
AssertEqual SyntaxOf('>'), 'mkdDelimiter'
AssertNotEqual SyntaxOf('c'), 'mkdInlineURL'
+Given markdown;
+http://12monkeys.foo
+
+Execute (autolink with domain starting with a number):
+ AssertEqual SyntaxOf('12monkeys'), 'mkdInlineURL'
+
Given markdown;
<HtTp://a>
AssertEqual SyntaxOf('code'), 'mkdSnippetCPP'
AssertEqual SyntaxOf('def'), 'rubyDefine'
+Given markdown;
+```vim
+let g:a = 1
+```
+
+```viml
+let g:b = 1
+```
+
+Execute (fenced code block syntax with alias language specifier):
+ let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax')
+ call b:func(0)
+ AssertEqual SyntaxOf('g:a'), 'vimVar'
+ AssertEqual SyntaxOf('g:b'), 'vimVar'
+
Given markdown;
```a+b-
code
call b:func(0)
AssertEqual SyntaxOf('code'), 'mkdSnippetA_B_'
-
Given markdown;
```
=
AssertEqual SyntaxOf('='), 'mkdCode'
AssertEqual SyntaxOf('-'), 'mkdCode'
+Given markdown;
+``` {style=""}
+a
+```
+
+Execute (fenced code block with extended info strings):
+ AssertEqual SyntaxOf('a'), 'mkdCode'
+
# Code Blocks in pre and code tag
Given markdown;
---
Execute (YAML frontmatter is controlled by the option):
- AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey'
+ AssertNotEqual SyntaxOf('a')[0:3], 'yaml'
let g:vim_markdown_frontmatter=1
syn off | syn on
- AssertEqual SyntaxOf('a'), 'yamlBlockMappingKey'
+ AssertEqual SyntaxOf('a')[0:3], 'yaml'
let g:vim_markdown_frontmatter=0
syn off | syn on
- AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey'
+ AssertNotEqual SyntaxOf('a')[0:3], 'yaml'
Given markdown;
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'
+ AssertNotEqual SyntaxOf('a')[0:3], 'yaml'
Given markdown;
---