mirror of
https://github.com/amix/vimrc
synced 2025-06-23 06:35:01 +08:00
Updated plugins
This commit is contained in:
@ -66,6 +66,12 @@ doc: build/html2vimdoc build/vim-tools
|
||||
-e "s/^- '([^']{1,2})':.*/ \*vim-markdown-\1\*/" -e "# short command" \
|
||||
-e ":a" -e "s/^(.{1,78})$$/ \1/" -e "ta" -e "# align right" \
|
||||
-e "G" -e "# append the matched line after the command reference" \
|
||||
-e "}" \
|
||||
-e "/^- 'g:vim_markdown_[[:alnum:]_]*'$$/ {" \
|
||||
-e "h" -e "# save the matched line to the hold space" \
|
||||
-e "s/^- '([^']*)'$$/ \*\1\*/" -e "# make global variable reference" \
|
||||
-e ":g" -e "s/^(.{1,78})$$/ \1/" -e "tg" -e "# align right" \
|
||||
-e "G" -e "# append the matched line after the global variable reference" \
|
||||
-e "}" > doc/vim-markdown.txt && rm -f doc/tmp.md
|
||||
|
||||
.PHONY: doc
|
||||
|
@ -88,154 +88,152 @@ Try `:help concealcursor` and `:help conceallevel` for details.
|
||||
|
||||
### Disable Folding
|
||||
|
||||
Add the following line to your `.vimrc` to disable the folding configuration:
|
||||
- `g:vim_markdown_folding_disabled`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_folding_disabled = 1
|
||||
```
|
||||
Add the following line to your `.vimrc` to disable the folding configuration:
|
||||
|
||||
This option only controls Vim Markdown specific folding configuration.
|
||||
let g:vim_markdown_folding_disabled = 1
|
||||
|
||||
To enable/disable folding use Vim's standard folding configuration.
|
||||
This option only controls Vim Markdown specific folding configuration.
|
||||
|
||||
```vim
|
||||
set [no]foldenable
|
||||
```
|
||||
To enable/disable folding use Vim's standard folding configuration.
|
||||
|
||||
set [no]foldenable
|
||||
|
||||
### Change fold style
|
||||
|
||||
To fold in a style like [python-mode](https://github.com/klen/python-mode), add the following to your `.vimrc`:
|
||||
- `g:vim_markdown_folding_style_pythonic`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_folding_style_pythonic = 1
|
||||
```
|
||||
To fold in a style like [python-mode](https://github.com/klen/python-mode), add the following to your `.vimrc`:
|
||||
|
||||
Level 1 heading which is served as a document title is not folded.
|
||||
`g:vim_markdown_folding_level` setting is not active with this fold style.
|
||||
let g:vim_markdown_folding_style_pythonic = 1
|
||||
|
||||
To prevent foldtext from being set add the following to your `.vimrc`:
|
||||
`g:vim_markdown_folding_level` setting (default 1) is set to `foldlevel`.
|
||||
Thus level 1 heading which is served as a document title is expanded by default.
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_override_foldtext = 0
|
||||
```
|
||||
- `g:vim_markdown_override_foldtext`
|
||||
|
||||
To prevent foldtext from being set add the following to your `.vimrc`:
|
||||
|
||||
let g:vim_markdown_override_foldtext = 0
|
||||
|
||||
### Set header folding level
|
||||
|
||||
Folding level is a number between 1 and 6. By default, if not specified, it is set to 1.
|
||||
- `g:vim_markdown_folding_level`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_folding_level = 6
|
||||
```
|
||||
Folding level is a number between 1 and 6. By default, if not specified, it is set to 1.
|
||||
|
||||
Tip: it can be changed on the fly with:
|
||||
let g:vim_markdown_folding_level = 6
|
||||
|
||||
```vim
|
||||
:let g:vim_markdown_folding_level = 1
|
||||
:edit
|
||||
```
|
||||
Tip: it can be changed on the fly with:
|
||||
|
||||
:let g:vim_markdown_folding_level = 1
|
||||
:edit
|
||||
|
||||
### Disable Default Key Mappings
|
||||
|
||||
Add the following line to your `.vimrc` to disable default key mappings:
|
||||
- `g:vim_markdown_no_default_key_mappings`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_no_default_key_mappings = 1
|
||||
```
|
||||
Add the following line to your `.vimrc` to disable default key mappings:
|
||||
|
||||
You can also map them by yourself with `<Plug>` mappings.
|
||||
let g:vim_markdown_no_default_key_mappings = 1
|
||||
|
||||
You can also map them by yourself with `<Plug>` mappings.
|
||||
|
||||
### Enable TOC window auto-fit
|
||||
|
||||
Allow for the TOC window to auto-fit when it's possible for it to shrink.
|
||||
It never increases its default size (half screen), it only shrinks.
|
||||
- `g:vim_markdown_toc_autofit`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_toc_autofit = 1
|
||||
```
|
||||
Allow for the TOC window to auto-fit when it's possible for it to shrink.
|
||||
It never increases its default size (half screen), it only shrinks.
|
||||
|
||||
let g:vim_markdown_toc_autofit = 1
|
||||
|
||||
### Text emphasis restriction to single-lines
|
||||
|
||||
By default text emphasis works across multiple lines until a closing token is found. However, it's possible to restrict text emphasis to a single line (i.e., for it to be applied a closing token must be found on the same line). To do so:
|
||||
- `g:vim_markdown_emphasis_multiline`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_emphasis_multiline = 0
|
||||
```
|
||||
By default text emphasis works across multiple lines until a closing token is found. However, it's possible to restrict text emphasis to a single line (i.e., for it to be applied a closing token must be found on the same line). To do so:
|
||||
|
||||
let g:vim_markdown_emphasis_multiline = 0
|
||||
|
||||
### Syntax Concealing
|
||||
|
||||
Concealing is set for some syntax.
|
||||
- `g:vim_markdown_conceal`
|
||||
|
||||
For example, conceal `[link text](link url)` as just `link text`.
|
||||
Also, `_italic_` and `*italic*` will conceal to just _italic_.
|
||||
Similarly `__bold__`, `**bold**`, `___italic bold___`, and `***italic bold***`
|
||||
will conceal to just __bold__, **bold**, ___italic bold___, and ***italic bold*** respectively.
|
||||
Concealing is set for some syntax.
|
||||
|
||||
To enable conceal use Vim's standard conceal configuration.
|
||||
For example, conceal `[link text](link url)` as just `link text`.
|
||||
Also, `_italic_` and `*italic*` will conceal to just _italic_.
|
||||
Similarly `__bold__`, `**bold**`, `___italic bold___`, and `***italic bold***`
|
||||
will conceal to just __bold__, **bold**, ___italic bold___, and ***italic bold*** respectively.
|
||||
|
||||
```vim
|
||||
set conceallevel=2
|
||||
```
|
||||
To enable conceal use Vim's standard conceal configuration.
|
||||
|
||||
To disable conceal regardless of `conceallevel` setting, add the following to your `.vimrc`:
|
||||
set conceallevel=2
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_conceal = 0
|
||||
```
|
||||
To disable conceal regardless of `conceallevel` setting, add the following to your `.vimrc`:
|
||||
|
||||
To disable math conceal with LaTeX math syntax enabled, add the following to your `.vimrc`:
|
||||
let g:vim_markdown_conceal = 0
|
||||
|
||||
```vim
|
||||
let g:tex_conceal = ""
|
||||
let g:vim_markdown_math = 1
|
||||
```
|
||||
To disable math conceal with LaTeX math syntax enabled, add the following to your `.vimrc`:
|
||||
|
||||
let g:tex_conceal = ""
|
||||
let g:vim_markdown_math = 1
|
||||
|
||||
- `g:vim_markdown_conceal_code_blocks`
|
||||
|
||||
Disabling conceal for code fences requires an additional setting:
|
||||
|
||||
let g:vim_markdown_conceal_code_blocks = 0
|
||||
|
||||
### Fenced code block languages
|
||||
|
||||
You can use filetype name as fenced code block languages for syntax highlighting.
|
||||
If you want to use different name from filetype, you can add it in your `.vimrc` like so:
|
||||
- `g:vim_markdown_fenced_languages`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_fenced_languages = ['csharp=cs']
|
||||
```
|
||||
You can use filetype name as fenced code block languages for syntax highlighting.
|
||||
If you want to use different name from filetype, you can add it in your `.vimrc` like so:
|
||||
|
||||
This will cause the following to be highlighted using the `cs` filetype syntax.
|
||||
let g:vim_markdown_fenced_languages = ['csharp=cs']
|
||||
|
||||
```csharp
|
||||
...
|
||||
```
|
||||
This will cause the following to be highlighted using the `cs` filetype syntax.
|
||||
|
||||
Default is `['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini']`.
|
||||
```csharp
|
||||
...
|
||||
```
|
||||
|
||||
Default is `['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini']`.
|
||||
|
||||
### Follow named anchors
|
||||
|
||||
This feature allows the `ge` command to follow named anchors in links of the form
|
||||
`file#anchor` or just `#anchor`, where file may omit the `.md` extension as
|
||||
usual. Two variables control its operation:
|
||||
- `g:vim_markdown_follow_anchor`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_follow_anchor = 1
|
||||
```
|
||||
This feature allows the `ge` command to follow named anchors in links of the form
|
||||
`file#anchor` or just `#anchor`, where file may omit the `.md` extension as
|
||||
usual. Two variables control its operation:
|
||||
|
||||
This tells vim-markdown whether to attempt to follow a named anchor in a link or
|
||||
not. When it is 1, and only if a link can be split in two parts by the pattern
|
||||
'#', then the first part is interpreted as the file and the second one as the
|
||||
named anchor. This also includes urls of the form `#anchor`, for which the first
|
||||
part is considered empty, meaning that the target file is the current one. After
|
||||
the file is opened, the anchor will be searched.
|
||||
let g:vim_markdown_follow_anchor = 1
|
||||
|
||||
Default is `0`.
|
||||
This tells vim-markdown whether to attempt to follow a named anchor in a link or
|
||||
not. When it is 1, and only if a link can be split in two parts by the pattern
|
||||
'#', then the first part is interpreted as the file and the second one as the
|
||||
named anchor. This also includes urls of the form `#anchor`, for which the first
|
||||
part is considered empty, meaning that the target file is the current one. After
|
||||
the file is opened, the anchor will be searched.
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_anchorexpr = "'<<'.v:anchor.'>>'"
|
||||
```
|
||||
Default is `0`.
|
||||
|
||||
This expression will be evaluated substituting `v:anchor` with a quoted string
|
||||
that contains the anchor to visit. The result of the evaluation will become the
|
||||
real anchor to search in the target file. This is useful in order to convert
|
||||
anchors of the form, say, `my-section-title` to searches of the form `My Section
|
||||
Title` or `<<my-section-title>>`.
|
||||
- `g:vim_markdown_anchorexpr`
|
||||
|
||||
Default is `''`.
|
||||
let g:vim_markdown_anchorexpr = "'<<'.v:anchor.'>>'"
|
||||
|
||||
This expression will be evaluated substituting `v:anchor` with a quoted string
|
||||
that contains the anchor to visit. The result of the evaluation will become the
|
||||
real anchor to search in the target file. This is useful in order to convert
|
||||
anchors of the form, say, `my-section-title` to searches of the form `My Section
|
||||
Title` or `<<my-section-title>>`.
|
||||
|
||||
Default is `''`.
|
||||
|
||||
### Syntax extensions
|
||||
|
||||
@ -243,119 +241,114 @@ The following options control which syntax extensions will be turned on. They ar
|
||||
|
||||
#### LaTeX math
|
||||
|
||||
Used as `$x^2$`, `$$x^2$$`, escapable as `\$x\$` and `\$\$x\$\$`.
|
||||
- `g:vim_markdown_math`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_math = 1
|
||||
```
|
||||
Used as `$x^2$`, `$$x^2$$`, escapable as `\$x\$` and `\$\$x\$\$`.
|
||||
|
||||
let g:vim_markdown_math = 1
|
||||
|
||||
#### YAML Front Matter
|
||||
|
||||
Highlight YAML front matter as used by Jekyll or [Hugo](https://gohugo.io/content/front-matter/).
|
||||
- `g:vim_markdown_frontmatter`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_frontmatter = 1
|
||||
```
|
||||
Highlight YAML front matter as used by Jekyll or [Hugo](https://gohugo.io/content/front-matter/).
|
||||
|
||||
let g:vim_markdown_frontmatter = 1
|
||||
|
||||
#### TOML Front Matter
|
||||
|
||||
Highlight TOML front matter as used by [Hugo](https://gohugo.io/content/front-matter/).
|
||||
- `g:vim_markdown_toml_frontmatter`
|
||||
|
||||
TOML syntax highlight requires [vim-toml](https://github.com/cespare/vim-toml).
|
||||
Highlight TOML front matter as used by [Hugo](https://gohugo.io/content/front-matter/).
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_toml_frontmatter = 1
|
||||
```
|
||||
TOML syntax highlight requires [vim-toml](https://github.com/cespare/vim-toml).
|
||||
|
||||
let g:vim_markdown_toml_frontmatter = 1
|
||||
|
||||
#### JSON Front Matter
|
||||
|
||||
Highlight JSON front matter as used by [Hugo](https://gohugo.io/content/front-matter/).
|
||||
- `g:vim_markdown_json_frontmatter`
|
||||
|
||||
JSON syntax highlight requires [vim-json](https://github.com/elzr/vim-json).
|
||||
Highlight JSON front matter as used by [Hugo](https://gohugo.io/content/front-matter/).
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_json_frontmatter = 1
|
||||
```
|
||||
JSON syntax highlight requires [vim-json](https://github.com/elzr/vim-json).
|
||||
|
||||
let g:vim_markdown_json_frontmatter = 1
|
||||
|
||||
#### Strikethrough
|
||||
|
||||
Strikethrough uses two tildes. `~~Scratch this.~~`
|
||||
- `g:vim_markdown_strikethrough`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_strikethrough = 1
|
||||
```
|
||||
Strikethrough uses two tildes. `~~Scratch this.~~`
|
||||
|
||||
let g:vim_markdown_strikethrough = 1
|
||||
|
||||
### Adjust new list item indent
|
||||
|
||||
You can adjust a new list indent. For example, you insert a single line like below:
|
||||
- `g:vim_markdown_new_list_item_indent`
|
||||
|
||||
```
|
||||
* item1
|
||||
```
|
||||
You can adjust a new list indent. For example, you insert a single line like below:
|
||||
|
||||
Then if you type `o` to insert new line in vim and type `* item2`, the result will be:
|
||||
* item1
|
||||
|
||||
```
|
||||
* item1
|
||||
* item2
|
||||
```
|
||||
Then if you type `o` to insert new line in vim and type `* item2`, the result will be:
|
||||
|
||||
vim-markdown automatically insert the indent. By default, the number of spaces of indent is 4. If you'd like to change the number as 2, just write:
|
||||
* item1
|
||||
* item2
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_new_list_item_indent = 2
|
||||
```
|
||||
vim-markdown automatically insert the indent. By default, the number of spaces of indent is 4. If you'd like to change the number as 2, just write:
|
||||
|
||||
let g:vim_markdown_new_list_item_indent = 2
|
||||
|
||||
### Do not require .md extensions for Markdown links
|
||||
|
||||
If you want to have a link like this `[link text](link-url)` and follow it for editing in vim using the `ge` command, but have it open the file "link-url.md" instead of the file "link-url", then use this option:
|
||||
- `g:vim_markdown_no_extensions_in_markdown`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_no_extensions_in_markdown = 1
|
||||
```
|
||||
This is super useful for GitLab and GitHub wiki repositories.
|
||||
If you want to have a link like this `[link text](link-url)` and follow it for editing in vim using the `ge` command, but have it open the file "link-url.md" instead of the file "link-url", then use this option:
|
||||
|
||||
Normal behaviour would be that vim-markup required you to do this `[link text](link-url.md)`, but this is not how the Gitlab and GitHub wiki repositories work. So this option adds some consistency between the two.
|
||||
let g:vim_markdown_no_extensions_in_markdown = 1
|
||||
|
||||
This is super useful for GitLab and GitHub wiki repositories.
|
||||
|
||||
Normal behaviour would be that vim-markup required you to do this `[link text](link-url.md)`, but this is not how the Gitlab and GitHub wiki repositories work. So this option adds some consistency between the two.
|
||||
|
||||
### Auto-write when following link
|
||||
|
||||
If you follow a link like this `[link text](link-url)` using the `ge` shortcut, this option will automatically save any edits you made before moving you:
|
||||
- `g:vim_markdown_autowrite`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_autowrite = 1
|
||||
```
|
||||
If you follow a link like this `[link text](link-url)` using the `ge` shortcut, this option will automatically save any edits you made before moving you:
|
||||
|
||||
let g:vim_markdown_autowrite = 1
|
||||
|
||||
### Change default file extension
|
||||
|
||||
If you would like to use a file extension other than `.md` you may do so using the `vim_markdown_auto_extension_ext` variable:
|
||||
- `g:vim_markdown_auto_extension_ext`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_auto_extension_ext = 'txt'
|
||||
```
|
||||
If you would like to use a file extension other than `.md` you may do so using the `vim_markdown_auto_extension_ext` variable:
|
||||
|
||||
let g:vim_markdown_auto_extension_ext = 'txt'
|
||||
|
||||
### Do not automatically insert bulletpoints
|
||||
|
||||
Automatically inserting bulletpoints can lead to problems when wrapping text
|
||||
(see issue #232 for details), so it can be disabled:
|
||||
- `g:vim_markdown_auto_insert_bullets`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_auto_insert_bullets = 0
|
||||
```
|
||||
Automatically inserting bulletpoints can lead to problems when wrapping text
|
||||
(see issue #232 for details), so it can be disabled:
|
||||
|
||||
In that case, you probably also want to set the new list item indent to 0 as
|
||||
well, or you will have to remove an indent each time you add a new list item:
|
||||
let g:vim_markdown_auto_insert_bullets = 0
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_new_list_item_indent = 0
|
||||
```
|
||||
In that case, you probably also want to set the new list item indent to 0 as
|
||||
well, or you will have to remove an indent each time you add a new list item:
|
||||
|
||||
let g:vim_markdown_new_list_item_indent = 0
|
||||
|
||||
### Change how to open new files
|
||||
|
||||
By default when following a link the target file will be opened in your current buffer. This behavior can change if you prefer using splits or tabs by using the `vim_markdown_edit_url_in` variable. Possible values are `tab`, `vsplit`, `hsplit`, `current` opening in a new tab, vertical split, horizontal split, and current buffer respectively. Defaults to current buffer if not set:
|
||||
- `g:vim_markdown_edit_url_in`
|
||||
|
||||
```vim
|
||||
let g:vim_markdown_edit_url_in = 'tab'
|
||||
```
|
||||
By default when following a link the target file will be opened in your current buffer. This behavior can change if you prefer using splits or tabs by using the `vim_markdown_edit_url_in` variable. Possible values are `tab`, `vsplit`, `hsplit`, `current` opening in a new tab, vertical split, horizontal split, and current buffer respectively. Defaults to current buffer if not set:
|
||||
|
||||
let g:vim_markdown_edit_url_in = 'tab'
|
||||
|
||||
## Mappings
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
" vim: ts=4 sw=4:
|
||||
" folding for Markdown headers, both styles (atx- and setex-)
|
||||
" http://daringfireball.net/projects/markdown/syntax#header
|
||||
"
|
||||
@ -14,26 +15,36 @@ endfunction
|
||||
if get(g:, "vim_markdown_folding_style_pythonic", 0)
|
||||
function! Foldexpr_markdown(lnum)
|
||||
let l1 = getline(a:lnum)
|
||||
" keep track of fenced code blocks
|
||||
"~~~~~ keep track of fenced code blocks ~~~~~
|
||||
"If we hit a code block fence
|
||||
if l1 =~ '````*' || l1 =~ '\~\~\~\~*'
|
||||
" toggle the variable that says if we're in a code block
|
||||
if b:fenced_block == 0
|
||||
let b:fenced_block = 1
|
||||
elseif b:fenced_block == 1
|
||||
let b:fenced_block = 0
|
||||
endif
|
||||
" else, if we're caring about front matter
|
||||
elseif g:vim_markdown_frontmatter == 1
|
||||
" if we're in front matter and not on line 1
|
||||
if b:front_matter == 1 && a:lnum > 2
|
||||
let l0 = getline(a:lnum-1)
|
||||
" if the previous line fenced front matter
|
||||
if l0 == '---'
|
||||
" we must not be in front matter
|
||||
let b:front_matter = 0
|
||||
endif
|
||||
" else, if we're on line one
|
||||
elseif a:lnum == 1
|
||||
" if we hit a front matter fence
|
||||
if l1 == '---'
|
||||
" we're in the front matter
|
||||
let b:front_matter = 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" if we're in a code block or front matter
|
||||
if b:fenced_block == 1 || b:front_matter == 1
|
||||
if a:lnum == 1
|
||||
" fold any 'preamble'
|
||||
@ -45,17 +56,25 @@ if get(g:, "vim_markdown_folding_style_pythonic", 0)
|
||||
endif
|
||||
|
||||
let l2 = getline(a:lnum+1)
|
||||
" if the next line starts with two or more '='
|
||||
" and is not code
|
||||
if l2 =~ '^==\+\s*' && !s:is_mkdCode(a:lnum+1)
|
||||
" next line is underlined (level 1)
|
||||
return '>0'
|
||||
" else, if the nex line starts with two or more '-'
|
||||
" and is not code
|
||||
elseif l2 =~ '^--\+\s*' && !s:is_mkdCode(a:lnum+1)
|
||||
" next line is underlined (level 2)
|
||||
return '>1'
|
||||
endif
|
||||
|
||||
"if we're on a non-code line starting with a pound sign
|
||||
if l1 =~ '^#' && !s:is_mkdCode(a:lnum)
|
||||
" current line starts with hashes
|
||||
return '>'.(matchend(l1, '^#\+') - 1)
|
||||
" set the fold level to the number of hashes -1
|
||||
" return '>'.(matchend(l1, '^#\+') - 1)
|
||||
" set the fold level to the number of hashes
|
||||
return '>'.(matchend(l1, '^#\+'))
|
||||
" else, if we're on line 1
|
||||
elseif a:lnum == 1
|
||||
" fold any 'preamble'
|
||||
return '>1'
|
||||
@ -76,7 +95,7 @@ if get(g:, "vim_markdown_folding_style_pythonic", 0)
|
||||
let fillcharcount = windowwidth - len(line) - len(foldedlinecount) + 1
|
||||
return line . ' ' . repeat("-", fillcharcount) . ' ' . foldedlinecount
|
||||
endfunction
|
||||
else
|
||||
else " vim_markdown_folding_style_pythonic == 0
|
||||
function! Foldexpr_markdown(lnum)
|
||||
if (a:lnum == 1)
|
||||
let l0 = ''
|
||||
@ -152,15 +171,27 @@ let b:front_matter = 0
|
||||
let s:vim_markdown_folding_level = get(g:, "vim_markdown_folding_level", 1)
|
||||
|
||||
function! s:MarkdownSetupFolding()
|
||||
if !get(g:, "vim_markdown_folding_disabled", 0)
|
||||
setlocal foldexpr=Foldexpr_markdown(v:lnum)
|
||||
setlocal foldmethod=expr
|
||||
if get(g:, "vim_markdown_folding_style_pythonic", 0) && get(g:, "vim_markdown_override_foldtext", 1)
|
||||
setlocal foldtext=Foldtext_markdown()
|
||||
endif
|
||||
endif
|
||||
if !get(g:, "vim_markdown_folding_disabled", 0)
|
||||
if get(g:, "vim_markdown_folding_style_pythonic", 0)
|
||||
if get(g:, "vim_markdown_override_foldtext", 1)
|
||||
setlocal foldtext=Foldtext_markdown()
|
||||
endif
|
||||
endif
|
||||
setlocal foldexpr=Foldexpr_markdown(v:lnum)
|
||||
setlocal foldmethod=expr
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:MarkdownSetupFoldLevel()
|
||||
if get(g:, "vim_markdown_folding_style_pythonic", 0)
|
||||
" set default foldlevel
|
||||
execute "setlocal foldlevel=".s:vim_markdown_folding_level
|
||||
endif
|
||||
endfunction
|
||||
|
||||
call s:MarkdownSetupFoldLevel()
|
||||
call s:MarkdownSetupFolding()
|
||||
|
||||
augroup Mkd
|
||||
" These autocmds need to be kept in sync with the autocmds calling
|
||||
" s:MarkdownRefreshSyntax in ftplugin/markdown.vim.
|
||||
|
@ -52,7 +52,7 @@ and extensions.
|
||||
*vim-markdown-installation*
|
||||
Installation ~
|
||||
|
||||
If you use Vundle [2], add the following line to your '~/.vimrc':
|
||||
If you use Vundle [2], add the following lines to your '~/.vimrc':
|
||||
>
|
||||
Plugin 'godlygeek/tabular'
|
||||
Plugin 'plasticboy/vim-markdown'
|
||||
@ -133,159 +133,195 @@ Options ~
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-disable-folding*
|
||||
*g:vim_markdown_folding_disabled*
|
||||
Disable Folding ~
|
||||
|
||||
Add the following line to your '.vimrc' to disable the folding configuration:
|
||||
*g:vim_markdown_folding_disabled*
|
||||
- 'g:vim_markdown_folding_disabled'
|
||||
|
||||
Add the following line to your '.vimrc' to disable the folding
|
||||
configuration:
|
||||
>
|
||||
let g:vim_markdown_folding_disabled = 1
|
||||
<
|
||||
This option only controls Vim Markdown specific folding configuration.
|
||||
This option only controls Vim Markdown specific folding configuration.
|
||||
|
||||
To enable/disable folding use Vim's standard folding configuration.
|
||||
To enable/disable folding use Vim's standard folding configuration.
|
||||
>
|
||||
set [no]foldenable
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-change-fold-style*
|
||||
*g:vim_markdown_folding_style_pythonic*
|
||||
*g:vim_markdown_override_foldtext*
|
||||
Change fold style ~
|
||||
|
||||
To fold in a style like python-mode [6], add the following to your '.vimrc':
|
||||
*g:vim_markdown_folding_style_pythonic*
|
||||
- 'g:vim_markdown_folding_style_pythonic'
|
||||
|
||||
To fold in a style like python-mode [6], add the following to your
|
||||
'.vimrc':
|
||||
>
|
||||
let g:vim_markdown_folding_style_pythonic = 1
|
||||
<
|
||||
Level 1 heading which is served as a document title is not folded.
|
||||
'g:vim_markdown_folding_level' setting is not active with this fold style.
|
||||
'g:vim_markdown_folding_level' setting (default 1) is set to 'foldlevel'.
|
||||
Thus level 1 heading which is served as a document title is expanded by
|
||||
default.
|
||||
|
||||
To prevent foldtext from being set add the following to your '.vimrc':
|
||||
*g:vim_markdown_override_foldtext*
|
||||
- 'g:vim_markdown_override_foldtext'
|
||||
|
||||
To prevent foldtext from being set add the following to your '.vimrc':
|
||||
>
|
||||
let g:vim_markdown_override_foldtext = 0
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-set-header-folding-level*
|
||||
*g:vim_markdown_folding_level*
|
||||
Set header folding level ~
|
||||
|
||||
Folding level is a number between 1 and 6. By default, if not specified, it is
|
||||
set to 1.
|
||||
*g:vim_markdown_folding_level*
|
||||
- 'g:vim_markdown_folding_level'
|
||||
|
||||
Folding level is a number between 1 and 6. By default, if not specified, it
|
||||
is set to 1.
|
||||
>
|
||||
let g:vim_markdown_folding_level = 6
|
||||
<
|
||||
Tip: it can be changed on the fly with:
|
||||
Tip: it can be changed on the fly with:
|
||||
>
|
||||
:let g:vim_markdown_folding_level = 1
|
||||
:edit
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-disable-default-key-mappings*
|
||||
*g:vim_markdown_no_default_key_mappings*
|
||||
Disable Default Key Mappings ~
|
||||
|
||||
Add the following line to your '.vimrc' to disable default key mappings:
|
||||
*g:vim_markdown_no_default_key_mappings*
|
||||
- 'g:vim_markdown_no_default_key_mappings'
|
||||
|
||||
Add the following line to your '.vimrc' to disable default key mappings:
|
||||
>
|
||||
let g:vim_markdown_no_default_key_mappings = 1
|
||||
<
|
||||
You can also map them by yourself with '<Plug>' mappings.
|
||||
You can also map them by yourself with '<Plug>' mappings.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-enable-toc-window-auto-fit*
|
||||
*g:vim_markdown_toc_autofit*
|
||||
Enable TOC window auto-fit ~
|
||||
|
||||
Allow for the TOC window to auto-fit when it's possible for it to shrink. It
|
||||
never increases its default size (half screen), it only shrinks.
|
||||
*g:vim_markdown_toc_autofit*
|
||||
- 'g:vim_markdown_toc_autofit'
|
||||
|
||||
Allow for the TOC window to auto-fit when it's possible for it to shrink.
|
||||
It never increases its default size (half screen), it only shrinks.
|
||||
>
|
||||
let g:vim_markdown_toc_autofit = 1
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-text-emphasis-restriction-to-single-lines*
|
||||
*g:vim_markdown_emphasis_multiline*
|
||||
Text emphasis restriction to single-lines ~
|
||||
|
||||
By default text emphasis works across multiple lines until a closing token is
|
||||
found. However, it's possible to restrict text emphasis to a single line (i.e.,
|
||||
for it to be applied a closing token must be found on the same line). To do so:
|
||||
*g:vim_markdown_emphasis_multiline*
|
||||
- 'g:vim_markdown_emphasis_multiline'
|
||||
|
||||
By default text emphasis works across multiple lines until a closing token
|
||||
is found. However, it's possible to restrict text emphasis to a single line
|
||||
(i.e., for it to be applied a closing token must be found on the same
|
||||
line). To do so:
|
||||
>
|
||||
let g:vim_markdown_emphasis_multiline = 0
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-syntax-concealing*
|
||||
*g:vim_markdown_conceal*
|
||||
Syntax Concealing ~
|
||||
|
||||
Concealing is set for some syntax.
|
||||
*g:vim_markdown_conceal*
|
||||
- 'g:vim_markdown_conceal'
|
||||
|
||||
For example, conceal '[link text](link url)' as just 'link text'. Also,
|
||||
'_italic_' and '*italic*' will conceal to just _italic_. Similarly '__bold__',
|
||||
'**bold**', '___italic bold___', and '***italic bold***' will conceal to just
|
||||
**bold**, **bold**, **_italic bold_**, and **_italic bold_** respectively.
|
||||
Concealing is set for some syntax.
|
||||
|
||||
To enable conceal use Vim's standard conceal configuration.
|
||||
For example, conceal '[link text](link url)' as just 'link text'. Also,
|
||||
'_italic_' and '*italic*' will conceal to just _italic_. Similarly
|
||||
'__bold__', '**bold**', '___italic bold___', and '***italic bold***' will
|
||||
conceal to just **bold**, **bold**, **_italic bold_**, and **_italic
|
||||
bold_** respectively.
|
||||
|
||||
To enable conceal use Vim's standard conceal configuration.
|
||||
>
|
||||
set conceallevel=2
|
||||
<
|
||||
To disable conceal regardless of 'conceallevel' setting, add the following to
|
||||
your '.vimrc':
|
||||
To disable conceal regardless of 'conceallevel' setting, add the following
|
||||
to your '.vimrc':
|
||||
>
|
||||
let g:vim_markdown_conceal = 0
|
||||
<
|
||||
To disable math conceal with LaTeX math syntax enabled, add the following to
|
||||
your '.vimrc':
|
||||
To disable math conceal with LaTeX math syntax enabled, add the following
|
||||
to your '.vimrc':
|
||||
>
|
||||
let g:tex_conceal = ""
|
||||
let g:vim_markdown_math = 1
|
||||
<
|
||||
*g:vim_markdown_conceal_code_blocks*
|
||||
- 'g:vim_markdown_conceal_code_blocks'
|
||||
|
||||
Disabling conceal for code fences requires an additional setting:
|
||||
>
|
||||
let g:vim_markdown_conceal_code_blocks = 0
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-fenced-code-block-languages*
|
||||
*g:vim_markdown_fenced_languages*
|
||||
Fenced code block languages ~
|
||||
|
||||
You can use filetype name as fenced code block languages for syntax
|
||||
highlighting. If you want to use different name from filetype, you can add it
|
||||
in your '.vimrc' like so:
|
||||
*g:vim_markdown_fenced_languages*
|
||||
- 'g:vim_markdown_fenced_languages'
|
||||
|
||||
You can use filetype name as fenced code block languages for syntax
|
||||
highlighting. If you want to use different name from filetype, you can add
|
||||
it in your '.vimrc' like so:
|
||||
>
|
||||
let g:vim_markdown_fenced_languages = ['csharp=cs']
|
||||
<
|
||||
This will cause the following to be highlighted using the 'cs' filetype syntax.
|
||||
This will cause the following to be highlighted using the 'cs' filetype
|
||||
syntax.
|
||||
>
|
||||
```csharp
|
||||
...
|
||||
```
|
||||
<
|
||||
Default is "['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini']".
|
||||
Default is "['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini']".
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-follow-named-anchors*
|
||||
*g:vim_markdown_follow_anchor*
|
||||
*g:vim_markdown_anchorexpr*
|
||||
Follow named anchors ~
|
||||
|
||||
This feature allows the 'ge' command to follow named anchors in links of the
|
||||
form 'file#anchor' or just '#anchor', where file may omit the '.md' extension
|
||||
as usual. Two variables control its operation:
|
||||
*g:vim_markdown_follow_anchor*
|
||||
- 'g:vim_markdown_follow_anchor'
|
||||
|
||||
This feature allows the 'ge' command to follow named anchors in links of
|
||||
the form 'file#anchor' or just '#anchor', where file may omit the '.md'
|
||||
extension as usual. Two variables control its operation:
|
||||
>
|
||||
let g:vim_markdown_follow_anchor = 1
|
||||
<
|
||||
This tells vim-markdown whether to attempt to follow a named anchor in a link
|
||||
or not. When it is 1, and only if a link can be split in two parts by the
|
||||
pattern '#', then the first part is interpreted as the file and the second one
|
||||
as the named anchor. This also includes urls of the form '#anchor', for which
|
||||
the first part is considered empty, meaning that the target file is the current
|
||||
one. After the file is opened, the anchor will be searched.
|
||||
This tells vim-markdown whether to attempt to follow a named anchor in a
|
||||
link or not. When it is 1, and only if a link can be split in two parts by
|
||||
the pattern '#', then the first part is interpreted as the file and the
|
||||
second one as the named anchor. This also includes urls of the form
|
||||
'#anchor', for which the first part is considered empty, meaning that the
|
||||
target file is the current one. After the file is opened, the anchor will
|
||||
be searched.
|
||||
|
||||
Default is '0'.
|
||||
Default is '0'.
|
||||
|
||||
*g:vim_markdown_anchorexpr*
|
||||
- 'g:vim_markdown_anchorexpr'
|
||||
>
|
||||
let g:vim_markdown_anchorexpr = "'<<'.v:anchor.'>>'"
|
||||
<
|
||||
This expression will be evaluated substituting 'v:anchor' with a quoted string
|
||||
that contains the anchor to visit. The result of the evaluation will become the
|
||||
real anchor to search in the target file. This is useful in order to convert
|
||||
anchors of the form, say, 'my-section-title' to searches of the form 'My
|
||||
Section Title' or '<<my-section-title>>'.
|
||||
This expression will be evaluated substituting 'v:anchor' with a quoted
|
||||
string that contains the anchor to visit. The result of the evaluation will
|
||||
become the real anchor to search in the target file. This is useful in
|
||||
order to convert anchors of the form, say, 'my-section-title' to searches
|
||||
of the form 'My Section Title' or '<<my-section-title>>'.
|
||||
|
||||
Default is "''".
|
||||
Default is "''".
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-syntax-extensions*
|
||||
@ -296,136 +332,161 @@ are off by default.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-latex-math*
|
||||
*g:vim_markdown_math*
|
||||
LaTeX math ~
|
||||
|
||||
Used as '$x^2$', '$$x^2$$', escapable as '\$x\$' and '\$\$x\$\$'.
|
||||
*g:vim_markdown_math*
|
||||
- 'g:vim_markdown_math'
|
||||
|
||||
Used as '$x^2$', '$$x^2$$', escapable as '\$x\$' and '\$\$x\$\$'.
|
||||
>
|
||||
let g:vim_markdown_math = 1
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-yaml-front-matter*
|
||||
*g:vim_markdown_frontmatter*
|
||||
YAML Front Matter ~
|
||||
|
||||
Highlight YAML front matter as used by Jekyll or Hugo [7].
|
||||
*g:vim_markdown_frontmatter*
|
||||
- 'g:vim_markdown_frontmatter'
|
||||
|
||||
Highlight YAML front matter as used by Jekyll or Hugo [7].
|
||||
>
|
||||
let g:vim_markdown_frontmatter = 1
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-toml-front-matter*
|
||||
*g:vim_markdown_toml_frontmatter*
|
||||
TOML Front Matter ~
|
||||
|
||||
Highlight TOML front matter as used by Hugo [7].
|
||||
*g:vim_markdown_toml_frontmatter*
|
||||
- 'g:vim_markdown_toml_frontmatter'
|
||||
|
||||
TOML syntax highlight requires vim-toml [8].
|
||||
Highlight TOML front matter as used by Hugo [7].
|
||||
|
||||
TOML syntax highlight requires vim-toml [8].
|
||||
>
|
||||
let g:vim_markdown_toml_frontmatter = 1
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-json-front-matter*
|
||||
*g:vim_markdown_json_frontmatter*
|
||||
JSON Front Matter ~
|
||||
|
||||
Highlight JSON front matter as used by Hugo [7].
|
||||
*g:vim_markdown_json_frontmatter*
|
||||
- 'g:vim_markdown_json_frontmatter'
|
||||
|
||||
JSON syntax highlight requires vim-json [9].
|
||||
Highlight JSON front matter as used by Hugo [7].
|
||||
|
||||
JSON syntax highlight requires vim-json [9].
|
||||
>
|
||||
let g:vim_markdown_json_frontmatter = 1
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-strikethrough*
|
||||
*g:vim_markdown_strikethrough*
|
||||
Strikethrough ~
|
||||
|
||||
Strikethrough uses two tildes. '~~Scratch this.~~'
|
||||
*g:vim_markdown_strikethrough*
|
||||
- 'g:vim_markdown_strikethrough'
|
||||
|
||||
Strikethrough uses two tildes. '~~Scratch this.~~'
|
||||
>
|
||||
let g:vim_markdown_strikethrough = 1
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-adjust-new-list-item-indent*
|
||||
*g:vim_markdown_new_list_item_indent*
|
||||
Adjust new list item indent ~
|
||||
|
||||
You can adjust a new list indent. For example, you insert a single line like
|
||||
below:
|
||||
*g:vim_markdown_new_list_item_indent*
|
||||
- 'g:vim_markdown_new_list_item_indent'
|
||||
|
||||
You can adjust a new list indent. For example, you insert a single line
|
||||
like below:
|
||||
>
|
||||
* item1
|
||||
<
|
||||
Then if you type 'o' to insert new line in vim and type '* item2', the result
|
||||
will be:
|
||||
Then if you type 'o' to insert new line in vim and type '* item2', the
|
||||
result will be:
|
||||
>
|
||||
* item1
|
||||
* item2
|
||||
<
|
||||
vim-markdown automatically insert the indent. By default, the number of spaces
|
||||
of indent is 4. If you'd like to change the number as 2, just write:
|
||||
vim-markdown automatically insert the indent. By default, the number of
|
||||
spaces of indent is 4. If you'd like to change the number as 2, just write:
|
||||
>
|
||||
let g:vim_markdown_new_list_item_indent = 2
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-do-not-require-.md-extensions-for-markdown-links*
|
||||
*g:vim_markdown_no_extensions_in_markdown*
|
||||
Do not require .md extensions for Markdown links ~
|
||||
|
||||
If you want to have a link like this '[link text](link-url)' and follow it for
|
||||
editing in vim using the 'ge' command, but have it open the file "link-url.md"
|
||||
instead of the file "link-url", then use this option:
|
||||
*g:vim_markdown_no_extensions_in_markdown*
|
||||
- 'g:vim_markdown_no_extensions_in_markdown'
|
||||
|
||||
If you want to have a link like this '[link text](link-url)' and follow it
|
||||
for editing in vim using the 'ge' command, but have it open the file "link-
|
||||
url.md" instead of the file "link-url", then use this option:
|
||||
>
|
||||
let g:vim_markdown_no_extensions_in_markdown = 1
|
||||
<
|
||||
This is super useful for GitLab and GitHub wiki repositories.
|
||||
This is super useful for GitLab and GitHub wiki repositories.
|
||||
|
||||
Normal behaviour would be that vim-markup required you to do this '[link text
|
||||
](link-url.md)', but this is not how the Gitlab and GitHub wiki repositories
|
||||
work. So this option adds some consistency between the two.
|
||||
Normal behaviour would be that vim-markup required you to do this '[link
|
||||
text](link-url.md)', but this is not how the Gitlab and GitHub wiki
|
||||
repositories work. So this option adds some consistency between the two.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-auto-write-when-following-link*
|
||||
*g:vim_markdown_autowrite*
|
||||
Auto-write when following link ~
|
||||
|
||||
If you follow a link like this '[link text](link-url)' using the 'ge' shortcut,
|
||||
this option will automatically save any edits you made before moving you:
|
||||
*g:vim_markdown_autowrite*
|
||||
- 'g:vim_markdown_autowrite'
|
||||
|
||||
If you follow a link like this '[link text](link-url)' using the 'ge'
|
||||
shortcut, this option will automatically save any edits you made before
|
||||
moving you:
|
||||
>
|
||||
let g:vim_markdown_autowrite = 1
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-change-default-file-extension*
|
||||
*g:vim_markdown_auto_extension_ext*
|
||||
Change default file extension ~
|
||||
|
||||
If you would like to use a file extension other than '.md' you may do so using
|
||||
the 'vim_markdown_auto_extension_ext' variable:
|
||||
*g:vim_markdown_auto_extension_ext*
|
||||
- 'g:vim_markdown_auto_extension_ext'
|
||||
|
||||
If you would like to use a file extension other than '.md' you may do so
|
||||
using the 'vim_markdown_auto_extension_ext' variable:
|
||||
>
|
||||
let g:vim_markdown_auto_extension_ext = 'txt'
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-do-not-automatically-insert-bulletpoints*
|
||||
*g:vim_markdown_auto_insert_bullets*
|
||||
Do not automatically insert bulletpoints ~
|
||||
|
||||
Automatically inserting bulletpoints can lead to problems when wrapping text
|
||||
(see issue #232 for details), so it can be disabled:
|
||||
*g:vim_markdown_auto_insert_bullets*
|
||||
- 'g:vim_markdown_auto_insert_bullets'
|
||||
|
||||
Automatically inserting bulletpoints can lead to problems when wrapping
|
||||
text (see issue #232 for details), so it can be disabled:
|
||||
>
|
||||
let g:vim_markdown_auto_insert_bullets = 0
|
||||
<
|
||||
In that case, you probably also want to set the new list item indent to 0 as
|
||||
well, or you will have to remove an indent each time you add a new list item:
|
||||
In that case, you probably also want to set the new list item indent to 0
|
||||
as well, or you will have to remove an indent each time you add a new list
|
||||
item:
|
||||
>
|
||||
let g:vim_markdown_new_list_item_indent = 0
|
||||
<
|
||||
-------------------------------------------------------------------------------
|
||||
*vim-markdown-change-how-to-open-new-files*
|
||||
*g:vim_markdown_edit_url_in*
|
||||
Change how to open new files ~
|
||||
|
||||
By default when following a link the target file will be opened in your current
|
||||
buffer. This behavior can change if you prefer using splits or tabs by using
|
||||
the 'vim_markdown_edit_url_in' variable. Possible values are 'tab', 'vsplit',
|
||||
'hsplit', 'current' opening in a new tab, vertical split, horizontal split, and
|
||||
current buffer respectively. Defaults to current buffer if not set:
|
||||
*g:vim_markdown_edit_url_in*
|
||||
- 'g:vim_markdown_edit_url_in'
|
||||
|
||||
By default when following a link the target file will be opened in your
|
||||
current buffer. This behavior can change if you prefer using splits or tabs
|
||||
by using the 'vim_markdown_edit_url_in' variable. Possible values are
|
||||
'tab', 'vsplit', 'hsplit', 'current' opening in a new tab, vertical split,
|
||||
horizontal split, and current buffer respectively. Defaults to current
|
||||
buffer if not set:
|
||||
>
|
||||
let g:vim_markdown_edit_url_in = 'tab'
|
||||
<
|
||||
|
@ -151,11 +151,11 @@ endif
|
||||
|
||||
" Strike through
|
||||
if get(g:, 'vim_markdown_strikethrough', 0)
|
||||
syn region mkdStrike matchgroup=mkdStrike start="\%(\~\~\)" end="\%(\~\~\)"
|
||||
execute 'syn region mkdStrike matchgroup=htmlStrike start="\%(\~\~\)" end="\%(\~\~\)"' . s:concealends
|
||||
HtmlHiLink mkdStrike htmlStrike
|
||||
endif
|
||||
|
||||
syn cluster mkdNonListItem contains=@htmlTop,htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdInlineURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,mkdMath,htmlStrike
|
||||
syn cluster mkdNonListItem contains=@htmlTop,htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdInlineURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,mkdMath,mkdStrike
|
||||
|
||||
"highlighting for Markdown groups
|
||||
HtmlHiLink mkdString String
|
||||
|
@ -21,17 +21,16 @@ This is code block
|
||||
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'
|
||||
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(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;
|
||||
@ -59,7 +58,7 @@ foobar
|
||||
Execute (fold any preamble):
|
||||
AssertEqual foldlevel(1), 1, 'Headline'
|
||||
AssertEqual foldlevel(3), 1, 'foobar'
|
||||
AssertEqual foldlevel(5), 0, '# Title'
|
||||
AssertEqual foldlevel(5), 1, '# Title'
|
||||
|
||||
Given markdown;
|
||||
---
|
||||
|
@ -175,10 +175,6 @@ Given markdown;
|
||||
### header 3
|
||||
|
||||
Execute (Toc cursor on the current header):
|
||||
normal! 4G
|
||||
:Toc
|
||||
AssertEqual line('.'), 2
|
||||
:lclose
|
||||
normal! G
|
||||
:Toc
|
||||
AssertEqual line('.'), 3
|
||||
|
Reference in New Issue
Block a user