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.
1 " Tests atx and setext folding, and :Toc.
4 source ../after/ftplugin/markdown.vim
5 setlocal foldtext=foldtext()
9 setlocal foldmethod=manual
21 # this is another comment
72 AssertEqual foldlevel(1), 0, '# chap 1'
73 AssertEqual foldlevel(3), 1, 'hello'
74 AssertEqual foldlevel(6), 1, '```bash'
75 AssertEqual foldlevel(7), 1, '# some bash scripting'
76 AssertEqual foldlevel(15), 1, '## chap 1.1'
77 AssertEqual foldlevel(21), 2, 'mkdir foo'
78 AssertEqual foldlevel(22), 2, 'comment in ~'
79 AssertEqual foldlevel(25), 2, '### chap 1.1.1'
80 AssertEqual foldlevel(27), 3, '- dragons'
81 AssertEqual foldlevel(30), 1, '# chap 2'
82 AssertEqual foldlevel(32), 1, 'another'
83 AssertEqual foldlevel(34), 1, '# chap 2.1'
84 AssertEqual foldlevel(37), 2, '- japan'
85 AssertEqual foldlevel(41), 1, '# chap 3'
86 AssertEqual foldlevel(45), 1, 'chap 4\n======'
87 AssertEqual foldlevel(48), 1, 'setext are evil'
88 AssertEqual foldlevel(50), 2, 'chap 4.1\n------'
90 Execute (fold text result):
91 AssertEqual foldtextresult(2), '+-- 28 lines: hello'
92 AssertEqual foldtextresult(31), '+-- 10 lines: another'
93 AssertEqual foldtextresult(42), '+-- 3 lines: nothing here'
94 AssertEqual foldtextresult(45), '+-- 14 lines: chap 4'
96 Execute (fold level with setting):
97 let g:vim_markdown_folding_level = 2
98 source ../after/ftplugin/markdown.vim
99 AssertEqual foldlevel(1), 0, '# chap 1'
100 AssertEqual foldlevel(3), 1, 'hello'
101 AssertEqual foldlevel(6), 1, '```bash'
102 AssertEqual foldlevel(7), 1, '# some bash scripting'
103 AssertEqual foldlevel(15), 0, '## chap 1.1'
104 AssertEqual foldlevel(21), 2, 'mkdir foo'
105 AssertEqual foldlevel(22), 2, 'comment in ~'
106 AssertEqual foldlevel(25), 2, '### chap 1.1.1'
107 AssertEqual foldlevel(27), 3, '- dragons'
108 AssertEqual foldlevel(30), 0, '# chap 2'
109 AssertEqual foldlevel(32), 1, 'another'
110 AssertEqual foldlevel(34), 0, '# chap 2.1'
111 AssertEqual foldlevel(37), 2, '- japan'
112 AssertEqual foldlevel(41), 0, '# chap 3'
113 AssertEqual foldlevel(45), 1, 'chap 4\n======'
114 AssertEqual foldlevel(48), 1, 'setext are evil'
115 AssertEqual foldlevel(50), 1, 'chap 4.1\n------'
116 let g:vim_markdown_folding_level = 0
121 let res = getloclist(0)
123 AssertEqual elem.lnum, 1
124 AssertEqual elem.text, 'chap 1'
126 AssertEqual elem.lnum, 15
127 AssertEqual elem.text, ' chap 1.1'
129 AssertEqual elem.lnum, 25
130 AssertEqual elem.text, ' chap 1.1.1'
132 AssertEqual elem.lnum, 30
133 AssertEqual elem.text, 'chap 2'
135 AssertEqual elem.lnum, 34
136 AssertEqual elem.text, ' chap 2.1'
138 AssertEqual elem.lnum, 41
139 AssertEqual elem.text, 'chap 3'
141 AssertEqual elem.lnum, 45
142 AssertEqual elem.text, 'chap 4'
144 AssertEqual elem.lnum, 50
145 AssertEqual elem.text, ' chap 4.1'
150 title: A test of the heading folding when there is YAML frontmatter
151 tags: markdown yaml vim-markdown
158 Execute (fold level of yaml front matter):
159 let g:vim_markdown_frontmatter = 1
160 source ../after/ftplugin/markdown.vim
161 AssertEqual foldlevel(1), 0, '---'
162 AssertEqual foldlevel(2), 0, 'layout: article'
163 AssertEqual foldlevel(4), 0, 'tags: markdown yaml vim-markdown'
164 AssertEqual foldlevel(5), 0, '---'
165 AssertEqual foldlevel(6), 0, 'body'
166 AssertEqual foldlevel(8), 2, 'heading'
167 AssertEqual foldlevel(9), 2, '-------'
168 unlet g:vim_markdown_frontmatter
170 Execute (check Toc of yaml front matter):
171 let g:vim_markdown_frontmatter = 1
174 let res = getloclist(0)
175 AssertEqual len(res), 1
177 AssertEqual elem.lnum, 8
178 AssertEqual elem.text, ' heading'
179 unlet g:vim_markdown_frontmatter