Closed m-fonseca closed 3 years ago
Hello @m-fonseca, yeah this was another thing I overlooked, I naively thought most folks would just use fenced code blocks :sweat_smile:
Anyways, this would normally be quite tricky to properly detect since list items can also be at an indent level of 4 so I can't assume every line with indent of 4 will be an indented code block. To "guess" correctly I'm using a bit of help from syntax highlighting, essentially if the cursor line is a markdownCodeBlock
(indented code block) or markdownCode
(fenced code block) normal behavior will be applied.
With normal I mean that pressing either enter / o will indent the next line as well, and if you press enter on that newly added empty line again it will de-indent.
Let me know if this is working properly for you, feel free to reopen if the issue persists.
Seems to be working now. Thanks!
I found one other case where the o
deletes the line, but I have to admit, it might not be valid markdown. Still it would preferable if it didn't delete lines :wink: .
Test
====
This is a *test
testing
do o
on testing
@m-fonseca this one is also fixed now. It is not exactly invalid markdown but the *test
is seen as an unclosed markdownItalic
tag.
Verified. Thanks for the fix!
Compatible with Pandoc? pandoc and it's syntax defined some highlight name, such as pandocDelimitedCodeBlock
.
Temporarily, I changed: https://github.com/SidOfc/mkdx/blob/a6fc41f7630e675ca5f0aeb829ad1b88c73a7c63/autoload/mkdx.vim#L1917 To:
if (index(cursor_line_hl, 'pandocDelimitedCodeBlock') > -1 || index(cursor_line_hl, 'markdownCodeBlock' ) > -1 || index(cursor_line_hl, 'markdownCode') > -1)
Otherwise, using o
or <enter>
on indent code blocks will delete the line
Hello @lclrc,
Cheers for the example code which shows clearly what you want to achieve, and if I understand correctly, it also fixes your issue as well right?
If this is the case, would you mind opening a PR with this fix?
Additionally, I appreciate the effort of you looking for similar issues before just opening a new one 👍. That said, this would have been a solid issue by itself since this is specifically about vim-pandoc and it causes the problem described in this issue :)
Thank you for your time and contribution to mkdx.vim! 🚀
@SidOfc Sorry for my late reply! Github did not notify me. :(
and if I understand correctly, it also fixes your issue as well right?
yes, but I think the example code is "hard code", maybe I need to test its stability and functionality. And then I will open a PR. :)
OS type:
Vim:
Vim version: NVIM v0.4.4
Using mkdx 602a784
Reproduce steps:
Use the following markdown file.
indented code block
press enter.Expected:
The cursor goes to next line.
Actual:
The line is deleted :exploding_head: . Note: the same happens when pressing 'o' while the cursor is on
indented code block
lineI thought I had a conflict with all my mods, so I created a clean setup with no mods except this one, and a init.vim like below, and it still exhibits the problem.
Thanks!