84 lines
2 KiB
Text
84 lines
2 KiB
Text
Before:
|
|
let g:vim_markdown_folding_style_pythonic = 1
|
|
source ../after/ftplugin/markdown.vim
|
|
|
|
After:
|
|
setlocal foldexpr=0
|
|
setlocal foldmethod=manual
|
|
|
|
Given markdown;
|
|
# Title
|
|
|
|
## Chapter 1
|
|
|
|
```
|
|
This is code block
|
|
# This is just a comment
|
|
```
|
|
|
|
## Chapter 2
|
|
|
|
foobar
|
|
|
|
Execute (fold level # in code block):
|
|
AssertEqual foldlevel(1), 1, '# Title'
|
|
AssertEqual foldlevel(3), 2, '## Chapter 1'
|
|
AssertEqual foldlevel(7), 2, '# This is just a comment'
|
|
AssertEqual foldlevel(8), 2, '```'
|
|
AssertEqual foldlevel(10), 2, '## Chapter 2'
|
|
AssertEqual foldlevel(12), 2, 'foobar'
|
|
|
|
Execute (fold text of chapters):
|
|
let b:width = winwidth(0)
|
|
let b:hyphen = repeat('-', b:width - 18 > 2 ? b:width - 18 : b:width - 9 > 0 ? 3 : 2)
|
|
AssertEqual foldtextresult(10), strpart('## Chapter 2', 0, b:width - 9) . ' ' . b:hyphen . ' 2'
|
|
|
|
Given markdown;
|
|
Fold text 1
|
|
===========
|
|
Fold text 2
|
|
-----------
|
|
|
|
Execute (fold level ==, --):
|
|
AssertEqual foldlevel(2), 0, '=='
|
|
AssertEqual foldlevel(4), 1, '--'
|
|
|
|
Execute (fold text of ==, --):
|
|
let b:width = winwidth(0)
|
|
let b:hyphen = repeat('-', b:width - 17 > 2 ? b:width - 17 : b:width - 9 > 0 ? 3 : 2)
|
|
AssertEqual foldtextresult(3), strpart('Fold text 2', 0, b:width - 9) . ' ' . b:hyphen . ' 1'
|
|
|
|
Given markdown;
|
|
Headline
|
|
|
|
foobar
|
|
|
|
# Title
|
|
|
|
Execute (fold any preamble):
|
|
AssertEqual foldlevel(1), 1, 'Headline'
|
|
AssertEqual foldlevel(3), 1, 'foobar'
|
|
AssertEqual foldlevel(5), 1, '# Title'
|
|
|
|
Given markdown;
|
|
---
|
|
layout: article
|
|
title: A test of the heading folding when there is YAML frontmatter
|
|
tags: markdown yaml vim-markdown
|
|
---
|
|
body
|
|
|
|
heading
|
|
-------
|
|
|
|
Execute (fold level of yaml front matter):
|
|
let g:vim_markdown_frontmatter = 1
|
|
source ../after/ftplugin/markdown.vim
|
|
AssertEqual foldlevel(1), 1, '---'
|
|
AssertEqual foldlevel(2), 1, 'layout: article'
|
|
AssertEqual foldlevel(4), 1, 'tags: markdown yaml vim-markdown'
|
|
AssertEqual foldlevel(5), 1, '---'
|
|
AssertEqual foldlevel(6), 1, 'body'
|
|
AssertEqual foldlevel(8), 1, 'heading'
|
|
AssertEqual foldlevel(9), 1, '-------'
|
|
unlet g:vim_markdown_frontmatter
|