Skip to content

Commit 9c6d6b0

Browse files
committed
Add custom plugins
1 parent 64522f8 commit 9c6d6b0

File tree

7 files changed

+409
-11
lines changed

7 files changed

+409
-11
lines changed

.config/nvim/init.lua

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ vim.o.confirm = true
3838
-- [[ Basic Keymaps ]]
3939
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>")
4040
vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Open diagnostic quickfix list" })
41+
vim.keymap.set("n", "<leader>e", vim.diagnostic.open_float, { desc = "Show diagnostic" })
4142
vim.keymap.set("t", "<Esc><Esc>", "<C-\\><C-n>", { desc = "Exit terminal mode" })
4243

4344
-- Buffers
@@ -76,7 +77,10 @@ rtp:prepend(lazypath)
7677

7778
-- [[ Configure and install plugins ]]
7879
require("lazy").setup({
79-
"NMAC427/guess-indent.nvim", -- Detect tabstop and shiftwidth automatically
80+
{
81+
"NMAC427/guess-indent.nvim", -- Detect tabstop and shiftwidth automatically
82+
opts = {},
83+
},
8084
{ -- Useful plugin to show pending keybinds.
8185
"folke/which-key.nvim",
8286
event = "VimEnter", -- Sets the loading event to 'VimEnter'
@@ -254,7 +258,12 @@ require("lazy").setup({
254258
-- See :help vim.diagnostic.Opts
255259
vim.diagnostic.config({
256260
severity_sort = true,
257-
float = { border = "rounded", source = "if_many" },
261+
float = {
262+
border = "rounded",
263+
source = function(diag)
264+
return diag.source and ("[" .. diag.source .. "]") or nil
265+
end,
266+
},
258267
underline = { severity = vim.diagnostic.severity.ERROR },
259268
signs = vim.g.have_nerd_font and {
260269
text = {
@@ -265,16 +274,10 @@ require("lazy").setup({
265274
},
266275
} or {},
267276
virtual_text = {
268-
source = "if_many",
269277
spacing = 2,
270278
format = function(diagnostic)
271-
local diagnostic_message = {
272-
[vim.diagnostic.severity.ERROR] = diagnostic.message,
273-
[vim.diagnostic.severity.WARN] = diagnostic.message,
274-
[vim.diagnostic.severity.INFO] = diagnostic.message,
275-
[vim.diagnostic.severity.HINT] = diagnostic.message,
276-
}
277-
return diagnostic_message[diagnostic.severity]
279+
local source = diagnostic.source and ("[" .. diagnostic.source .. "] ") or ""
280+
return source .. diagnostic.message
278281
end,
279282
},
280283
})
@@ -572,7 +575,7 @@ require("lazy").setup({
572575
indent = { enable = true },
573576
},
574577
},
575-
-- { import = "plugins" },
578+
{ import = "plugins" },
576579
})
577580

578581
-- The line beneath this is called `modeline`. See `:help modeline`

.config/nvim/lazy-lock.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,31 @@
11
{
22
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
3+
"aerial.nvim": { "branch": "master", "commit": "5e687b5a14004fa2dd9eccbee042b96869fe1557" },
34
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
45
"conform.nvim": { "branch": "master", "commit": "fbcb4fa7f34bfea9be702ffff481a8e336ebf6ed" },
56
"fidget.nvim": { "branch": "main", "commit": "3f5475949679953af6d78654db29b944fa826e6a" },
7+
"git-conflict.nvim": { "branch": "main", "commit": "a1badcd070d176172940eb55d9d59029dad1c5a6" },
68
"gitsigns.nvim": { "branch": "main", "commit": "1ee5c1fd068c81f9dd06483e639c2aa4587dc197" },
79
"guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
810
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
911
"lazydev.nvim": { "branch": "main", "commit": "e28ce52fc7ff79fcb76f0e79ee6fb6182fca90b9" },
12+
"lspsaga.nvim": { "branch": "main", "commit": "8efe00d6aed9db6449969f889170f1a7e43101a1" },
1013
"lush.nvim": { "branch": "main", "commit": "9c60ec2279d62487d942ce095e49006af28eed6e" },
14+
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
1115
"mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" },
1216
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
1317
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
1418
"mini.nvim": { "branch": "main", "commit": "89eecd8b4c15f8de72dd4b5244534abed8dc086f" },
19+
"nvim-dap": { "branch": "master", "commit": "6782b097af2417a4c3e33849b0a26ae2188bd7ea" },
20+
"nvim-dap-python": { "branch": "master", "commit": "64652d1ae1db80870d9aac7132d76e37acd86a26" },
21+
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
22+
"nvim-lint": { "branch": "master", "commit": "9da1fb942dd0668d5182f9c8dee801b9c190e2bb" },
1523
"nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" },
24+
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
1625
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
1726
"nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" },
1827
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
28+
"render-markdown.nvim": { "branch": "main", "commit": "691651de4e02cbea9ff50c62d7d3a679abc95564" },
1929
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
2030
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
2131
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
return {
2+
-- Code outline and navigation
3+
{
4+
"stevearc/aerial.nvim",
5+
opts = {
6+
backends = { "treesitter", "lsp", "markdown", "man" },
7+
layout = {
8+
width = 30,
9+
default_direction = "right",
10+
placement = "window",
11+
},
12+
show_guides = true,
13+
filter_kind = false,
14+
15+
-- File type specific configurations
16+
markdown = {
17+
update_when = "insert_leave",
18+
},
19+
20+
-- Enable for specific file types
21+
attach_mode = "window",
22+
23+
-- Treesitter symbol kinds to show
24+
treesitter = {
25+
update_delay = 300,
26+
},
27+
},
28+
keys = {
29+
{ "<leader>o", "<cmd>AerialToggle<cr>", desc = "Toggle outline" },
30+
{ "<leader>O", "<cmd>AerialNavToggle<cr>", desc = "Outline navigation" },
31+
},
32+
config = function(_, opts)
33+
require("aerial").setup(opts)
34+
35+
-- Auto-open aerial for supported file types (optional)
36+
vim.api.nvim_create_autocmd("FileType", {
37+
pattern = { "markdown" },
38+
callback = function()
39+
require("aerial").open()
40+
end,
41+
})
42+
end,
43+
},
44+
}

.config/nvim/lua/plugins/git.lua

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
return {
2+
{
3+
"akinsho/git-conflict.nvim",
4+
config = function()
5+
require("git-conflict").setup({
6+
highlights = {
7+
incoming = "DiffText",
8+
current = "DiffAdd",
9+
},
10+
disable_diagnostics = true,
11+
})
12+
end,
13+
},
14+
{
15+
"lewis6991/gitsigns.nvim",
16+
event = { "BufReadPre", "BufNewFile" },
17+
opts = {
18+
signs = {
19+
add = { text = "+" },
20+
change = { text = "~" },
21+
delete = { text = "_" },
22+
topdelete = { text = "" },
23+
changedelete = { text = "~" },
24+
},
25+
current_line_blame = true,
26+
current_line_blame_opts = {
27+
delay = 300,
28+
virt_text_pos = "eol", -- eol/right_align
29+
},
30+
current_line_blame_formatter = " <author>, <author_time:%Y-%m-%d> - <summary>",
31+
},
32+
},
33+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
return {
2+
"nvimdev/lspsaga.nvim",
3+
event = "LspAttach",
4+
dependencies = {
5+
"nvim-tree/nvim-web-devicons",
6+
"nvim-treesitter/nvim-treesitter",
7+
},
8+
opts = {
9+
lightbulb = {
10+
enable = true,
11+
sign = true,
12+
virtual_text = false,
13+
},
14+
ui = {
15+
code_action = "",
16+
},
17+
},
18+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
return {
2+
3+
-- Treesitter extras
4+
{
5+
"nvim-treesitter/nvim-treesitter",
6+
opts = function(_, opts)
7+
opts.ensure_installed = opts.ensure_installed or {}
8+
vim.list_extend(opts.ensure_installed, { "markdown", "markdown_inline" })
9+
end,
10+
},
11+
12+
-- Markdown preview
13+
{
14+
"iamcco/markdown-preview.nvim",
15+
ft = "markdown",
16+
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
17+
build = function()
18+
require("lazy").load({ plugins = { "markdown-preview.nvim" } })
19+
vim.fn["mkdp#util#install"]()
20+
end,
21+
keys = {
22+
{
23+
"<leader>P",
24+
"<cmd>MarkdownPreviewToggle<cr>",
25+
desc = "Markdown Preview",
26+
},
27+
},
28+
config = function()
29+
vim.cmd([[do FileType]])
30+
end,
31+
},
32+
33+
{
34+
"MeanderingProgrammer/render-markdown.nvim",
35+
opts = {
36+
code = {
37+
sign = false,
38+
width = "block",
39+
right_pad = 1,
40+
},
41+
heading = {
42+
sign = false,
43+
icons = {},
44+
},
45+
checkbox = {
46+
enabled = false,
47+
},
48+
},
49+
ft = { "markdown", "norg", "rmd", "org", "codecompanion" },
50+
config = function(_, opts)
51+
require("render-markdown").setup(opts)
52+
53+
-- Toggle render-markdown
54+
vim.keymap.set("n", "<leader>p", function()
55+
local m = require("render-markdown")
56+
if require("render-markdown.state").enabled then
57+
m.disable()
58+
vim.notify("Render Markdown disabled")
59+
else
60+
m.enable()
61+
vim.notify("Render Markdown enabled")
62+
end
63+
end, { desc = "Toggle Render Markdown" })
64+
end,
65+
},
66+
}

0 commit comments

Comments
 (0)