- Add: text wrap mappings can now be prefixed with a count 🎉 (#103 by @victorkristof)
- Add: ability to toggle bold / italic / strikethrough / inline-code / link wrapping (#101 by @victorkristof)
- Add: enhanced versions of gf and gx and
g:mkdx#settings.gf_on_steroids
(#100 by @victorkristof and @samarulmeu) - Add: support YAML frontmatter
- Add: ability to create multi-paragraph quotes
- Add: toggling a quote with a multi-line selection no longer skips empty lines (#94 by @samarulmeu)
- Add: toggling code will now toggle a code-block instead when in
V
isual-linewise mode (#93) - Add: CriticMarkup highlighting
- Fix: no-op folding functions when
g:markdown_folding
is enabled - Fix: allow mkdx to work with plasticboy/vim-markdown enabled
- Fix: insertion of double quote marks on enter
- Fix: removed duplicate helptag causing Vundle to crash (#92 by @samarulmeu)
- Fix:
<details />
TOC not unindenting properly when&sw
is0
- Fix: typo in README (#88 by @Ginner)
- Fix: Handle non-ascii characters in header (TOC) links (#85 by @totpet)
- Add: Table of contents supports configurable nested details tags
- Add: g:mkdx#settings.toc.details.nesting_level to control nested details generation
- Add: g:mkdx#settings.toc.details.child_count to control after how many children a nested details tag will appear
- Add: g:mkdx#settings.toc.details.child_summary to control summary text inside nested details
- Fix: handle
&shiftwidth = 0
(Thanks to @marcdeop)
- Add: Mkdx can convert tables back to CSV
- Fix: Only open quickfix when broken links are present(#56)
- Fix: Table highlighting now stops at the end of a table (#57)
- Fix: Empty cells in CSV also get a border (#61)
- Fix: All
hasmapto
calls are mode specific (#64) - Fix:
g:mkdx#settings.restore_visual
can now be disabled during runtime (#65) - Fix: Wrapping at end of line no longer breaks when line ends with non word characters (#67)
- Fix: No longer pollute register when updating table of contents (#68)
- Fix: Empty setex-style headers are no longer added to quickfix headers or the table of contents (#69)
- Fix: Always empty quickfix list before showing dead links (#70)
- Add: Setting to control updating TOC before writing the buffer (#54)
- Fix: Unable to position TOC as last header (#53)
- Add: Pressing enter after an inline list item creates a new list item instead of a blank line
- Add: Support Setex style headings (
-
/=
characters below nonblank line) - Add: Support Setex style headings in completion menu
- Add: Support Setex style headings in TOC generation
- Add: Support Setex style headings in header listing
- Add: Setting to allow customizing strikethrough style (#49)
- Fix: TOC without any nested elements created too many closing tags when generated using
<details>
tag - Fix: Non-list items sometimes got detected as list items when starting with a number on shift+O
- Fix: overriding
g:mkdx#settings
withhas('*dictwatcheradd')
crashing Vim
- Add: Highlighting for tables (#42),
<kbd>
shortcuts and_**bolditalic**_
(#43). - Add: shift+enter support to create multiline items (#44).
- Fix: shift+enter no longer require double escape to exit insert mode (#45).
- Fix: Dead link detection, incorrect external label and relative links were always skipped.
- Fix:
grep
andggrep
do not count line column properly (byte-offset is converted now).
- Fix: Handle URLS starting with "../../" correctly.
- Fix: Removed hardcoded hashtag as header identifier in function.
- Fix: (#35) Generating a TOC in the details didn't generate the final closing tags.
- Fix: (#40) Shift-o (
O
) prepending a list item to a line starting with a number. - Fix: (#39) Set
autoindent
, it is enabled by default in Neovim but disabled by default in Vim. - Add: (#41) Fold support for the table of contents and fenced code blocks (opt-in).
- Add setting to enable folding:
g:mkdx#settings.fold.enable = 0
. - Add setting to modify what is folded:
g:mkdx#settings.fold.components = ['toc', 'fence']
.
- Add setting to enable folding:
- NEOVIM
- Add: (#32)
dictionarywatcher
that watches settings and immediately updates the document, this includes:- TOC text - (
:let g:mkdx#settings.toc.text = 'string'
). - TOC position - (
:let g:mkdx#settings.toc.position = 2
). - TOC style - (
:let g:mkdx#settings.toc.details.enable = 1
). - TOC summary - (
:let g:mkdx#settings.toc.details.summary = 'new string'
). - Header style - (
:let g:mkdx#settings.tokens.header = '@'
). - Fence style - (
:let g:mkdx#settings.tokens.fence = '~'
). - Folds - (
:let g:mkdx#settings.tokens.components = ['toc']
).
- TOC text - (
- Add: setting to control auto-updates:
g:mkdx#settings.auto_update.enable = 1
.
- Add: (#32)
- dead link detection uses a grep program and
job
when available - jumping to headers uses a grep program and
job
when available - insert autocompletion uses a grep program and
job
when available
- Add insert mode completion for fragment links.
- Add setting to control completions.
- Add support for anchor fragment links (#24) (
<a id="hello"></a>
/<a name="hello"></a>
) for jumping, detection and completion. - Fix issue where double slashes in the URL would not be removed in external link checks.
- Fix nested
<a></a>
tags in generated TOC links.
- (#17) Add a mapping to go to fragment link location.
- (#18) Add alignment options for columns in a table generated from CSV.
- (#18) Add alignment options for specific column names or indexes in a table generated from CSV.
- List items require a space after them to be recognized as a list item.
- Convert CSV to table now also supports quoted CSV and TSV data
- Dead link detection will now also scan any
href=""
attribute content.
- Update Dead link detection to include support for external and relative links.
- Add new settings to control request timeout and relative link host etc.
- Added feature: Dead fragment link detection
- Automatically remove
r
fromformatoptions
inside markdown files (buffer local override) - Fix table of contents "eating" a header when there is no blank line between the table of contents and the next heading
- Cursor stays on the same line after updating table of contents
mkdx#QuickfixHeaders()
shows amount of headers and doesn't open quickfix when no headers are present.
- Added feature: Support generating table of contents inside
<details>
tag.
- Stricter rules for highlighting (do not highlight bold markers at start of line as list items).
- Fix TOC links using headings containing tags.
- Fix deep merging of
g:mkdx#settings
hash. - Add setting to place TOC in fixed position.
- Fix incorrect mapping detection
- Update README, add remapping section
- All mappings now use
<Plug>
.
- Fix #11 -
mkdx#ToggleQuote
inserting0
on empty lines - Fix #12 - Update (task-)lists inside a quote
- Fix #13 - Add / remove (task-)lists inside a quote
- Add
<Plug>(mkdx-o)
in favor of directly mapping toA<Cr>
to triggermkdx#EnterHandler
- Add
<Plug>(mkdx-shift-o)
in favor of directly mapping to:call mkdx#ShiftOHandler()<Cr>
- Fix
mkdx#HeaderToQF
wrong function ref. - Fix
g:mkdx#settings.enter.enable
andg:mkdx#settings.enter.shifto
can be disabled during runtime. - Fix insert mode "~~~" and "```" recursion.
- Add support for toggling <kbd /> shortcuts in normal and visual mode.
- Fix some issues with
mkdx#WrapLink
. mkdx#WrapLink
handles selections that include newline character correctly.- Headers can now also be toggled on / off using
mkdx#ToggleHeader
. - When deleting a list item anywhere in the list, following list items are decremented by 1.
- Added more tests for
- decrementing list items
- promoting / demoting headers
- Wrapping links and images
Add support for shift+O in addition to enter and O in normal mode. This will put your cursor on a new empty list item above the current line.
Add menu support in terminal vim and gvim if it :has('menu')
.
Fixes a bug where wrapping text on a line with a single word would cause a space to be prepended.
Imagine the cursor is the pipe character (|
) in this line: w|ord
, wrapping as a link
would cause the following result:
# this
word
[word](|)
# now becomes this
word
[word](|)
- This version adds opt-in support for checkbox state highlighting. See
g:mkdx#settings.highlight.enable
for more information.
- This version introduces a mapping that opens a quickfix window with all your headers loaded. See Open TOC in quickfix window section for an example.
- Fixes a critical issue with the enter handler functionality where often, it would crash due to missing out of bounds array check.