This PR adds an edit_dirs option that allows users to customize how MkdnEnter will behave when following a link that points to a directory (e.g. [foo](../bar/)).
Before this PR, :MkdnEnter would prompt the user to pick a file name within the given directory:
This default behavior is preserved with the new config option edit_dirs = false.
If edit_dirs is true, then running :MkdnEnter on the link [foo](../bar/) is equivalent to running :edit <path> where is the absolute version of ../bar/. This enables the user's default directory-browsing plugin (e.g. netrw or oil.nvim) to open the directory.
Here's a screenshot after calling :MkdnEnter with edit_dirs = true to edit ../bar/ with netrw:
If edit_dirs is a callback function, then running :MkdnEnter on [foo](../bar/) is equivalent to calling callback(path) where path is the absolute version of ../bar/.
As an example of usage with a callback: in my lua config I currently have edit_dirs = require('mini.files').open so that :MkdnEnter will invoke the mini.files plugin:
Hello,
This PR adds an
edit_dirs
option that allows users to customize howMkdnEnter
will behave when following a link that points to a directory (e.g.[foo](../bar/)
).Before this PR,![image](https://github.com/jakewvincent/mkdnflow.nvim/assets/8935917/08642ad3-aa7f-442d-9845-85bcfa4622db)
:MkdnEnter
would prompt the user to pick a file name within the given directory:This default behavior is preserved with the new config option
edit_dirs = false
.If is the absolute version of
edit_dirs
istrue
, then running:MkdnEnter
on the link[foo](../bar/)
is equivalent to running:edit <path>
where../bar/
. This enables the user's default directory-browsing plugin (e.g. netrw or oil.nvim) to open the directory.Here's a screenshot after calling![image](https://github.com/jakewvincent/mkdnflow.nvim/assets/8935917/706199ec-68d0-4178-9a13-927fc9bab1cc)
:MkdnEnter
withedit_dirs = true
to edit../bar/
with netrw:If
edit_dirs
is a callback function, then running:MkdnEnter
on[foo](../bar/)
is equivalent to callingcallback(path)
wherepath
is the absolute version of../bar/
.As an example of usage with a callback: in my lua config I currently have
edit_dirs = require('mini.files').open
so that:MkdnEnter
will invoke themini.files
plugin: