-
Notifications
You must be signed in to change notification settings - Fork 60
Home

A hackable markdown
, latex
, typst
, html
(inline) & yaml
previewer for Neovim.
On this page,
Also read,
For the tinkerers,
The plugin comes with a single command, :Markview
. It can be used trigger any of the following sub-commands,
:Markview Toggle
-
Toggle
Toggles the preview on all attached buffers! Buffers that have their previews disabled will have it enabled and the ones that have it enabled will be disabled. -
Enable
Enables preview on all attached buffers. -
Disable
Disables preview on all attached buffers. -
toggle <bufnr>
Toggles the plugin on the given buffer(current buffer if not provided). -
enable <bufnr>
Enables preview on the given buffer(current buffer if not provided). -
Disable <bufnr>
Disables preview on the given buffer(current buffer if not provided).
-
Start
Starts the plugin. Any visited/opened buffers will have the plugin attached to them. -
Stop
Stops the plugin. The plugin won't attach to any new buffers.
Caution
If you run :Markview Stop
, open a buffer, run :Markview Start
and revisit that buffer, the plugin will attach to that buffer!
-
attach
Attaches the plugin to a buffer. -
detach
Detaches the plugin from a buffer.
Note
Revisiting a detached buffer will cause it to be attached!
-
HybridToggle
Toggles hybrid mode globally. -
HybridEnable
Enables hybrid mode globally. -
HybridDisable
Disables hybrid mode globally. -
hybridToggle <bufnr>
Toggles hybrid mode of the given buffer(current buffer if not provided). -
hybridEnable <bufnr>
Enables hybrid mode of the given buffer(current buffer if not provided). -
hybridDisable <bufnr>
Disables hybrid mode of the given buffer(current buffer if not provided).
Note
These commands won't do anything if preview.hybrid_modes
aren't set!
-
linewiseToggle
Toggleslinewise hybrid mode
. -
linewiseEnable
Enableslinewise hybrid mode
. -
linewiseDisable
Disableslinewise hybrid mode
.
Note
These work globally
! And require preview.hybrid_modes
to be set!
-
splitOpen <bufnr>
Opens the given buffer's(current buffer if not provided) preview in a split window. -
splitClose
Closes any open split-view window. -
splitToggle
Togglessplitview
. -
splitRedraw
Redraws the splitview window.
Important
Only 1 splitview window will be open!
-
Render
Updates the preview of all enabled buffers. -
Clear
Clears the preview of all enabled buffers. -
render <bufnr>
Renders preview in the given buffer(current buffer if not provided). -
clear <bufnr>
Clears the preview of given buffer(current buffer if not provided).
Tip
These commands can be used to fix visual glitches in the preview!
Note
render
& clear
can be run on any buffer, even if the previews are disabled!
-
traceShow
Shows the plugin's internal messages in a window. -
traceExport
Exports the plugin's trace into a text file(trace.txt
).
Also see preview.callbacks.
Autocmds will be executed after their corresponding callback
! Arguments are passed in event.data
.
vim.api.nvim_create_autocmd("User", {
pattern = "MarkviewAttach",
callback = function (event)
vim.print(event.data);
end
});
-
MarkviewAttach Called when the plugin attaches to a buffer.
Arguments,
-
buffer
, the buffer being attached to. -
windows
, the windows attached tobuffer
(seewin_findbuf()
).
-
-
MarkviewDetach Called when the plugin detaches from a buffer.
Arguments,
-
buffer
, the buffer being detached from. -
windows
, the windows attached tobuffer
.
-
-
MarkviewEnable Called when preview is enabled for a buffer.
Arguments,
-
buffer
, the buffer that's preview is enabled. -
windows
, the windows attached tobuffer
.
-
-
MarkviewDisable Called when preview is disabled for a buffer.
Arguments,
-
buffer
, the buffer that's preview is disabled. -
windows
, the windows attached tobuffer
.
-
-
MarkviewSplitviewOpen Called when
splitview
is opened.Arguments,
-
source
, the buffer that's preview is being shown. -
preview_buffer
, preview buffer. -
windows
, preview window.
-
-
MarkviewSplitviewClose Called when
splitview
is being closed.Arguments,
-
source
, the buffer that's preview is being shown. -
preview_buffer
, preview buffer. -
windows
, preview window.
-
These highlight groups are created by the plugin,
Note
The value of these groups are updated when changing the colorscheme!
These groups will be updated to match the colorscheme whenever the ColorScheme
update is detected,
-
MarkviewPalette0
, has a background & foreground. -
MarkviewPalette0Fg
, only the foreground -
MarkviewPalette0Bg
, only the background. -
MarkviewPalette0Sign
, background of the sign column(LineNr
) & foreground. -
MarkviewPalette1
-
MarkviewPalette1Fg
-
MarkviewPalette1Bg
-
MarkviewPalette1Sign
-
MarkviewPalette2
-
MarkviewPalette2Fg
-
MarkviewPalette2Bg
-
MarkviewPalette2Sign
-
MarkviewPalette3
-
MarkviewPalette3Fg
-
MarkviewPalette3Bg
-
MarkviewPalette3Sign
-
MarkviewPalette4
-
MarkviewPalette4Fg
-
MarkviewPalette4Bg
-
MarkviewPalette4Sign
-
MarkviewPalette5
-
MarkviewPalette5Fg
-
MarkviewPalette5Bg
-
MarkviewPalette5Sign
-
MarkviewPalette6
-
MarkviewPalette6Fg
-
MarkviewPalette6Bg
-
MarkviewPalette6Sign
-
MarkviewCode
. -
MarkviewCodeInfo
. -
MarkviewCodeFg
. -
MarkviewInlineCode
.
Note
These groups are meant to create a gradient!
MarkviewGradient0
MarkviewGradient1
MarkviewGradient2
MarkviewGradient3
MarkviewGradient4
MarkviewGradient5
MarkviewGradient6
MarkviewGradient7
MarkviewGradient8
MarkviewGradient9
These are typically linked to one of the above group,
-
MarkviewBlockQuoteDefault
, links toMarkviewPalette0Fg
. -
MarkviewBlockQuoteError
, links toMarkviewPalette1Fg
. -
MarkviewBlockQuoteNote
, links toMarkviewPalette5Fg
. -
MarkviewBlockQuoteOk
, links toMarkviewPalette4Fg
. -
MarkviewBlockQuoteSpecial
, links toMarkviewPalette3Fg
. -
MarkviewBlockQuoteWarn
, links toMarkviewPalette2Fg
. -
MarkviewCheckboxCancelled
, links toMarkviewPalette0Fg
. -
MarkviewCheckboxChecked
, links toMarkviewPalette4Fg
. -
MarkviewCheckboxPending
, links toMarkviewPalette2Fg
. -
MarkviewCheckboxProgress
, links toMarkviewPalette6Fg
. -
MarkviewCheckboxUnchecked
, links toMarkviewPalette1Fg
. -
MarkviewCheckboxStriked
, links toMarkviewPalette0Fg
[^1]. -
MarkviewIcon0
, links toMarkviewPalette0Fg
[^2]. -
MarkviewIcon1
, links toMarkviewPalette1Fg
[^2]. -
MarkviewIcon2
, links toMarkviewPalette2Fg
[^2]. -
MarkviewIcon3
, links toMarkviewPalette3Fg
[^2]. -
MarkviewIcon4
, links toMarkviewPalette4Fg
[^2]. -
MarkviewIcon5
, links toMarkviewPalette5Fg
[^2]. -
MarkviewIcon6
, links toMarkviewPalette6Fg
[^2]. -
MarkviewHeading1
, links toMarkviewPalette1
. -
MarkviewHeading2
, links toMarkviewPalette2
. -
MarkviewHeading3
, links toMarkviewPalette3
. -
MarkviewHeading4
, links toMarkviewPalette4
. -
MarkviewHeading5
, links toMarkviewPalette5
. -
MarkviewHeading6
, links toMarkviewPalette6
. -
MarkviewHeading1Sign
, links toMarkviewPalette1Sign
. -
MarkviewHeading2Sign
, links toMarkviewPalette2Sign
. -
MarkviewHeading3Sign
, links toMarkviewPalette3Sign
. -
MarkviewHeading4Sign
, links toMarkviewPalette4Sign
. -
MarkviewHeading5Sign
, links toMarkviewPalette5Sign
. -
MarkviewHeading6Sign
, links toMarkviewPalette6Sign
. -
MarkviewHyperlink
, links to@markup.link.label.markdown_inline
. -
MarkviewImage
, links to@markup.link.label.markdown_inline
. -
MarkviewEmail
, links to@markup.link.url.markdown_inline
. -
MarkviewSubscript
, links toMarkviewPalette3Fg
. -
MarkviewSuperscript
, links toMarkviewPalette6Fg
. -
MarkviewListItemMinus
, links toMarkviewPalette2Fg
. -
MarkviewListItemPlus
, links toMarkviewPalette4Fg
. -
MarkviewListItemStar
, links toMarkviewPalette6Fg
. -
MarkviewTableHeader
, links to@markup.heading.markdown
. -
MarkviewTableBorder
, links toMarkviewPalette5Fg
. -
MarkviewTableAlignLeft
, links to@markup.heading.markdown
. -
MarkviewTableAlignCenter
, links to@markup.heading.markdown
. -
MarkviewTableAlignRight
, links to@markup.heading.markdown
.
[^1]: The value of the linked group is used literally. So, manually changing the link group wouldn't work for this.
[^2]: The value of MarkviewCode
is used for the background. So, changing either of the linked group wouldn't affect these.