[Nvim] update
This commit is contained in:
@@ -4,11 +4,11 @@ vim.g.mapleader = " "
|
|||||||
----- custom config -----
|
----- custom config -----
|
||||||
|
|
||||||
if vim.g.neovide then
|
if vim.g.neovide then
|
||||||
vim.g.neovide_transparency = 0.7
|
vim.g.neovide_opacity = 0.5
|
||||||
vim.g.neovide_scale_factor = 0.7
|
vim.g.neovide_scale_factor = 0.7
|
||||||
vim.g.neovide_window_blurred = true
|
vim.g.neovide_window_blurred = true
|
||||||
vim.g.neovide_floating_blur_amount_x = 1.0
|
vim.g.neovide_floating_blur_amount_x = 1.9
|
||||||
vim.g.neovide_floating_blur_amount_y = 1.0
|
vim.g.neovide_floating_blur_amount_y = 1.9
|
||||||
vim.g.neovide_floating_shadow = true
|
vim.g.neovide_floating_shadow = true
|
||||||
vim.g.neovide_floating_z_height = 0
|
vim.g.neovide_floating_z_height = 0
|
||||||
vim.g.neovide_hide_mouse_when_typing = true
|
vim.g.neovide_hide_mouse_when_typing = true
|
||||||
@@ -23,11 +23,9 @@ if vim.g.neovide then
|
|||||||
end
|
end
|
||||||
|
|
||||||
vim.opt.relativenumber = true
|
vim.opt.relativenumber = true
|
||||||
vim.opt.wrap = false
|
|
||||||
|
|
||||||
----- end of custom -----
|
----- end of custom -----
|
||||||
|
|
||||||
|
|
||||||
-- bootstrap lazy and all plugins
|
-- bootstrap lazy and all plugins
|
||||||
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||||
|
|
||||||
@@ -58,6 +56,22 @@ dofile(vim.g.base46_cache .. "statusline")
|
|||||||
|
|
||||||
require "options"
|
require "options"
|
||||||
require "nvchad.autocmds"
|
require "nvchad.autocmds"
|
||||||
|
require "render-markdown"
|
||||||
|
|
||||||
|
require("gen").prompts["Markdown_links"] = {
|
||||||
|
prompt = "Make markdown links wherever you find link in the following text, and generate the namas accordingly:\n$text",
|
||||||
|
replace = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
require("gen").prompts["Optimize code"] = {
|
||||||
|
prompt = "Check if code can be optimized for speed and readability:\n$text",
|
||||||
|
replace = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
require("gen").prompts["Genetrate types "] = {
|
||||||
|
prompt = "Check if types are correct in this code, fix and optimize if something is needed:\n$text",
|
||||||
|
replace = true,
|
||||||
|
}
|
||||||
|
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
require "mappings"
|
require "mappings"
|
||||||
|
@@ -1,29 +1,32 @@
|
|||||||
{
|
{
|
||||||
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
|
"LuaSnip": { "branch": "master", "commit": "0f7bbce41ea152a94d12aea286f2ce98e63c0f58" },
|
||||||
"NvChad": { "branch": "v2.5", "commit": "46b15ef1b9d10a83ab7df26b14f474d15c01e770" },
|
"NvChad": { "branch": "v2.5", "commit": "bbc3d43db088c141b142a40cd5f717635833a54e" },
|
||||||
"base46": { "branch": "v3.0", "commit": "80358ecdb5779b199130ed03031c34c0c2bca3fc" },
|
"base46": { "branch": "v2.5", "commit": "8971be55aeb6d5fe086169c0ee9ce647a3871570" },
|
||||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||||
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
|
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "eebc724d12c5579d733d1f801386e0ceb909d001" },
|
"conform.nvim": { "branch": "master", "commit": "023f795dbcf32d4351b6a9ed2e613d471b5bb812" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "31f2a2657b6261724313281fe0d8ba6f43f4a4fa" },
|
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "fcfa7a989cd6fed10abf02d9880dc76d7a38167d" },
|
"gen.nvim": { "branch": "main", "commit": "c8e1f574d4a3a839dde73a87bdc319a62ee1e559" },
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
"gitsigns.nvim": { "branch": "main", "commit": "ac5aba6dce8c06ea22bea2c9016f51a2dbf90dc7" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
"indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
"lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" },
|
||||||
"menu": { "branch": "main", "commit": "8adb036ec34c679050913864cbc98cc64eb91f6c" },
|
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||||
"minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
|
"menu": { "branch": "main", "commit": "657bfc91382c0928453d9a4d0a10ec92db5de2bb" },
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
|
"mini.nvim": { "branch": "main", "commit": "efff26174ca363c059f92e906753db47e81d870b" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
"minty": { "branch": "main", "commit": "a3d69bd63fc98f640815f94b797bf978e9193022" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "81920264a264144bd075f7f48f0c4356fc2c6236" },
|
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
|
||||||
"nvim-tree.lua": { "branch": "master", "commit": "5bea2b37523a31288e0fcab42f3be5c1bd4516bb" },
|
"nvim-cmp": { "branch": "main", "commit": "f17d9b4394027ff4442b298398dfcaab97e40c4f" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "7bbed4b548d9a81c14351bda93d16336edefd067" },
|
"nvim-lspconfig": { "branch": "master", "commit": "f012c1b176f0e3c71f40eb309bdec0316689462e" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "c90dee4e930ab9f49fa6d77f289bff335b49e972" },
|
"nvim-tree.lua": { "branch": "master", "commit": "f7c65e11d695a084ca10b93df659bb7e68b71f9f" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
"nvim-treesitter": { "branch": "master", "commit": "37427012d1c77c544356bfff0c9acc88fd3256bc" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
|
"nvim-web-devicons": { "branch": "master", "commit": "e87554285f581047b1bf236794b0eb812b444b87" },
|
||||||
"ui": { "branch": "v3.0", "commit": "9201de37eb4992bef5fec974618a9a14082765fe" },
|
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
||||||
"volt": { "branch": "main", "commit": "c45d5f48da8e802e608b5c6da471ca4d84276dfb" },
|
"render-markdown.nvim": { "branch": "main", "commit": "eec00fbfd7273cdfa0a1154dbef0bb983641eaf8" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
"telescope.nvim": { "branch": "master", "commit": "85922dde3767e01d42a08e750a773effbffaea3e" },
|
||||||
|
"ui": { "branch": "v3.0", "commit": "9b31c25fc497d1ef726de15ae297769dbf90c1a5" },
|
||||||
|
"volt": { "branch": "main", "commit": "41c03a5d6a0a8a997e774a3482d82e5ef820c6ba" },
|
||||||
|
"which-key.nvim": { "branch": "main", "commit": "68e37e12913a66b60073906f5d3f14dee0de19f2" }
|
||||||
}
|
}
|
||||||
|
@@ -3,15 +3,40 @@
|
|||||||
-- Please read that file to know all available options :(
|
-- Please read that file to know all available options :(
|
||||||
|
|
||||||
---@type ChadrcConfig
|
---@type ChadrcConfig
|
||||||
local M = {}
|
|
||||||
|
|
||||||
M.base46 = {
|
local M = {
|
||||||
|
base46 = {
|
||||||
theme = "onedark",
|
theme = "onedark",
|
||||||
transparency = true
|
transparency = true,
|
||||||
|
lsp = { signature = true },
|
||||||
-- hl_override = {
|
hl_override = {
|
||||||
|
NvimTreeGitDirty = {
|
||||||
|
fg = "#DBA55D",
|
||||||
|
},
|
||||||
|
},
|
||||||
-- Comment = { italic = true },
|
-- Comment = { italic = true },
|
||||||
-- ["@comment"] = { italic = true },
|
-- ["@comment"] = { italic = true },
|
||||||
|
},
|
||||||
|
|
||||||
|
nvdash = {
|
||||||
|
load_on_startup = false,
|
||||||
|
-- buttons = {
|
||||||
|
-- { txt = " Find File", keys = "Spc f f", cmd = "Telescope find_files custom" },
|
||||||
|
-- { txt = " Recent Files", keys = "Spc f o", cmd = "Telescope oldfiles" },
|
||||||
|
-- -- more... check nvconfig.lua file for full list of buttons
|
||||||
|
-- },
|
||||||
|
},
|
||||||
|
|
||||||
|
-- ui = {
|
||||||
|
-- -- lazyload it when there are 1+ buffers
|
||||||
|
-- tabufline = {
|
||||||
|
-- enabled = true,
|
||||||
|
-- lazyload = true,
|
||||||
|
-- order = { "treeOffset", "buffers", "tabs", "btns" },
|
||||||
|
-- modules = nil,
|
||||||
|
-- bufwidth = 21,
|
||||||
|
-- transparency = true,
|
||||||
|
-- },
|
||||||
-- },
|
-- },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,24 +1,28 @@
|
|||||||
-- load defaults i.e lua_lsp
|
|
||||||
require("nvchad.configs.lspconfig").defaults()
|
require("nvchad.configs.lspconfig").defaults()
|
||||||
|
|
||||||
local lspconfig = require "lspconfig"
|
|
||||||
|
|
||||||
-- EXAMPLE
|
|
||||||
local servers = { "html", "cssls", "ts_ls" }
|
local servers = { "html", "cssls", "ts_ls" }
|
||||||
local nvlsp = require "nvchad.configs.lspconfig"
|
vim.lsp.enable(servers)
|
||||||
|
|
||||||
-- lsps with default config
|
-- local lspconfig = require "lspconfig"
|
||||||
for _, lsp in ipairs(servers) do
|
-- local nvlsp = require "nvchad.configs.lspconfig"
|
||||||
lspconfig[lsp].setup {
|
--
|
||||||
on_attach = nvlsp.on_attach,
|
-- -- lsps with default config
|
||||||
on_init = nvlsp.on_init,
|
-- for _, lsp in ipairs(servers) do
|
||||||
capabilities = nvlsp.capabilities,
|
-- lspconfig[lsp].setup {
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
-- configuring single server, example: typescript
|
|
||||||
-- lspconfig.ts_ls.setup {
|
|
||||||
-- on_attach = nvlsp.on_attach,
|
-- on_attach = nvlsp.on_attach,
|
||||||
-- on_init = nvlsp.on_init,
|
-- on_init = nvlsp.on_init,
|
||||||
-- capabilities = nvlsp.capabilities,
|
-- capabilities = nvlsp.capabilities,
|
||||||
-- }
|
-- }
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- -- configuring single server, example: typescript
|
||||||
|
-- lspconfig.ts_ls.setup {
|
||||||
|
-- filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue', 'markdown' },
|
||||||
|
-- }
|
||||||
|
--
|
||||||
|
-- -- configuring single server, example: typescript
|
||||||
|
-- -- lspconfig.ts_ls.setup {
|
||||||
|
-- -- on_attach = nvlsp.on_attach,
|
||||||
|
-- -- on_init = nvlsp.on_init,
|
||||||
|
-- -- capabilities = nvlsp.capabilities,
|
||||||
|
-- -- }
|
||||||
|
851
.config/nvim/lua/configs/render-markdown.lua
Normal file
851
.config/nvim/lua/configs/render-markdown.lua
Normal file
@@ -0,0 +1,851 @@
|
|||||||
|
require("render-markdown").setup {
|
||||||
|
-- Whether markdown should be rendered by default.
|
||||||
|
enabled = true,
|
||||||
|
-- Vim modes that will show a rendered view of the markdown file, :h mode(), for all enabled
|
||||||
|
-- components. Individual components can be enabled for other modes. Remaining modes will be
|
||||||
|
-- unaffected by this plugin.
|
||||||
|
render_modes = { "i", "n", "c", "t" },
|
||||||
|
-- Maximum file size (in MB) that this plugin will attempt to render.
|
||||||
|
-- Any file larger than this will effectively be ignored.
|
||||||
|
max_file_size = 10.0,
|
||||||
|
-- Milliseconds that must pass before updating marks, updates occur.
|
||||||
|
-- within the context of the visible window, not the entire buffer.
|
||||||
|
debounce = 100,
|
||||||
|
-- Pre configured settings that will attempt to mimic various target user experiences.
|
||||||
|
-- Any user provided settings will take precedence.
|
||||||
|
-- | obsidian | mimic Obsidian UI |
|
||||||
|
-- | lazy | will attempt to stay up to date with LazyVim configuration |
|
||||||
|
-- | none | does nothing |
|
||||||
|
preset = "none",
|
||||||
|
-- The level of logs to write to file: vim.fn.stdpath('state') .. '/render-markdown.log'.
|
||||||
|
-- Only intended to be used for plugin development / debugging.
|
||||||
|
log_level = "error",
|
||||||
|
-- Print runtime of main update method.
|
||||||
|
-- Only intended to be used for plugin development / debugging.
|
||||||
|
log_runtime = false,
|
||||||
|
-- Filetypes this plugin will run on.
|
||||||
|
file_types = { "markdown" },
|
||||||
|
-- Takes buffer as input, if it returns true this plugin will not attach to the buffer
|
||||||
|
ignore = function()
|
||||||
|
return false
|
||||||
|
end,
|
||||||
|
-- Additional events that will trigger this plugin's render loop.
|
||||||
|
change_events = {},
|
||||||
|
injections = {
|
||||||
|
-- Out of the box language injections for known filetypes that allow markdown to be interpreted
|
||||||
|
-- in specified locations, see :h treesitter-language-injections.
|
||||||
|
-- Set enabled to false in order to disable.
|
||||||
|
|
||||||
|
gitcommit = {
|
||||||
|
enabled = true,
|
||||||
|
query = [[
|
||||||
|
((message) @injection.content
|
||||||
|
(#set! injection.combined)
|
||||||
|
(#set! injection.include-children)
|
||||||
|
(#set! injection.language "markdown"))
|
||||||
|
]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
patterns = {
|
||||||
|
-- Highlight patterns to disable for filetypes, i.e. lines concealed around code blocks
|
||||||
|
|
||||||
|
markdown = {
|
||||||
|
disable = true,
|
||||||
|
directives = {
|
||||||
|
{ id = 17, name = "conceal_lines" },
|
||||||
|
{ id = 18, name = "conceal_lines" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
anti_conceal = {
|
||||||
|
-- This enables hiding any added text on the line the cursor is on.
|
||||||
|
enabled = true,
|
||||||
|
-- Modes to disable anti conceal feature.
|
||||||
|
disabled_modes = false,
|
||||||
|
-- Number of lines above cursor to show.
|
||||||
|
above = 0,
|
||||||
|
-- Number of lines below cursor to show.
|
||||||
|
below = 0,
|
||||||
|
-- Which elements to always show, ignoring anti conceal behavior. Values can either be
|
||||||
|
-- booleans to fix the behavior or string lists representing modes where anti conceal
|
||||||
|
-- behavior will be ignored. Valid values are:
|
||||||
|
-- bullet
|
||||||
|
-- callout
|
||||||
|
-- check_icon, check_scope
|
||||||
|
-- code_background, code_border, code_language
|
||||||
|
-- dash
|
||||||
|
-- head_background, head_border, head_icon
|
||||||
|
-- indent
|
||||||
|
-- link
|
||||||
|
-- quote
|
||||||
|
-- sign
|
||||||
|
-- table_border
|
||||||
|
-- virtual_lines
|
||||||
|
ignore = {
|
||||||
|
code_background = true,
|
||||||
|
indent = true,
|
||||||
|
sign = true,
|
||||||
|
virtual_lines = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
padding = {
|
||||||
|
-- Highlight to use when adding whitespace, should match background.
|
||||||
|
highlight = "Normal",
|
||||||
|
},
|
||||||
|
latex = {
|
||||||
|
-- Turn on / off latex rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render latex.
|
||||||
|
render_modes = false,
|
||||||
|
-- Executable used to convert latex formula to rendered unicode.
|
||||||
|
converter = "latex2text",
|
||||||
|
-- Highlight for latex blocks.
|
||||||
|
highlight = "RenderMarkdownMath",
|
||||||
|
-- Determines where latex formula is rendered relative to block.
|
||||||
|
-- | above | above latex block |
|
||||||
|
-- | below | below latex block |
|
||||||
|
position = "above",
|
||||||
|
-- Number of empty lines above latex blocks.
|
||||||
|
top_pad = 0,
|
||||||
|
-- Number of empty lines below latex blocks.
|
||||||
|
bottom_pad = 0,
|
||||||
|
},
|
||||||
|
on = {
|
||||||
|
-- Called when plugin initially attaches to a buffer.
|
||||||
|
attach = function() end,
|
||||||
|
-- Called before adding marks to the buffer for the first time.
|
||||||
|
initial = function() end,
|
||||||
|
-- Called after plugin renders a buffer.
|
||||||
|
render = function() end,
|
||||||
|
-- Called after plugin clears a buffer.
|
||||||
|
clear = function() end,
|
||||||
|
},
|
||||||
|
completions = {
|
||||||
|
-- Settings for blink.cmp completions source
|
||||||
|
blink = { enabled = false },
|
||||||
|
-- Settings for coq_nvim completions source
|
||||||
|
coq = { enabled = false },
|
||||||
|
-- Settings for in-process language server completions
|
||||||
|
lsp = { enabled = false },
|
||||||
|
filter = {
|
||||||
|
callout = function()
|
||||||
|
-- example to exclude obsidian callouts
|
||||||
|
-- return value.category ~= 'obsidian'
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
checkbox = function()
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
heading = {
|
||||||
|
-- Useful context to have when evaluating values.
|
||||||
|
-- | level | the number of '#' in the heading marker |
|
||||||
|
-- | sections | for each level how deeply nested the heading is |
|
||||||
|
|
||||||
|
-- Turn on / off heading icon & background rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render headings.
|
||||||
|
render_modes = false,
|
||||||
|
-- Turn on / off atx heading rendering.
|
||||||
|
atx = true,
|
||||||
|
-- Turn on / off setext heading rendering.
|
||||||
|
setext = true,
|
||||||
|
-- Turn on / off any sign column related rendering.
|
||||||
|
sign = true,
|
||||||
|
-- Replaces '#+' of 'atx_h._marker'.
|
||||||
|
-- Output is evaluated depending on the type.
|
||||||
|
-- | function | `value(context)` |
|
||||||
|
-- | string[] | `cycle(value, context.level)` |
|
||||||
|
icons = { " ", " ", " ", " ", " ", " " },
|
||||||
|
-- Determines how icons fill the available space.
|
||||||
|
-- | right | '#'s are concealed and icon is appended to right side |
|
||||||
|
-- | inline | '#'s are concealed and icon is inlined on left side |
|
||||||
|
-- | overlay | icon is left padded with spaces and inserted on left hiding any additional '#' |
|
||||||
|
position = "overlay",
|
||||||
|
-- Added to the sign column if enabled.
|
||||||
|
-- Output is evaluated by `cycle(value, context.level)`.
|
||||||
|
signs = { " " },
|
||||||
|
-- Width of the heading background.
|
||||||
|
-- | block | width of the heading text |
|
||||||
|
-- | full | full width of the window |
|
||||||
|
-- Can also be a list of the above values evaluated by `clamp(value, context.level)`.
|
||||||
|
width = "full",
|
||||||
|
-- Amount of margin to add to the left of headings.
|
||||||
|
-- Margin available space is computed after accounting for padding.
|
||||||
|
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||||
|
-- Can also be a list of numbers evaluated by `clamp(value, context.level)`.
|
||||||
|
left_margin = 0,
|
||||||
|
-- Amount of padding to add to the left of headings.
|
||||||
|
-- Output is evaluated using the same logic as 'left_margin'.
|
||||||
|
left_pad = 0,
|
||||||
|
-- Amount of padding to add to the right of headings when width is 'block'.
|
||||||
|
-- Output is evaluated using the same logic as 'left_margin'.
|
||||||
|
right_pad = 0,
|
||||||
|
-- Minimum width to use for headings when width is 'block'.
|
||||||
|
-- Can also be a list of integers evaluated by `clamp(value, context.level)`.
|
||||||
|
min_width = 0,
|
||||||
|
-- Determines if a border is added above and below headings.
|
||||||
|
-- Can also be a list of booleans evaluated by `clamp(value, context.level)`.
|
||||||
|
border = false,
|
||||||
|
-- Always use virtual lines for heading borders instead of attempting to use empty lines.
|
||||||
|
border_virtual = false,
|
||||||
|
-- Highlight the start of the border using the foreground highlight.
|
||||||
|
border_prefix = false,
|
||||||
|
-- Used above heading for border.
|
||||||
|
above = "▄",
|
||||||
|
-- Used below heading for border.
|
||||||
|
below = "▀",
|
||||||
|
-- Highlight for the heading icon and extends through the entire line.
|
||||||
|
-- Output is evaluated by `clamp(value, context.level)`.
|
||||||
|
backgrounds = {
|
||||||
|
"RenderMarkdownH1Bg",
|
||||||
|
"RenderMarkdownH2Bg",
|
||||||
|
"RenderMarkdownH3Bg",
|
||||||
|
"RenderMarkdownH4Bg",
|
||||||
|
"RenderMarkdownH5Bg",
|
||||||
|
"RenderMarkdownH6Bg",
|
||||||
|
},
|
||||||
|
-- Highlight for the heading and sign icons.
|
||||||
|
-- Output is evaluated using the same logic as 'backgrounds'.
|
||||||
|
foregrounds = {
|
||||||
|
"RenderMarkdownH1",
|
||||||
|
"RenderMarkdownH2",
|
||||||
|
"RenderMarkdownH3",
|
||||||
|
"RenderMarkdownH4",
|
||||||
|
"RenderMarkdownH5",
|
||||||
|
"RenderMarkdownH6",
|
||||||
|
},
|
||||||
|
-- Define custom heading patterns which allow you to override various properties based on
|
||||||
|
-- the contents of a heading.
|
||||||
|
-- The key is for healthcheck and to allow users to change its values, value type below.
|
||||||
|
-- | pattern | matched against the heading text @see :h lua-patterns |
|
||||||
|
-- | icon | optional override for the icon |
|
||||||
|
-- | background | optional override for the background |
|
||||||
|
-- | foreground | optional override for the foreground |
|
||||||
|
custom = {},
|
||||||
|
},
|
||||||
|
paragraph = {
|
||||||
|
-- Useful context to have when evaluating values.
|
||||||
|
-- | text | text value of the node |
|
||||||
|
|
||||||
|
-- Turn on / off paragraph rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render paragraphs.
|
||||||
|
render_modes = false,
|
||||||
|
-- Amount of margin to add to the left of paragraphs.
|
||||||
|
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||||
|
-- Output is evaluated depending on the type.
|
||||||
|
-- | function | `value(context)` |
|
||||||
|
-- | number | `value` |
|
||||||
|
left_margin = 0,
|
||||||
|
-- Amount of padding to add to the first line of each paragraph.
|
||||||
|
-- Output is evaluated using the same logic as 'left_margin'.
|
||||||
|
indent = 0,
|
||||||
|
-- Minimum width to use for paragraphs.
|
||||||
|
min_width = 0,
|
||||||
|
},
|
||||||
|
code = {
|
||||||
|
-- Turn on / off code block & inline code rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render code blocks.
|
||||||
|
render_modes = false,
|
||||||
|
-- Turn on / off any sign column related rendering.
|
||||||
|
sign = true,
|
||||||
|
-- Determines how code blocks & inline code are rendered.
|
||||||
|
-- | none | disables all rendering |
|
||||||
|
-- | normal | background highlighting + padding |
|
||||||
|
-- | language | language heading with icon + sign column |
|
||||||
|
-- | full | normal + language |
|
||||||
|
style = "full",
|
||||||
|
-- Whether to conceal nodes at the top and bottom of code blocks.
|
||||||
|
conceal_delimiters = true,
|
||||||
|
-- Turn on / off any language heading related rendering.
|
||||||
|
language = true,
|
||||||
|
-- Determines where language icon is rendered.
|
||||||
|
-- | right | right side of code block |
|
||||||
|
-- | left | left side of code block |
|
||||||
|
position = "left",
|
||||||
|
-- Whether to include the language icon above code blocks.
|
||||||
|
language_icon = true,
|
||||||
|
-- Whether to include the language name above code blocks.
|
||||||
|
language_name = true,
|
||||||
|
-- Whether to include the language info above code blocks.
|
||||||
|
language_info = true,
|
||||||
|
-- Amount of padding to add around the language.
|
||||||
|
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||||
|
language_pad = 0,
|
||||||
|
-- A list of language names for which background highlighting will be disabled.
|
||||||
|
-- Likely because that language has background highlights itself.
|
||||||
|
-- Use a boolean to make behavior apply to all languages.
|
||||||
|
-- Borders above & below blocks will continue to be rendered.
|
||||||
|
disable_background = { "diff" },
|
||||||
|
-- Width of the code block background.
|
||||||
|
-- | block | width of the code block |
|
||||||
|
-- | full | full width of the window |
|
||||||
|
width = "full",
|
||||||
|
-- Amount of margin to add to the left of code blocks.
|
||||||
|
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||||
|
-- Margin available space is computed after accounting for padding.
|
||||||
|
left_margin = 0,
|
||||||
|
-- Amount of padding to add to the left of code blocks.
|
||||||
|
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||||
|
left_pad = 0,
|
||||||
|
-- Amount of padding to add to the right of code blocks when width is 'block'.
|
||||||
|
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||||
|
right_pad = 0,
|
||||||
|
-- Minimum width to use for code blocks when width is 'block'.
|
||||||
|
min_width = 0,
|
||||||
|
-- Determines how the top / bottom of code block are rendered.
|
||||||
|
-- | none | do not render a border |
|
||||||
|
-- | thick | use the same highlight as the code body |
|
||||||
|
-- | thin | when lines are empty overlay the above & below icons |
|
||||||
|
-- | hide | conceal lines unless language name or icon is added |
|
||||||
|
border = "hide",
|
||||||
|
-- Used above code blocks to fill remaining space around language.
|
||||||
|
language_border = "█",
|
||||||
|
-- Added to the left of language.
|
||||||
|
language_left = "",
|
||||||
|
-- Added to the right of language.
|
||||||
|
language_right = "",
|
||||||
|
-- Used above code blocks for thin border.
|
||||||
|
above = "▄",
|
||||||
|
-- Used below code blocks for thin border.
|
||||||
|
below = "▀",
|
||||||
|
-- Icon to add to the left of inline code.
|
||||||
|
inline_left = "",
|
||||||
|
-- Icon to add to the right of inline code.
|
||||||
|
inline_right = "",
|
||||||
|
-- Padding to add to the left & right of inline code.
|
||||||
|
inline_pad = 0,
|
||||||
|
-- Highlight for code blocks.
|
||||||
|
highlight = "RenderMarkdownCode",
|
||||||
|
-- Highlight for code info section, after the language.
|
||||||
|
highlight_info = "RenderMarkdownCodeInfo",
|
||||||
|
-- Highlight for language, overrides icon provider value.
|
||||||
|
highlight_language = nil,
|
||||||
|
-- Highlight for border, use false to add no highlight.
|
||||||
|
highlight_border = "RenderMarkdownCodeBorder",
|
||||||
|
-- Highlight for language, used if icon provider does not have a value.
|
||||||
|
highlight_fallback = "RenderMarkdownCodeFallback",
|
||||||
|
-- Highlight for inline code.
|
||||||
|
highlight_inline = "RenderMarkdownCodeInline",
|
||||||
|
},
|
||||||
|
dash = {
|
||||||
|
-- Turn on / off thematic break rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render dash.
|
||||||
|
render_modes = false,
|
||||||
|
-- Replaces '---'|'***'|'___'|'* * *' of 'thematic_break'.
|
||||||
|
-- The icon gets repeated across the window's width.
|
||||||
|
icon = "─",
|
||||||
|
-- Width of the generated line.
|
||||||
|
-- | <number> | a hard coded width value |
|
||||||
|
-- | full | full width of the window |
|
||||||
|
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||||
|
width = "full",
|
||||||
|
-- Amount of margin to add to the left of dash.
|
||||||
|
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||||
|
left_margin = 0,
|
||||||
|
-- Highlight for the whole line generated from the icon.
|
||||||
|
highlight = "RenderMarkdownDash",
|
||||||
|
},
|
||||||
|
document = {
|
||||||
|
-- Turn on / off document rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render document.
|
||||||
|
render_modes = false,
|
||||||
|
-- Ability to conceal arbitrary ranges of text based on lua patterns, @see :h lua-patterns.
|
||||||
|
-- Relies entirely on user to set patterns that handle their edge cases.
|
||||||
|
conceal = {
|
||||||
|
-- Matched ranges will be concealed using character level conceal.
|
||||||
|
char_patterns = {},
|
||||||
|
-- Matched ranges will be concealed using line level conceal.
|
||||||
|
line_patterns = {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
bullet = {
|
||||||
|
-- Useful context to have when evaluating values.
|
||||||
|
-- | level | how deeply nested the list is, 1-indexed |
|
||||||
|
-- | index | how far down the item is at that level, 1-indexed |
|
||||||
|
-- | value | text value of the marker node |
|
||||||
|
|
||||||
|
-- Turn on / off list bullet rendering
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render list bullets
|
||||||
|
render_modes = false,
|
||||||
|
-- Replaces '-'|'+'|'*' of 'list_item'.
|
||||||
|
-- If the item is a 'checkbox' a conceal is used to hide the bullet instead.
|
||||||
|
-- Output is evaluated depending on the type.
|
||||||
|
-- | function | `value(context)` |
|
||||||
|
-- | string | `value` |
|
||||||
|
-- | string[] | `cycle(value, context.level)` |
|
||||||
|
-- | string[][] | `clamp(cycle(value, context.level), context.index)` |
|
||||||
|
icons = { "●", "○", "◆", "◇" },
|
||||||
|
-- Replaces 'n.'|'n)' of 'list_item'.
|
||||||
|
-- Output is evaluated using the same logic as 'icons'.
|
||||||
|
ordered_icons = function(ctx)
|
||||||
|
local value = vim.trim(ctx.value)
|
||||||
|
local index = tonumber(value:sub(1, #value - 1))
|
||||||
|
return ("%d."):format(index > 1 and index or ctx.index)
|
||||||
|
end,
|
||||||
|
-- Padding to add to the left of bullet point.
|
||||||
|
-- Output is evaluated depending on the type.
|
||||||
|
-- | function | `value(context)` |
|
||||||
|
-- | integer | `value` |
|
||||||
|
left_pad = 0,
|
||||||
|
-- Padding to add to the right of bullet point.
|
||||||
|
-- Output is evaluated using the same logic as 'left_pad'.
|
||||||
|
right_pad = 0,
|
||||||
|
-- Highlight for the bullet icon.
|
||||||
|
-- Output is evaluated using the same logic as 'icons'.
|
||||||
|
highlight = "RenderMarkdownBullet",
|
||||||
|
-- Highlight for item associated with the bullet point.
|
||||||
|
-- Output is evaluated using the same logic as 'icons'.
|
||||||
|
scope_highlight = {},
|
||||||
|
},
|
||||||
|
checkbox = {
|
||||||
|
-- Checkboxes are a special instance of a 'list_item' that start with a 'shortcut_link'.
|
||||||
|
-- There are two special states for unchecked & checked defined in the markdown grammar.
|
||||||
|
|
||||||
|
-- Turn on / off checkbox state rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render checkboxes.
|
||||||
|
render_modes = false,
|
||||||
|
-- Render the bullet point before the checkbox.
|
||||||
|
bullet = false,
|
||||||
|
-- Padding to add to the right of checkboxes.
|
||||||
|
right_pad = 1,
|
||||||
|
unchecked = {
|
||||||
|
-- Replaces '[ ]' of 'task_list_marker_unchecked'.
|
||||||
|
icon = " ",
|
||||||
|
-- Highlight for the unchecked icon.
|
||||||
|
highlight = "RenderMarkdownUnchecked",
|
||||||
|
-- Highlight for item associated with unchecked checkbox.
|
||||||
|
scope_highlight = nil,
|
||||||
|
},
|
||||||
|
checked = {
|
||||||
|
-- Replaces '[x]' of 'task_list_marker_checked'.
|
||||||
|
icon = " ",
|
||||||
|
-- Highlight for the checked icon.
|
||||||
|
highlight = "RenderMarkdownChecked",
|
||||||
|
-- Highlight for item associated with checked checkbox.
|
||||||
|
scope_highlight = nil,
|
||||||
|
},
|
||||||
|
-- Define custom checkbox states, more involved, not part of the markdown grammar.
|
||||||
|
-- As a result this requires neovim >= 0.10.0 since it relies on 'inline' extmarks.
|
||||||
|
-- The key is for healthcheck and to allow users to change its values, value type below.
|
||||||
|
-- | raw | matched against the raw text of a 'shortcut_link' |
|
||||||
|
-- | rendered | replaces the 'raw' value when rendering |
|
||||||
|
-- | highlight | highlight for the 'rendered' icon |
|
||||||
|
-- | scope_highlight | optional highlight for item associated with custom checkbox |
|
||||||
|
-- stylua: ignore
|
||||||
|
custom = {
|
||||||
|
todo = { raw = '[-]', rendered = ' ', highlight = 'RenderMarkdownTodo', scope_highlight = nil },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
quote = {
|
||||||
|
-- Turn on / off block quote & callout rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render quotes.
|
||||||
|
render_modes = false,
|
||||||
|
-- Replaces '>' of 'block_quote'.
|
||||||
|
icon = "▋",
|
||||||
|
-- Whether to repeat icon on wrapped lines. Requires neovim >= 0.10. This will obscure text
|
||||||
|
-- if incorrectly configured with :h 'showbreak', :h 'breakindent' and :h 'breakindentopt'.
|
||||||
|
-- A combination of these that is likely to work follows.
|
||||||
|
-- | showbreak | ' ' (2 spaces) |
|
||||||
|
-- | breakindent | true |
|
||||||
|
-- | breakindentopt | '' (empty string) |
|
||||||
|
-- These are not validated by this plugin. If you want to avoid adding these to your main
|
||||||
|
-- configuration then set them in win_options for this plugin.
|
||||||
|
repeat_linebreak = false,
|
||||||
|
-- Highlight for the quote icon.
|
||||||
|
-- If a list is provided output is evaluated by `cycle(value, level)`.
|
||||||
|
highlight = {
|
||||||
|
"RenderMarkdownQuote1",
|
||||||
|
"RenderMarkdownQuote2",
|
||||||
|
"RenderMarkdownQuote3",
|
||||||
|
"RenderMarkdownQuote4",
|
||||||
|
"RenderMarkdownQuote5",
|
||||||
|
"RenderMarkdownQuote6",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
pipe_table = {
|
||||||
|
-- Turn on / off pipe table rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render pipe tables.
|
||||||
|
render_modes = false,
|
||||||
|
-- Pre configured settings largely for setting table border easier.
|
||||||
|
-- | heavy | use thicker border characters |
|
||||||
|
-- | double | use double line border characters |
|
||||||
|
-- | round | use round border corners |
|
||||||
|
-- | none | does nothing |
|
||||||
|
preset = "none",
|
||||||
|
-- Determines how the table as a whole is rendered.
|
||||||
|
-- | none | disables all rendering |
|
||||||
|
-- | normal | applies the 'cell' style rendering to each row of the table |
|
||||||
|
-- | full | normal + a top & bottom line that fill out the table when lengths match |
|
||||||
|
style = "full",
|
||||||
|
-- Determines how individual cells of a table are rendered.
|
||||||
|
-- | overlay | writes completely over the table, removing conceal behavior and highlights |
|
||||||
|
-- | raw | replaces only the '|' characters in each row, leaving the cells unmodified |
|
||||||
|
-- | padded | raw + cells are padded to maximum visual width for each column |
|
||||||
|
-- | trimmed | padded except empty space is subtracted from visual width calculation |
|
||||||
|
cell = "padded",
|
||||||
|
-- Amount of space to put between cell contents and border.
|
||||||
|
padding = 1,
|
||||||
|
-- Minimum column width to use for padded or trimmed cell.
|
||||||
|
min_width = 0,
|
||||||
|
-- Characters used to replace table border.
|
||||||
|
-- Correspond to top(3), delimiter(3), bottom(3), vertical, & horizontal.
|
||||||
|
-- stylua: ignore
|
||||||
|
border = {
|
||||||
|
'┌', '┬', '┐',
|
||||||
|
'├', '┼', '┤',
|
||||||
|
'└', '┴', '┘',
|
||||||
|
'│', '─',
|
||||||
|
},
|
||||||
|
-- Always use virtual lines for table borders instead of attempting to use empty lines.
|
||||||
|
-- Will be automatically enabled if indentation module is enabled.
|
||||||
|
border_virtual = false,
|
||||||
|
-- Gets placed in delimiter row for each column, position is based on alignment.
|
||||||
|
alignment_indicator = "━",
|
||||||
|
-- Highlight for table heading, delimiter, and the line above.
|
||||||
|
head = "RenderMarkdownTableHead",
|
||||||
|
-- Highlight for everything else, main table rows and the line below.
|
||||||
|
row = "RenderMarkdownTableRow",
|
||||||
|
-- Highlight for inline padding used to add back concealed space.
|
||||||
|
filler = "RenderMarkdownTableFill",
|
||||||
|
},
|
||||||
|
callout = {
|
||||||
|
-- Callouts are a special instance of a 'block_quote' that start with a 'shortcut_link'.
|
||||||
|
-- The key is for healthcheck and to allow users to change its values, value type below.
|
||||||
|
-- | raw | matched against the raw text of a 'shortcut_link', case insensitive |
|
||||||
|
-- | rendered | replaces the 'raw' value when rendering |
|
||||||
|
-- | highlight | highlight for the 'rendered' text and quote markers |
|
||||||
|
-- | quote_icon | optional override for quote.icon value for individual callout |
|
||||||
|
-- | category | optional metadata useful for filtering |
|
||||||
|
|
||||||
|
note = {
|
||||||
|
raw = "[!NOTE]",
|
||||||
|
rendered = " Note",
|
||||||
|
highlight = "RenderMarkdownInfo",
|
||||||
|
category = "github",
|
||||||
|
},
|
||||||
|
tip = {
|
||||||
|
raw = "[!TIP]",
|
||||||
|
rendered = " Tip",
|
||||||
|
highlight = "RenderMarkdownSuccess",
|
||||||
|
category = "github",
|
||||||
|
},
|
||||||
|
important = {
|
||||||
|
raw = "[!IMPORTANT]",
|
||||||
|
rendered = " Important",
|
||||||
|
highlight = "RenderMarkdownHint",
|
||||||
|
category = "github",
|
||||||
|
},
|
||||||
|
warning = {
|
||||||
|
raw = "[!WARNING]",
|
||||||
|
rendered = " Warning",
|
||||||
|
highlight = "RenderMarkdownWarn",
|
||||||
|
category = "github",
|
||||||
|
},
|
||||||
|
caution = {
|
||||||
|
raw = "[!CAUTION]",
|
||||||
|
rendered = " Caution",
|
||||||
|
highlight = "RenderMarkdownError",
|
||||||
|
category = "github",
|
||||||
|
},
|
||||||
|
-- Obsidian: https://help.obsidian.md/Editing+and+formatting/Callouts
|
||||||
|
abstract = {
|
||||||
|
raw = "[!ABSTRACT]",
|
||||||
|
rendered = " Abstract",
|
||||||
|
highlight = "RenderMarkdownInfo",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
summary = {
|
||||||
|
raw = "[!SUMMARY]",
|
||||||
|
rendered = " Summary",
|
||||||
|
highlight = "RenderMarkdownInfo",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
tldr = {
|
||||||
|
raw = "[!TLDR]",
|
||||||
|
rendered = " Tldr",
|
||||||
|
highlight = "RenderMarkdownInfo",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
info = {
|
||||||
|
raw = "[!INFO]",
|
||||||
|
rendered = " Info",
|
||||||
|
highlight = "RenderMarkdownInfo",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
todo = {
|
||||||
|
raw = "[!TODO]",
|
||||||
|
rendered = " Todo",
|
||||||
|
highlight = "RenderMarkdownInfo",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
hint = {
|
||||||
|
raw = "[!HINT]",
|
||||||
|
rendered = " Hint",
|
||||||
|
highlight = "RenderMarkdownSuccess",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
success = {
|
||||||
|
raw = "[!SUCCESS]",
|
||||||
|
rendered = " Success",
|
||||||
|
highlight = "RenderMarkdownSuccess",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
check = {
|
||||||
|
raw = "[!CHECK]",
|
||||||
|
rendered = " Check",
|
||||||
|
highlight = "RenderMarkdownSuccess",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
done = {
|
||||||
|
raw = "[!DONE]",
|
||||||
|
rendered = " Done",
|
||||||
|
highlight = "RenderMarkdownSuccess",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
question = {
|
||||||
|
raw = "[!QUESTION]",
|
||||||
|
rendered = " Question",
|
||||||
|
highlight = "RenderMarkdownWarn",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
help = {
|
||||||
|
raw = "[!HELP]",
|
||||||
|
rendered = " Help",
|
||||||
|
highlight = "RenderMarkdownWarn",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
faq = {
|
||||||
|
raw = "[!FAQ]",
|
||||||
|
rendered = " Faq",
|
||||||
|
highlight = "RenderMarkdownWarn",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
attention = {
|
||||||
|
raw = "[!ATTENTION]",
|
||||||
|
rendered = " Attention",
|
||||||
|
highlight = "RenderMarkdownWarn",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
failure = {
|
||||||
|
raw = "[!FAILURE]",
|
||||||
|
rendered = " Failure",
|
||||||
|
highlight = "RenderMarkdownError",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
fail = {
|
||||||
|
raw = "[!FAIL]",
|
||||||
|
rendered = " Fail",
|
||||||
|
highlight = "RenderMarkdownError",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
missing = {
|
||||||
|
raw = "[!MISSING]",
|
||||||
|
rendered = " Missing",
|
||||||
|
highlight = "RenderMarkdownError",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
danger = {
|
||||||
|
raw = "[!DANGER]",
|
||||||
|
rendered = " Danger",
|
||||||
|
highlight = "RenderMarkdownError",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
error = {
|
||||||
|
raw = "[!ERROR]",
|
||||||
|
rendered = " Error",
|
||||||
|
highlight = "RenderMarkdownError",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
bug = {
|
||||||
|
raw = "[!BUG]",
|
||||||
|
rendered = " Bug",
|
||||||
|
highlight = "RenderMarkdownError",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
example = {
|
||||||
|
raw = "[!EXAMPLE]",
|
||||||
|
rendered = " Example",
|
||||||
|
highlight = "RenderMarkdownHint",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
quote = {
|
||||||
|
raw = "[!QUOTE]",
|
||||||
|
rendered = " Quote",
|
||||||
|
highlight = "RenderMarkdownQuote",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
cite = {
|
||||||
|
raw = "[!CITE]",
|
||||||
|
rendered = " Cite",
|
||||||
|
highlight = "RenderMarkdownQuote",
|
||||||
|
category = "obsidian",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
link = {
|
||||||
|
-- Turn on / off inline link icon rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render links.
|
||||||
|
render_modes = false,
|
||||||
|
-- How to handle footnote links, start with a '^'.
|
||||||
|
footnote = {
|
||||||
|
-- Turn on / off footnote rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Replace value with superscript equivalent.
|
||||||
|
superscript = true,
|
||||||
|
-- Added before link content.
|
||||||
|
prefix = "",
|
||||||
|
-- Added after link content.
|
||||||
|
suffix = "",
|
||||||
|
},
|
||||||
|
-- Inlined with 'image' elements.
|
||||||
|
image = " ",
|
||||||
|
-- Inlined with 'email_autolink' elements.
|
||||||
|
email = " ",
|
||||||
|
-- Fallback icon for 'inline_link' and 'uri_autolink' elements.
|
||||||
|
hyperlink = " ",
|
||||||
|
-- Applies to the inlined icon as a fallback.
|
||||||
|
highlight = "RenderMarkdownLink",
|
||||||
|
-- Applies to WikiLink elements.
|
||||||
|
wiki = {
|
||||||
|
icon = " ",
|
||||||
|
body = function()
|
||||||
|
return nil
|
||||||
|
end,
|
||||||
|
highlight = "RenderMarkdownWikiLink",
|
||||||
|
},
|
||||||
|
-- Define custom destination patterns so icons can quickly inform you of what a link
|
||||||
|
-- contains. Applies to 'inline_link', 'uri_autolink', and wikilink nodes. When multiple
|
||||||
|
-- patterns match a link the one with the longer pattern is used.
|
||||||
|
-- The key is for healthcheck and to allow users to change its values, value type below.
|
||||||
|
-- | pattern | matched against the destination text |
|
||||||
|
-- | icon | gets inlined before the link text |
|
||||||
|
-- | kind | optional determines how pattern is checked |
|
||||||
|
-- | | pattern | @see :h lua-patterns, is the default if not set |
|
||||||
|
-- | | suffix | @see :h vim.endswith() |
|
||||||
|
-- | priority | optional used when multiple match, uses pattern length if empty |
|
||||||
|
-- | highlight | optional highlight for 'icon', uses fallback highlight if empty |
|
||||||
|
custom = {
|
||||||
|
web = { pattern = "^http", icon = " " },
|
||||||
|
discord = { pattern = "discord%.com", icon = " " },
|
||||||
|
github = { pattern = "github%.com", icon = " " },
|
||||||
|
gitlab = { pattern = "gitlab%.com", icon = " " },
|
||||||
|
google = { pattern = "google%.com", icon = " " },
|
||||||
|
neovim = { pattern = "neovim%.io", icon = " " },
|
||||||
|
reddit = { pattern = "reddit%.com", icon = " " },
|
||||||
|
stackoverflow = { pattern = "stackoverflow%.com", icon = " " },
|
||||||
|
wikipedia = { pattern = "wikipedia%.org", icon = " " },
|
||||||
|
youtube = { pattern = "youtube%.com", icon = " " },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
sign = {
|
||||||
|
-- Turn on / off sign rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Applies to background of sign text.
|
||||||
|
highlight = "RenderMarkdownSign",
|
||||||
|
},
|
||||||
|
inline_highlight = {
|
||||||
|
-- Mimics Obsidian inline highlights when content is surrounded by double equals.
|
||||||
|
-- The equals on both ends are concealed and the inner content is highlighted.
|
||||||
|
|
||||||
|
-- Turn on / off inline highlight rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render inline highlights.
|
||||||
|
render_modes = false,
|
||||||
|
-- Applies to background of surrounded text.
|
||||||
|
highlight = "RenderMarkdownInlineHighlight",
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
-- Mimic org-indent-mode behavior by indenting everything under a heading based on the
|
||||||
|
-- level of the heading. Indenting starts from level 2 headings onward by default.
|
||||||
|
|
||||||
|
-- Turn on / off org-indent-mode.
|
||||||
|
enabled = false,
|
||||||
|
-- Additional modes to render indents.
|
||||||
|
render_modes = false,
|
||||||
|
-- Amount of additional padding added for each heading level.
|
||||||
|
per_level = 2,
|
||||||
|
-- Heading levels <= this value will not be indented.
|
||||||
|
-- Use 0 to begin indenting from the very first level.
|
||||||
|
skip_level = 1,
|
||||||
|
-- Do not indent heading titles, only the body.
|
||||||
|
skip_heading = false,
|
||||||
|
-- Prefix added when indenting, one per level.
|
||||||
|
icon = "▎",
|
||||||
|
-- Priority to assign to extmarks.
|
||||||
|
priority = 0,
|
||||||
|
-- Applied to icon.
|
||||||
|
highlight = "RenderMarkdownIndent",
|
||||||
|
},
|
||||||
|
html = {
|
||||||
|
-- Turn on / off all HTML rendering.
|
||||||
|
enabled = true,
|
||||||
|
-- Additional modes to render HTML.
|
||||||
|
render_modes = false,
|
||||||
|
comment = {
|
||||||
|
-- Turn on / off HTML comment concealing.
|
||||||
|
conceal = true,
|
||||||
|
-- Optional text to inline before the concealed comment.
|
||||||
|
text = nil,
|
||||||
|
-- Highlight for the inlined text.
|
||||||
|
highlight = "RenderMarkdownHtmlComment",
|
||||||
|
},
|
||||||
|
-- HTML tags whose start and end will be hidden and icon shown.
|
||||||
|
-- The key is matched against the tag name, value type below.
|
||||||
|
-- | icon | gets inlined at the start |
|
||||||
|
-- | highlight | highlight for the icon |
|
||||||
|
tag = {},
|
||||||
|
},
|
||||||
|
win_options = {
|
||||||
|
-- Window options to use that change between rendered and raw view.
|
||||||
|
|
||||||
|
-- @see :h 'conceallevel'
|
||||||
|
conceallevel = {
|
||||||
|
-- Used when not being rendered, get user setting.
|
||||||
|
default = vim.o.conceallevel,
|
||||||
|
-- Used when being rendered, concealed text is completely hidden.
|
||||||
|
rendered = 3,
|
||||||
|
},
|
||||||
|
-- @see :h 'concealcursor'
|
||||||
|
concealcursor = {
|
||||||
|
-- Used when not being rendered, get user setting.
|
||||||
|
default = vim.o.concealcursor,
|
||||||
|
-- Used when being rendered, show concealed text in all modes.
|
||||||
|
rendered = "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
overrides = {
|
||||||
|
-- More granular configuration mechanism, allows different aspects of buffers to have their own
|
||||||
|
-- behavior. Values default to the top level configuration if no override is provided. Supports
|
||||||
|
-- the following fields:
|
||||||
|
-- enabled, max_file_size, debounce, render_modes, anti_conceal, padding, heading, paragraph,
|
||||||
|
-- code, dash, bullet, checkbox, quote, pipe_table, callout, link, sign, indent, latex, html,
|
||||||
|
-- win_options
|
||||||
|
|
||||||
|
-- Override for different buflisted values, @see :h 'buflisted'.
|
||||||
|
buflisted = {},
|
||||||
|
-- Override for different buftype values, @see :h 'buftype'.
|
||||||
|
buftype = {
|
||||||
|
nofile = {
|
||||||
|
render_modes = true,
|
||||||
|
padding = { highlight = "NormalFloat" },
|
||||||
|
sign = { enabled = false },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- Override for different filetype values, @see :h 'filetype'.
|
||||||
|
filetype = {},
|
||||||
|
},
|
||||||
|
custom_handlers = {
|
||||||
|
-- Mapping from treesitter language to user defined handlers.
|
||||||
|
-- @see [Custom Handlers](doc/custom-handlers.md)
|
||||||
|
},
|
||||||
|
}
|
@@ -5,7 +5,15 @@ require "nvchad.mappings"
|
|||||||
local map = vim.keymap.set
|
local map = vim.keymap.set
|
||||||
|
|
||||||
map("n", ";", ":", { desc = "CMD enter command mode" })
|
map("n", ";", ":", { desc = "CMD enter command mode" })
|
||||||
map({ "n", "i", "v" }, "<leader>dg", "<cmd> lua vim.diagnostic.open_float()<cr>", { desc = "Float diagnostic" })
|
map("n", "gd", vim.lsp.buf.definition, { desc = "Go to definition" })
|
||||||
|
|
||||||
|
local builtin = require "telescope.builtin"
|
||||||
|
|
||||||
|
map("n", "gD", builtin.lsp_definitions, { desc = "Go to definitions" })
|
||||||
|
map("n", "grr", builtin.lsp_references, { desc = "Go to references" })
|
||||||
|
|
||||||
|
map({ "n", "v" }, "<leader>ge", ":Gen<CR>")
|
||||||
|
|
||||||
|
map("n", "<leader>gl", "<cmd>lua vim.lsp.buf.code_action()<CR>", { noremap = true, silent = true })
|
||||||
|
|
||||||
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
|
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
|
||||||
|
|
||||||
|
@@ -5,7 +5,6 @@ return {
|
|||||||
opts = require "configs.conform",
|
opts = require "configs.conform",
|
||||||
},
|
},
|
||||||
|
|
||||||
-- These are some examples, uncomment them if you want to see them work!
|
|
||||||
{
|
{
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
config = function()
|
config = function()
|
||||||
@@ -13,18 +12,85 @@ return {
|
|||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- Custom Parameters (with defaults)
|
||||||
{
|
{
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"David-Kunz/gen.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
ensure_installed = {
|
-- model = "llama3.2:3b", -- The default model to use.
|
||||||
"vim",
|
model = "mistral-small:22b",
|
||||||
"lua",
|
-- host = "192.168.0.17",
|
||||||
"vimdoc",
|
quit_map = "q", -- set keymap to close the response window
|
||||||
"html",
|
retry_map = "<c-r>", -- set keymap to re-send the current prompt
|
||||||
"css",
|
accept_map = "<c-cr>", -- set keymap to replace the previous selection with the last result
|
||||||
"typescript",
|
-- host = "localhost", -- The host running the Ollama service.
|
||||||
"javascript",
|
host = "192.168.0.204", -- The host running the Ollama service.
|
||||||
|
port = "11434", -- The port on which the Ollama service is listening.
|
||||||
|
display_mode = "vertical-split", -- The display mode. Can be "float" or "split" or "horizontal-split" or "vertical-split".
|
||||||
|
show_prompt = true, -- Shows the prompt submitted to Ollama. Can be true (3 lines) or "full".
|
||||||
|
show_model = true, -- Displays which model you are using at the beginning of your chat session.
|
||||||
|
no_auto_close = false, -- Never closes the window automatically.
|
||||||
|
file = false, -- Write the payload to a temporary file to keep the command short.
|
||||||
|
hidden = false, -- Hide the generation window (if true, will implicitly set `prompt.replace = true`), requires Neovim >= 0.10
|
||||||
|
init = function(options)
|
||||||
|
pcall(io.popen, "ollama serve > /dev/null 2>&1 &")
|
||||||
|
end,
|
||||||
|
-- Function to initialize Ollama
|
||||||
|
command = function(options)
|
||||||
|
local body = { model = options.model, stream = true }
|
||||||
|
return "curl --silent --no-buffer -X POST http://"
|
||||||
|
.. options.host
|
||||||
|
.. ":"
|
||||||
|
.. options.port
|
||||||
|
.. "/api/chat -d $body"
|
||||||
|
end,
|
||||||
|
-- The command for the Ollama service. You can use placeholders $prompt, $model and $body (shellescaped).
|
||||||
|
-- This can also be a command string.
|
||||||
|
-- The executed command must return a JSON object with { response, context }
|
||||||
|
-- (context property is optional).
|
||||||
|
-- list_models = '<omitted lua function>', -- Retrieves a list of model names
|
||||||
|
result_filetype = "markdown", -- Configure filetype of the result buffer
|
||||||
|
debug = false, -- Prints errors and the command which is run.
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"MeanderingProgrammer/render-markdown.nvim",
|
||||||
|
dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.nvim" }, -- if you use the mini.nvim suite
|
||||||
|
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
|
||||||
|
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
|
||||||
|
---@module 'render-markdown'
|
||||||
|
---@type render.md.UserConfig
|
||||||
|
opts = {},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- {
|
||||||
|
-- "jacob411/Ollama-Copilot",
|
||||||
|
-- opts = {
|
||||||
|
-- model_name = "llama3:3b",
|
||||||
|
-- stream_suggestion = false,
|
||||||
|
-- python_command = "python3",
|
||||||
|
-- filetypes = { "python", "lua", "vim", "markdown", "javascript", "typescript" },
|
||||||
|
-- ollama_model_opts = {
|
||||||
|
-- num_predict = 40,
|
||||||
|
-- temperature = 0.1,
|
||||||
|
-- },
|
||||||
|
-- keymaps = {
|
||||||
|
-- suggestion = "<leader>os",
|
||||||
|
-- reject = "<leader>or",
|
||||||
|
-- insert_accept = "<Tab>",
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
|
||||||
|
-- These are some examples, uncomment them if you want to see them work!
|
||||||
|
--
|
||||||
|
-- {
|
||||||
|
-- "nvim-treesitter/nvim-treesitter",
|
||||||
|
-- opts = {
|
||||||
|
-- ensure_installed = {
|
||||||
|
-- "vim", "lua", "vimdoc",
|
||||||
|
-- "html", "css"
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
--
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user