mirror of
https://github.com/amix/vimrc
synced 2024-12-23 18:33:08 +00:00
85 lines
2.1 KiB
Text
85 lines
2.1 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), 0, '# Title'
|
|
AssertEqual foldlevel(3), 1, '## Chapter 1'
|
|
AssertEqual foldlevel(7), 1, '# This is just a comment'
|
|
AssertEqual foldlevel(8), 1, '```'
|
|
AssertEqual foldlevel(10), 1, '## Chapter 2'
|
|
AssertEqual foldlevel(12), 1, '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(3), strpart('## Chapter 1', 0, b:width - 9) . ' ' . b:hyphen . ' 6'
|
|
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), 0, '# 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
|