-
Notifications
You must be signed in to change notification settings - Fork 94
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-
ToggleToggles 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. -
EnableEnables preview on all attached buffers. -
DisableDisables 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).
-
StartStarts the plugin. Any visited/opened buffers will have the plugin attached to them. -
StopStops 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!
-
attachAttaches the plugin to a buffer. -
detachDetaches the plugin from a buffer.
Note
Revisiting a detached buffer will cause it to be attached!
-
HybridToggleToggles hybrid mode globally. -
HybridEnableEnables hybrid mode globally. -
HybridDisableDisables 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!
-
linewiseToggleToggleslinewise hybrid mode. -
linewiseEnableEnableslinewise hybrid mode. -
linewiseDisableDisableslinewise 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. -
splitCloseCloses any open split-view window. -
splitToggleTogglessplitview. -
splitRedrawRedraws the splitview window.
Important
Only 1 splitview window will be open!
-
RenderUpdates the preview of all enabled buffers. -
ClearClears 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!
-
traceShowShows the plugin's internal messages in a window. -
traceExportExports 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
splitviewis opened.Arguments,
-
source, the buffer that's preview is being shown. -
preview_buffer, preview buffer. -
windows, preview window.
-
-
MarkviewSplitviewClose Called when
splitviewis 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!
MarkviewGradient0MarkviewGradient1MarkviewGradient2MarkviewGradient3MarkviewGradient4MarkviewGradient5MarkviewGradient6MarkviewGradient7MarkviewGradient8MarkviewGradient9
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.