updated markdown in nvim
This commit is contained in:
@@ -1,41 +1,42 @@
|
|||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
vim.fn.system({
|
vim.fn.system({
|
||||||
"git",
|
"git",
|
||||||
"clone",
|
"clone",
|
||||||
"--filter=blob:none",
|
"--filter=blob:none",
|
||||||
"https://github.com/folke/lazy.nvim.git",
|
"https://github.com/folke/lazy.nvim.git",
|
||||||
"--branch=stable", -- latest stable release
|
"--branch=stable", -- latest stable release
|
||||||
lazypath,
|
lazypath,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
-- Only enable spell checking for specific filetypes
|
-- Only enable spell checking for specific filetypes
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
pattern = { "markdown", "text", "gitcommit", "tex" },
|
pattern = { "markdown", "text", "gitcommit", "tex" },
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.opt_local.spell = true
|
vim.opt_local.spell = true
|
||||||
vim.opt_local.spelllang = "en_us,de"
|
vim.opt_local.spelllang = "en_us,de"
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
require("vim-options")
|
require("vim-options")
|
||||||
require("lazy").setup("plugins")
|
require("lazy").setup("plugins")
|
||||||
require("lualine").setup({
|
require("lualine").setup({
|
||||||
sections = {
|
sections = {
|
||||||
lualine_x = {
|
lualine_x = {
|
||||||
{
|
{
|
||||||
require("noice").api.statusline.mode.get,
|
require("noice").api.statusline.mode.get,
|
||||||
cond = require("noice").api.statusline.mode.has,
|
cond = require("noice").api.statusline.mode.has,
|
||||||
color = { fg = "#ff9e64" },
|
color = { fg = "#ff9e64" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
require("lazy").setup({
|
require("lazy").setup({
|
||||||
{
|
{
|
||||||
"tzachar/cmp-tabnine",
|
"tzachar/cmp-tabnine",
|
||||||
build = "./install.sh",
|
build = "./install.sh",
|
||||||
dependencies = "hrsh7th/nvim-cmp",
|
dependencies = "hrsh7th/nvim-cmp",
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,35 +1,41 @@
|
|||||||
vim.cmd("set expandtab")
|
|
||||||
vim.cmd("set tabstop=2")
|
|
||||||
vim.cmd("set softtabstop=2")
|
|
||||||
vim.cmd("set shiftwidth=2")
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
|
|
||||||
-- Bootstrap lazy.nvim
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
vim.fn.system({
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
"git",
|
||||||
if vim.v.shell_error ~= 0 then
|
"clone",
|
||||||
vim.api.nvim_echo({
|
"--filter=blob:none",
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
"https://github.com/folke/lazy.nvim.git",
|
||||||
{ out, "WarningMsg" },
|
"--branch=stable", -- latest stable release
|
||||||
{ "\nPress any key to exit..." },
|
lazypath,
|
||||||
}, true, {})
|
})
|
||||||
vim.fn.getchar()
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
-- Only enable spell checking for specific filetypes
|
||||||
-- loading lazy.nvim so that mappings are correct.
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
-- This is also a good place to setup other settings (vim.opt)
|
pattern = { "markdown", "text", "gitcommit", "tex" },
|
||||||
vim.g.mapleader = " "
|
callback = function()
|
||||||
vim.g.maplocalleader = "\\"
|
vim.opt_local.spell = true
|
||||||
|
vim.opt_local.spelllang = "en_us,de"
|
||||||
-- Setup lazy.nvim
|
end,
|
||||||
|
})
|
||||||
require("vim-options")
|
require("vim-options")
|
||||||
require("lazy").setup("plugins")
|
require("lazy").setup("plugins")
|
||||||
|
require("lualine").setup({
|
||||||
|
sections = {
|
||||||
|
lualine_x = {
|
||||||
|
{
|
||||||
|
require("noice").api.statusline.mode.get,
|
||||||
|
cond = require("noice").api.statusline.mode.has,
|
||||||
|
color = { fg = "#ff9e64" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
require("lazy").setup({
|
||||||
|
{
|
||||||
|
"tzachar/cmp-tabnine",
|
||||||
|
build = "./install.sh",
|
||||||
|
dependencies = "hrsh7th/nvim-cmp",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||||
"cmp-tabnine": { "branch": "main", "commit": "c0167cdc86c15e782c5461ee62aebee89231c2ed" },
|
"cmp-tabnine": { "branch": "main", "commit": "c0167cdc86c15e782c5461ee62aebee89231c2ed" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "328c2f1dda56f933d3337a1316e1020ba30ba6aa" },
|
"conform.nvim": { "branch": "master", "commit": "5f5152fae39a57e3a04cbce09fb21e10c49c9d95" },
|
||||||
"dashboard-nvim": { "branch": "master", "commit": "0775e567b6c0be96d01a61795f7b64c1758262f6" },
|
"dashboard-nvim": { "branch": "master", "commit": "0775e567b6c0be96d01a61795f7b64c1758262f6" },
|
||||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||||
@@ -25,7 +25,8 @@
|
|||||||
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
|
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
|
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
|
||||||
"luvit-meta": { "branch": "main", "commit": "0ea4ff636c5bb559ffa78108561d0976f4de9682" },
|
"luvit-meta": { "branch": "main", "commit": "0ea4ff636c5bb559ffa78108561d0976f4de9682" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "3b3571b4dadbcb464804466e9872e7246c316af7" },
|
"markview.nvim": { "branch": "main", "commit": "0a5033326f703d99a8788e2d47753d6298195e8a" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "8f1a3e6eecb638817e8999aaa16ada27cd54d867" },
|
||||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
|
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" },
|
"mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" },
|
||||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
|
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
|
||||||
@@ -35,23 +36,23 @@
|
|||||||
"nvim-autopairs": { "branch": "master", "commit": "c2a0dd0d931d0fb07665e1fedb1ea688da3b80b4" },
|
"nvim-autopairs": { "branch": "master", "commit": "c2a0dd0d931d0fb07665e1fedb1ea688da3b80b4" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "d97d85e01339f01b842e6ec1502f639b080cb0fc" },
|
"nvim-cmp": { "branch": "main", "commit": "d97d85e01339f01b842e6ec1502f639b080cb0fc" },
|
||||||
"nvim-lint": { "branch": "master", "commit": "7a64f4067065c16a355d40d0d599b8ca6b25de6d" },
|
"nvim-lint": { "branch": "master", "commit": "7a64f4067065c16a355d40d0d599b8ca6b25de6d" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "c4f67bf85b01a57e3c130352c0a0e453ab8cd5b9" },
|
"nvim-lspconfig": { "branch": "master", "commit": "d20d83b3f24f5884da73a9fc92fdc47e778b8d0d" },
|
||||||
"nvim-navic": { "branch": "master", "commit": "7d914a39a1ef8f4e22c2c4381abeef7c556f5a13" },
|
"nvim-navic": { "branch": "master", "commit": "7d914a39a1ef8f4e22c2c4381abeef7c556f5a13" },
|
||||||
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
||||||
"nvim-spectre": { "branch": "master", "commit": "72f56f7585903cd7bf92c665351aa585e150af0f" },
|
"nvim-spectre": { "branch": "master", "commit": "72f56f7585903cd7bf92c665351aa585e150af0f" },
|
||||||
"nvim-tmux-navigation": { "branch": "main", "commit": "4898c98702954439233fdaf764c39636681e2861" },
|
"nvim-tmux-navigation": { "branch": "main", "commit": "4898c98702954439233fdaf764c39636681e2861" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
|
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
"nvim-web-devicons": { "branch": "master", "commit": "6788013bb9cb784e606ada44206b0e755e4323d7" },
|
||||||
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
"portal.nvim": { "branch": "main", "commit": "77d9d53fec945bfa407d5fd7120f1b4f117450ed" },
|
"portal.nvim": { "branch": "main", "commit": "77d9d53fec945bfa407d5fd7120f1b4f117450ed" },
|
||||||
"rainbow-delimiters.nvim": { "branch": "master", "commit": "8aafe2cbd89cd4090f573a98cab6b20366576fde" },
|
"rainbow-delimiters.nvim": { "branch": "master", "commit": "8aafe2cbd89cd4090f573a98cab6b20366576fde" },
|
||||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "3d757e586ff0bfc85bdb7b46c9d3d932147a0cde" },
|
"telescope.nvim": { "branch": "master", "commit": "e709d31454ee6e6157f0537f861f797bd44c0bad" },
|
||||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||||
"vim-test": { "branch": "master", "commit": "1eeb12774a0f251571700ccf68da27789b2f0852" },
|
"vim-test": { "branch": "master", "commit": "aa619692ff48a3cf3e6bdb893765039488d4e5f3" },
|
||||||
"vimux": { "branch": "master", "commit": "614f0bb1fb598f97accdcea71d5f7b18d7d62436" },
|
"vimux": { "branch": "master", "commit": "614f0bb1fb598f97accdcea71d5f7b18d7d62436" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" },
|
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" },
|
||||||
"yazi.nvim": { "branch": "main", "commit": "275c195596c857955f4627a8b48b68144d79478f" }
|
"yazi.nvim": { "branch": "main", "commit": "d87cd885e06d50e1bb5607e48d96c1094d3b10e3" }
|
||||||
}
|
}
|
||||||
|
|||||||
166
nvim/.config/nvim/lua/plugins.inactive/markdown.lua
Normal file
166
nvim/.config/nvim/lua/plugins.inactive/markdown.lua
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"OXY2DEV/markview.nvim",
|
||||||
|
ft = "markdown",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("markview").setup({
|
||||||
|
modes = { "n", "no", "c" },
|
||||||
|
hybrid_modes = { "n" },
|
||||||
|
|
||||||
|
callbacks = {
|
||||||
|
on_enable = function(_, win)
|
||||||
|
vim.wo[win].conceallevel = 2
|
||||||
|
vim.wo[win].concealcursor = ""
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
checkboxes = {
|
||||||
|
enable = true,
|
||||||
|
checked = {
|
||||||
|
text = "✓",
|
||||||
|
hl = "MarkviewCheckboxChecked",
|
||||||
|
},
|
||||||
|
unchecked = {
|
||||||
|
text = "☐",
|
||||||
|
hl = "MarkviewCheckboxUnchecked",
|
||||||
|
},
|
||||||
|
custom = {
|
||||||
|
{
|
||||||
|
match_string = "!",
|
||||||
|
text = "!",
|
||||||
|
hl = "MarkviewCheckboxUrgent",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
headings = {
|
||||||
|
enable = true,
|
||||||
|
shift_width = 0,
|
||||||
|
heading_1 = {
|
||||||
|
style = "icon",
|
||||||
|
icon = "# ",
|
||||||
|
hl = "MarkviewHeading1",
|
||||||
|
},
|
||||||
|
heading_2 = {
|
||||||
|
style = "icon",
|
||||||
|
icon = "## ",
|
||||||
|
hl = "MarkviewHeading2",
|
||||||
|
},
|
||||||
|
heading_3 = {
|
||||||
|
style = "icon",
|
||||||
|
icon = "### ",
|
||||||
|
hl = "MarkviewHeading3",
|
||||||
|
},
|
||||||
|
heading_4 = {
|
||||||
|
style = "icon",
|
||||||
|
icon = "#### ",
|
||||||
|
hl = "MarkviewHeading4",
|
||||||
|
},
|
||||||
|
heading_5 = {
|
||||||
|
style = "icon",
|
||||||
|
icon = "##### ",
|
||||||
|
hl = "MarkviewHeading5",
|
||||||
|
},
|
||||||
|
heading_6 = {
|
||||||
|
style = "icon",
|
||||||
|
icon = "###### ",
|
||||||
|
hl = "MarkviewHeading6",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
code_blocks = {
|
||||||
|
enable = true,
|
||||||
|
style = "language",
|
||||||
|
hl = "MarkviewCode",
|
||||||
|
min_width = 60,
|
||||||
|
pad_amount = 1,
|
||||||
|
},
|
||||||
|
|
||||||
|
list_items = {
|
||||||
|
enable = true,
|
||||||
|
indent_size = 2,
|
||||||
|
marker_minus = {
|
||||||
|
text = "•",
|
||||||
|
hl = "MarkviewListItemMinus",
|
||||||
|
},
|
||||||
|
marker_plus = {
|
||||||
|
text = "•",
|
||||||
|
hl = "MarkviewListItemPlus",
|
||||||
|
},
|
||||||
|
marker_star = {
|
||||||
|
text = "•",
|
||||||
|
hl = "MarkviewListItemStar",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
links = {
|
||||||
|
enable = true,
|
||||||
|
hyperlinks = {
|
||||||
|
icon = "",
|
||||||
|
hl = "MarkviewHyperlink",
|
||||||
|
},
|
||||||
|
images = {
|
||||||
|
icon = "",
|
||||||
|
hl = "MarkviewImageLink",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Catppuccin Mocha colors
|
||||||
|
vim.cmd([[
|
||||||
|
" Checkboxes - Catppuccin Mocha palette
|
||||||
|
highlight MarkviewCheckboxChecked guifg=#a6e3a1 " Green
|
||||||
|
highlight MarkviewCheckboxUnchecked guifg=#6c7086 " Surface2 (gray)
|
||||||
|
highlight MarkviewCheckboxUrgent guifg=#f38ba8 gui=bold " Red
|
||||||
|
|
||||||
|
" Headings - Catppuccin Mocha subtle
|
||||||
|
highlight MarkviewHeading1 guifg=#f38ba8 gui=bold " Red
|
||||||
|
highlight MarkviewHeading2 guifg=#fab387 gui=bold " Peach
|
||||||
|
highlight MarkviewHeading3 guifg=#f9e2af " Yellow
|
||||||
|
highlight MarkviewHeading4 guifg=#a6e3a1 " Green
|
||||||
|
highlight MarkviewHeading5 guifg=#89b4fa " Blue
|
||||||
|
highlight MarkviewHeading6 guifg=#cba6f7 " Mauve
|
||||||
|
|
||||||
|
" Code blocks - Catppuccin Mocha mantle
|
||||||
|
highlight MarkviewCode guibg=#181825
|
||||||
|
|
||||||
|
" Lists - Catppuccin Mocha blue
|
||||||
|
highlight MarkviewListItemMinus guifg=#89b4fa
|
||||||
|
highlight MarkviewListItemPlus guifg=#89b4fa
|
||||||
|
highlight MarkviewListItemStar guifg=#89b4fa
|
||||||
|
|
||||||
|
" Links - Catppuccin Mocha sapphire
|
||||||
|
highlight MarkviewHyperlink guifg=#74c7ec gui=underline
|
||||||
|
highlight MarkviewImageLink guifg=#74c7ec
|
||||||
|
]])
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"dhruvasagar/vim-table-mode",
|
||||||
|
ft = { "markdown" },
|
||||||
|
cmd = { "TableModeToggle" },
|
||||||
|
keys = {
|
||||||
|
{ "<leader>tm", "<cmd>TableModeToggle<cr>", desc = "Toggle Table Mode" },
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
vim.g.table_mode_corner = "|"
|
||||||
|
vim.g.table_mode_corner_corner = "|"
|
||||||
|
vim.g.table_mode_header_fillchar = "-"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"bullets-vim/bullets.vim",
|
||||||
|
ft = { "markdown", "text" },
|
||||||
|
config = function()
|
||||||
|
vim.g.bullets_enabled_file_types = { "markdown", "text" }
|
||||||
|
vim.g.bullets_enable_in_empty_buffers = 0
|
||||||
|
vim.g.bullets_checkbox_markers = " x!"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvimtools/none-ls.nvim",
|
|
||||||
config = function()
|
|
||||||
local null_ls = require("null-ls")
|
|
||||||
null_ls.setup({
|
|
||||||
sources = {
|
|
||||||
null_ls.builtins.formatting.stylua,
|
|
||||||
null_ls.builtins.formatting.prettier,
|
|
||||||
-- null_ls.builtins.diagnostics.eslint_d,
|
|
||||||
null_ls.builtins.diagnostics.rubocop,
|
|
||||||
null_ls.builtins.formatting.rubocop,
|
|
||||||
null_ls.builtins.formatting.black,
|
|
||||||
null_ls.builtins.formatting.isort,
|
|
||||||
null_ls.builtins.diagnostics.pylint,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>gf", vim.lsp.buf.format, {})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,8 +1,92 @@
|
|||||||
-- return {
|
return {
|
||||||
-- "stevearc/oil.nvim",
|
{
|
||||||
-- config = function()
|
"stevearc/oil.nvim",
|
||||||
-- local oil = require("oil")
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
-- oil.setup()
|
config = function()
|
||||||
-- vim.keymap.set("n", "-", oil.toggle_float, {})
|
require("oil").setup({
|
||||||
-- end,
|
-- Oil will take over directory buffers (e.g. `vim .` or `:e src/`)
|
||||||
--}
|
default_file_explorer = true,
|
||||||
|
|
||||||
|
-- Columns to show
|
||||||
|
columns = {
|
||||||
|
"icon",
|
||||||
|
-- "permissions",
|
||||||
|
-- "size",
|
||||||
|
-- "mtime",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Buffer-local options
|
||||||
|
buf_options = {
|
||||||
|
buflisted = false,
|
||||||
|
bufhidden = "hide",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Window-local options
|
||||||
|
win_options = {
|
||||||
|
wrap = false,
|
||||||
|
signcolumn = "no",
|
||||||
|
cursorcolumn = false,
|
||||||
|
foldcolumn = "0",
|
||||||
|
spell = false,
|
||||||
|
list = false,
|
||||||
|
conceallevel = 3,
|
||||||
|
concealcursor = "nvic",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Delete to trash instead of permanently deleting
|
||||||
|
delete_to_trash = true,
|
||||||
|
|
||||||
|
-- Skip confirmation for simple operations
|
||||||
|
skip_confirm_for_simple_edits = false,
|
||||||
|
|
||||||
|
-- Prompt for confirmation on certain actions
|
||||||
|
prompt_save_on_select_new_entry = true,
|
||||||
|
|
||||||
|
-- Keymaps in oil buffer
|
||||||
|
keymaps = {
|
||||||
|
["g?"] = "actions.show_help",
|
||||||
|
["<CR>"] = "actions.select",
|
||||||
|
["<C-v>"] = "actions.select_vsplit",
|
||||||
|
["<C-x>"] = "actions.select_split",
|
||||||
|
["<C-t>"] = "actions.select_tab",
|
||||||
|
["<C-p>"] = "actions.preview",
|
||||||
|
["<C-c>"] = "actions.close",
|
||||||
|
["<C-l>"] = "actions.refresh",
|
||||||
|
["-"] = "actions.parent",
|
||||||
|
["_"] = "actions.open_cwd",
|
||||||
|
["`"] = "actions.cd",
|
||||||
|
["~"] = "actions.tcd",
|
||||||
|
["gs"] = "actions.change_sort",
|
||||||
|
["gx"] = "actions.open_external",
|
||||||
|
["g."] = "actions.toggle_hidden",
|
||||||
|
["g\\"] = "actions.toggle_trash",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Set to false to disable all of the above keymaps
|
||||||
|
use_default_keymaps = true,
|
||||||
|
|
||||||
|
view_options = {
|
||||||
|
-- Show files and directories that start with "."
|
||||||
|
show_hidden = false,
|
||||||
|
|
||||||
|
-- This function defines what is considered a "hidden" file
|
||||||
|
is_hidden_file = function(name, bufnr)
|
||||||
|
return vim.startswith(name, ".")
|
||||||
|
end,
|
||||||
|
|
||||||
|
-- Sort file names in a more intuitive order
|
||||||
|
sort = {
|
||||||
|
{ "type", "asc" },
|
||||||
|
{ "name", "asc" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Open parent directory in current window
|
||||||
|
vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" })
|
||||||
|
|
||||||
|
-- Open parent directory in floating window
|
||||||
|
vim.keymap.set("n", "<leader>-", require("oil").toggle_float, { desc = "Open Oil in floating window" })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|||||||
225
nvim/.config/nvim/lua/plugins/markdown.lua
Normal file
225
nvim/.config/nvim/lua/plugins/markdown.lua
Normal file
@@ -0,0 +1,225 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"OXY2DEV/markview.nvim",
|
||||||
|
lazy = false,
|
||||||
|
ft = "markdown",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local presets = require("markview.presets")
|
||||||
|
|
||||||
|
require("markview").setup({
|
||||||
|
modes = { "n", "no", "c" },
|
||||||
|
hybrid_modes = { "n" },
|
||||||
|
|
||||||
|
callbacks = {
|
||||||
|
on_enable = function(_, win)
|
||||||
|
vim.wo[win].conceallevel = 2
|
||||||
|
vim.wo[win].concealcursor = ""
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Glow headings preset
|
||||||
|
headings = presets.headings.glow,
|
||||||
|
|
||||||
|
-- Code blocks configuration
|
||||||
|
code_blocks = {
|
||||||
|
enable = true,
|
||||||
|
style = "language",
|
||||||
|
position = "overlay",
|
||||||
|
min_width = 60,
|
||||||
|
pad_amount = 2,
|
||||||
|
pad_char = " ",
|
||||||
|
|
||||||
|
language_names = {
|
||||||
|
{ "py", "python" },
|
||||||
|
{ "cpp", "C++" },
|
||||||
|
{ "js", "javascript" },
|
||||||
|
{ "ts", "typescript" },
|
||||||
|
{ "sh", "bash" },
|
||||||
|
},
|
||||||
|
|
||||||
|
hl = "MarkviewCode",
|
||||||
|
sign = true,
|
||||||
|
sign_hl = "MarkviewCodeSign",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Block quotes configuration
|
||||||
|
block_quotes = {
|
||||||
|
enable = true,
|
||||||
|
default = {
|
||||||
|
border = "▋",
|
||||||
|
border_hl = "MarkviewBlockQuoteBorder",
|
||||||
|
},
|
||||||
|
|
||||||
|
callouts = {
|
||||||
|
{
|
||||||
|
match_string = "NOTE",
|
||||||
|
callout_preview = " Note",
|
||||||
|
callout_preview_hl = "MarkviewBlockQuoteNote",
|
||||||
|
border = "▋",
|
||||||
|
border_hl = "MarkviewBlockQuoteNote",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match_string = "TIP",
|
||||||
|
callout_preview = " Tip",
|
||||||
|
callout_preview_hl = "MarkviewBlockQuoteTip",
|
||||||
|
border = "▋",
|
||||||
|
border_hl = "MarkviewBlockQuoteTip",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match_string = "IMPORTANT",
|
||||||
|
callout_preview = " Important",
|
||||||
|
callout_preview_hl = "MarkviewBlockQuoteImportant",
|
||||||
|
border = "▋",
|
||||||
|
border_hl = "MarkviewBlockQuoteImportant",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match_string = "WARNING",
|
||||||
|
callout_preview = " Warning",
|
||||||
|
callout_preview_hl = "MarkviewBlockQuoteWarn",
|
||||||
|
border = "▋",
|
||||||
|
border_hl = "MarkviewBlockQuoteWarn",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match_string = "CAUTION",
|
||||||
|
callout_preview = " Caution",
|
||||||
|
callout_preview_hl = "MarkviewBlockQuoteError",
|
||||||
|
border = "▋",
|
||||||
|
border_hl = "MarkviewBlockQuoteError",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Checkboxes configuration
|
||||||
|
checkboxes = {
|
||||||
|
enable = true,
|
||||||
|
checked = {
|
||||||
|
text = "✓",
|
||||||
|
hl = "MarkviewCheckboxChecked",
|
||||||
|
scope_hl = nil,
|
||||||
|
},
|
||||||
|
unchecked = {
|
||||||
|
text = "☐",
|
||||||
|
hl = "MarkviewCheckboxUnchecked",
|
||||||
|
scope_hl = nil,
|
||||||
|
},
|
||||||
|
custom = {
|
||||||
|
{
|
||||||
|
match_string = "!",
|
||||||
|
text = "!",
|
||||||
|
hl = "MarkviewCheckboxImportant",
|
||||||
|
scope_hl = nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match_string = "-",
|
||||||
|
text = "◐",
|
||||||
|
hl = "MarkviewCheckboxPending",
|
||||||
|
scope_hl = nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match_string = "~",
|
||||||
|
text = "≈",
|
||||||
|
hl = "MarkviewCheckboxProgress",
|
||||||
|
scope_hl = nil,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Tables with rounded borders
|
||||||
|
tables = {
|
||||||
|
enable = true,
|
||||||
|
|
||||||
|
parts = {
|
||||||
|
top = { "╭", "─", "┬", "─", "╮" },
|
||||||
|
header = { "├", "─", "┼", "─", "┤" },
|
||||||
|
separator = { "├", "─", "┼", "─", "┤" },
|
||||||
|
row = { "│", " ", "│", " ", "│" },
|
||||||
|
bottom = { "╰", "─", "┴", "─", "╯" },
|
||||||
|
|
||||||
|
overlap = { "┼" },
|
||||||
|
},
|
||||||
|
|
||||||
|
hl = {
|
||||||
|
"MarkviewTableHeader",
|
||||||
|
"MarkviewTableBorder",
|
||||||
|
"MarkviewTableBorder",
|
||||||
|
"MarkviewTableBorder",
|
||||||
|
"MarkviewTableBorder",
|
||||||
|
},
|
||||||
|
|
||||||
|
use_virt_lines = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- List items
|
||||||
|
list_items = {
|
||||||
|
enable = true,
|
||||||
|
indent_size = 2,
|
||||||
|
shift_width = 2,
|
||||||
|
|
||||||
|
marker_minus = {
|
||||||
|
add_padding = true,
|
||||||
|
text = "•",
|
||||||
|
hl = "MarkviewListItemMinus",
|
||||||
|
},
|
||||||
|
marker_plus = {
|
||||||
|
add_padding = true,
|
||||||
|
text = "•",
|
||||||
|
hl = "MarkviewListItemPlus",
|
||||||
|
},
|
||||||
|
marker_star = {
|
||||||
|
add_padding = true,
|
||||||
|
text = "•",
|
||||||
|
hl = "MarkviewListItemStar",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Catppuccin Mocha colors
|
||||||
|
vim.cmd([[
|
||||||
|
" Code blocks - Catppuccin Mocha
|
||||||
|
highlight MarkviewCode guibg=#181825
|
||||||
|
highlight MarkviewCodeSign guifg=#89b4fa
|
||||||
|
|
||||||
|
" Block quotes - Catppuccin Mocha
|
||||||
|
highlight MarkviewBlockQuoteBorder guifg=#6c7086
|
||||||
|
highlight MarkviewBlockQuoteNote guifg=#89b4fa
|
||||||
|
highlight MarkviewBlockQuoteTip guifg=#a6e3a1
|
||||||
|
highlight MarkviewBlockQuoteImportant guifg=#cba6f7
|
||||||
|
highlight MarkviewBlockQuoteWarn guifg=#fab387
|
||||||
|
highlight MarkviewBlockQuoteError guifg=#f38ba8
|
||||||
|
|
||||||
|
" Checkboxes - Catppuccin Mocha
|
||||||
|
highlight MarkviewCheckboxChecked guifg=#a6e3a1
|
||||||
|
highlight MarkviewCheckboxUnchecked guifg=#6c7086
|
||||||
|
highlight MarkviewCheckboxImportant guifg=#f38ba8 gui=bold
|
||||||
|
highlight MarkviewCheckboxPending guifg=#fab387
|
||||||
|
highlight MarkviewCheckboxProgress guifg=#89b4fa
|
||||||
|
|
||||||
|
" List items - Catppuccin Mocha
|
||||||
|
highlight MarkviewListItemMinus guifg=#89b4fa
|
||||||
|
highlight MarkviewListItemPlus guifg=#a6e3a1
|
||||||
|
highlight MarkviewListItemStar guifg=#cba6f7
|
||||||
|
|
||||||
|
" Tables - Catppuccin Mocha
|
||||||
|
highlight MarkviewTableHeader guifg=#cba6f7 gui=bold
|
||||||
|
highlight MarkviewTableBorder guifg=#6c7086
|
||||||
|
]])
|
||||||
|
|
||||||
|
-- Setup checkbox toggle extras
|
||||||
|
require("markview.extras.checkboxes").setup({
|
||||||
|
default = "X",
|
||||||
|
remove_markers = false,
|
||||||
|
exit = true,
|
||||||
|
default_marker = "-",
|
||||||
|
default_state = "X",
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Keymaps
|
||||||
|
vim.keymap.set("n", "<leader>mt", "<cmd>Markview toggle<cr>", { desc = "Toggle Markview" })
|
||||||
|
vim.keymap.set("n", "<leader>ch", "<cmd>Checkboxes toggle<cr>", { desc = "Toggle checkbox" })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,110 +1,53 @@
|
|||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"epwalsh/obsidian.nvim",
|
"epwalsh/obsidian.nvim",
|
||||||
version = "*",
|
version = "*",
|
||||||
lazy = true,
|
lazy = true,
|
||||||
ft = "markdown",
|
ft = "markdown",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
workspaces = {
|
workspaces = {
|
||||||
{
|
{
|
||||||
name = "nvim",
|
name = "personal",
|
||||||
path = "~/Documents/obsidian/vault", -- Change to your vault path
|
path = "~/Documents/obsidian",
|
||||||
},
|
},
|
||||||
-- {
|
},
|
||||||
-- name = "work",
|
|
||||||
-- path = "~/obsidian/work", -- Optional: add more vaults
|
|
||||||
-- },
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Daily notes
|
completion = {
|
||||||
daily_notes = {
|
nvim_cmp = true,
|
||||||
folder = "daily",
|
min_chars = 2,
|
||||||
date_format = "%Y-%m-%d",
|
},
|
||||||
template = nil,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Templates
|
mappings = {
|
||||||
templates = {
|
["<leader>ch"] = {
|
||||||
folder = "templates",
|
action = function()
|
||||||
date_format = "%Y-%m-%d",
|
return require("obsidian").util.toggle_checkbox()
|
||||||
time_format = "%H:%M",
|
end,
|
||||||
},
|
opts = { buffer = true, desc = "Toggle checkbox" },
|
||||||
|
},
|
||||||
|
["<cr>"] = {
|
||||||
|
action = function()
|
||||||
|
return require("obsidian").util.smart_action()
|
||||||
|
end,
|
||||||
|
opts = { buffer = true, expr = true },
|
||||||
|
},
|
||||||
|
["gf"] = {
|
||||||
|
action = function()
|
||||||
|
return require("obsidian").util.gf_passthrough()
|
||||||
|
end,
|
||||||
|
opts = { noremap = false, expr = true, buffer = true },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
-- Completion
|
note_id_func = function(title)
|
||||||
completion = {
|
return title
|
||||||
nvim_cmp = true,
|
end,
|
||||||
min_chars = 2,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Use note title as filename
|
ui = {
|
||||||
note_id_func = function(title)
|
enable = false, -- DISABLE Obsidian UI, use markview instead
|
||||||
if title ~= nil then
|
},
|
||||||
return title
|
},
|
||||||
else
|
},
|
||||||
return tostring(os.time())
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
|
|
||||||
-- Disable UI features if you don't want them
|
|
||||||
ui = {
|
|
||||||
enable = true, -- Set to false to disable and suppress warning
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Mappings (only active in markdown files)
|
|
||||||
mappings = {
|
|
||||||
-- Follow link under cursor
|
|
||||||
["gf"] = {
|
|
||||||
action = function()
|
|
||||||
return require("obsidian").util.gf_passthrough()
|
|
||||||
end,
|
|
||||||
opts = { noremap = false, expr = true, buffer = true },
|
|
||||||
},
|
|
||||||
-- Toggle checkbox
|
|
||||||
["<leader>ch"] = {
|
|
||||||
action = function()
|
|
||||||
return require("obsidian").util.toggle_checkbox()
|
|
||||||
end,
|
|
||||||
opts = { buffer = true },
|
|
||||||
},
|
|
||||||
-- Smart action (follow link or toggle checkbox)
|
|
||||||
["<cr>"] = {
|
|
||||||
action = function()
|
|
||||||
return require("obsidian").util.smart_action()
|
|
||||||
end,
|
|
||||||
opts = { buffer = true, expr = true },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
config = function(_, opts)
|
|
||||||
require("obsidian").setup(opts)
|
|
||||||
|
|
||||||
-- Set conceallevel for markdown files (for UI features)
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = "markdown",
|
|
||||||
callback = function()
|
|
||||||
vim.opt_local.conceallevel = 2
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
|
|
||||||
-- Global keymaps
|
|
||||||
keys = {
|
|
||||||
{ "<leader>on", "<cmd>ObsidianNew<cr>", desc = "New Obsidian note" },
|
|
||||||
{ "<leader>oo", "<cmd>ObsidianQuickSwitch<cr>", desc = "Quick switch notes" },
|
|
||||||
{ "<leader>os", "<cmd>ObsidianSearch<cr>", desc = "Search notes" },
|
|
||||||
{ "<leader>ot", "<cmd>ObsidianToday<cr>", desc = "Today's note" },
|
|
||||||
{ "<leader>oy", "<cmd>ObsidianYesterday<cr>", desc = "Yesterday's note" },
|
|
||||||
{ "<leader>ob", "<cmd>ObsidianBacklinks<cr>", desc = "Show backlinks" },
|
|
||||||
{ "<leader>og", "<cmd>ObsidianTags<cr>", desc = "Search tags" },
|
|
||||||
{ "<leader>ol", "<cmd>ObsidianLink<cr>", mode = "v", desc = "Link selection" },
|
|
||||||
{ "<leader>oL", "<cmd>ObsidianLinkNew<cr>", mode = "v", desc = "Link to new note" },
|
|
||||||
{ "<leader>of", "<cmd>ObsidianFollowLink<cr>", desc = "Follow link" },
|
|
||||||
{ "<leader>oT", "<cmd>ObsidianTemplate<cr>", desc = "Insert template" },
|
|
||||||
{ "<leader>op", "<cmd>ObsidianOpen<cr>", desc = "Open in Obsidian app" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,20 @@
|
|||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
build = ":TSUpdate",
|
build = ":TSUpdate",
|
||||||
config = function()
|
config = function()
|
||||||
local config = require("nvim-treesitter.configs")
|
local config = require("nvim-treesitter.configs")
|
||||||
config.setup({
|
config.setup({
|
||||||
auto_install = true,
|
ensure_installed = {
|
||||||
highlight = { enable = true },
|
"bash", -- For bash code blocks
|
||||||
indent = { enable = true },
|
"html", -- For HTML code blocks
|
||||||
})
|
"sql", -- For SQL code blocks
|
||||||
end,
|
"dockerfile", -- For Docker code blocks
|
||||||
},
|
},
|
||||||
|
auto_install = true,
|
||||||
|
highlight = { enable = true },
|
||||||
|
indent = { enable = true },
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,10 @@ vim.g.background = "light"
|
|||||||
vim.opt.swapfile = false
|
vim.opt.swapfile = false
|
||||||
|
|
||||||
-- Navigate vim panes better
|
-- Navigate vim panes better
|
||||||
vim.keymap.set('n', '<c-k>', ':wincmd k<CR>')
|
vim.keymap.set("n", "<c-k>", ":wincmd k<CR>")
|
||||||
vim.keymap.set('n', '<c-j>', ':wincmd j<CR>')
|
vim.keymap.set("n", "<c-j>", ":wincmd j<CR>")
|
||||||
vim.keymap.set('n', '<c-h>', ':wincmd h<CR>')
|
vim.keymap.set("n", "<c-h>", ":wincmd h<CR>")
|
||||||
vim.keymap.set('n', '<c-l>', ':wincmd l<CR>')
|
vim.keymap.set("n", "<c-l>", ":wincmd l<CR>")
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>h', ':nohlsearch<CR>')
|
vim.keymap.set("n", "<leader>h", ":nohlsearch<CR>")
|
||||||
vim.wo.number = true
|
vim.wo.number = true
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user