Compare commits
11 Commits
0ee6fb54cd
...
56d4b2d2b6
Author | SHA1 | Date |
---|---|---|
Sven Vogel | 56d4b2d2b6 | |
Sven Vogel | ca424f5fcf | |
Sven Vogel | 31e81ae7f2 | |
Sven Vogel | 3bc65870d6 | |
Sven Vogel | c0aee86f3e | |
Sven Vogel | b2c460a96e | |
Sven Vogel | e303faba2f | |
Sven Vogel | 1978654d7c | |
Sven Vogel | d7625104a6 | |
Sven Vogel | 0c0ce2e80a | |
Sven Vogel | 2fabd1255f |
|
@ -15,5 +15,24 @@ return {
|
||||||
warn = "",
|
warn = "",
|
||||||
hint = "",
|
hint = "",
|
||||||
info = ""
|
info = ""
|
||||||
}
|
},
|
||||||
|
comments = {
|
||||||
|
fix = '',
|
||||||
|
todo = '',
|
||||||
|
hack = '',
|
||||||
|
warn = '',
|
||||||
|
perf = '',
|
||||||
|
note = '',
|
||||||
|
test = '⏲'
|
||||||
|
},
|
||||||
|
folds = {
|
||||||
|
open = '',
|
||||||
|
closed = ''
|
||||||
|
},
|
||||||
|
folder = {
|
||||||
|
closed = '',
|
||||||
|
open = '',
|
||||||
|
empty = ''
|
||||||
|
},
|
||||||
|
file = ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
--
|
--
|
||||||
-- ==============================================
|
-- ==============================================
|
||||||
|
|
||||||
|
local icons = require'config.icons'
|
||||||
|
|
||||||
--
|
--
|
||||||
-- neovim global options
|
-- neovim global options
|
||||||
-- ..............................................
|
-- ..............................................
|
||||||
|
@ -31,6 +33,27 @@ opt.wrap = false
|
||||||
opt.smoothscroll = true
|
opt.smoothscroll = true
|
||||||
opt.swapfile = false -- disable swapfiles because they are fucking garbage
|
opt.swapfile = false -- disable swapfiles because they are fucking garbage
|
||||||
opt.smartindent = true
|
opt.smartindent = true
|
||||||
|
opt.confirm = true
|
||||||
|
opt.number = true
|
||||||
|
opt.foldcolumn = "1"
|
||||||
|
opt.foldlevel = 99
|
||||||
|
opt.foldlevelstart = 99
|
||||||
|
opt.foldenable = true
|
||||||
|
opt.fillchars = {
|
||||||
|
foldopen = icons.folds.open,
|
||||||
|
foldclose = icons.folds.closed,
|
||||||
|
fold = " ",
|
||||||
|
foldsep = " ",
|
||||||
|
diff = "╱",
|
||||||
|
eob = " ",
|
||||||
|
horiz = "─",
|
||||||
|
horizup = "─",
|
||||||
|
horizdown = "─",
|
||||||
|
vert = "▎",
|
||||||
|
vertleft = "▎",
|
||||||
|
vertright = "▎",
|
||||||
|
verthoriz = "▎",
|
||||||
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
-- VIM global options
|
-- VIM global options
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
--
|
||||||
|
-- Soothing pastel theme for Neovim.
|
||||||
|
--
|
||||||
|
-- Source: https://github.com/catppuccin/nvim
|
||||||
|
-- ..............................................
|
||||||
|
--
|
||||||
|
-- Author: Sven Vogel
|
||||||
|
-- Created: 24.11.2024
|
||||||
|
-- Edited: 24.11.2024
|
||||||
|
--
|
||||||
|
-- ==============================================
|
||||||
|
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"catppuccin/nvim",
|
||||||
|
name = "catppuccin",
|
||||||
|
priority = 1000,
|
||||||
|
config = function(opts)
|
||||||
|
|
||||||
|
require('catppuccin').setup(opts)
|
||||||
|
|
||||||
|
-- setup must be called before loading
|
||||||
|
vim.cmd.colorscheme "catppuccin"
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
|
@ -16,10 +16,38 @@ return {
|
||||||
main = "ibl",
|
main = "ibl",
|
||||||
---@module "ibl"
|
---@module "ibl"
|
||||||
---@type ibl.config
|
---@type ibl.config
|
||||||
opts = {
|
config = function(opts)
|
||||||
scope = {
|
local highlight = {
|
||||||
enabled = true
|
"RainbowRed",
|
||||||
|
"RainbowYellow",
|
||||||
|
"RainbowBlue",
|
||||||
|
"RainbowOrange",
|
||||||
|
"RainbowGreen",
|
||||||
|
"RainbowViolet",
|
||||||
|
"RainbowCyan",
|
||||||
}
|
}
|
||||||
}
|
local hooks = require "ibl.hooks"
|
||||||
|
-- create the highlight groups in the highlight setup hook, so they are reset
|
||||||
|
-- every time the colorscheme changes
|
||||||
|
hooks.register(hooks.type.HIGHLIGHT_SETUP, function()
|
||||||
|
vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" })
|
||||||
|
vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" })
|
||||||
|
vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" })
|
||||||
|
vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" })
|
||||||
|
vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" })
|
||||||
|
vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" })
|
||||||
|
vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" })
|
||||||
|
end)
|
||||||
|
|
||||||
|
vim.g.rainbow_delimiters = { highlight = highlight }
|
||||||
|
require("ibl").setup {
|
||||||
|
scope = {
|
||||||
|
enabled = true,
|
||||||
|
highlight = highlight
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hooks.register(hooks.type.SCOPE_HIGHLIGHT, hooks.builtin.scope_highlight_from_extmark)
|
||||||
|
end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
--
|
--
|
||||||
-- ==============================================
|
-- ==============================================
|
||||||
|
|
||||||
ui = require 'config.ui'
|
local ui = require 'config.ui'
|
||||||
|
local icons = require 'config.icons'
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
"nvim-neo-tree/neo-tree.nvim",
|
||||||
|
@ -20,48 +21,17 @@ return {
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
"nvim-tree/nvim-web-devicons",
|
"nvim-tree/nvim-web-devicons",
|
||||||
"MunifTanjim/nui.nvim",
|
"MunifTanjim/nui.nvim",
|
||||||
--
|
|
||||||
-- List language server diagnostics
|
|
||||||
--
|
|
||||||
-- Source: https://github.com/mrbjarksen/neo-tree-diagnostics.nvim
|
|
||||||
-- ..............................................
|
|
||||||
--
|
|
||||||
'mrbjarksen/neo-tree-diagnostics.nvim'
|
|
||||||
},
|
},
|
||||||
cmd = "Neotree",
|
cmd = "Neotree",
|
||||||
opts = {
|
opts = {
|
||||||
popup_border_style = ui.border,
|
popup_border_style = ui.border,
|
||||||
sources = {
|
|
||||||
"filesystem",
|
|
||||||
"document_symbols",
|
|
||||||
"git_status",
|
|
||||||
"diagnostics"
|
|
||||||
},
|
|
||||||
source_selector = {
|
|
||||||
winbar = true,
|
|
||||||
statusline = false,
|
|
||||||
sources = {
|
|
||||||
{
|
|
||||||
source = "filesystem",
|
|
||||||
display_name = " Files "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
source = "document_symbols",
|
|
||||||
display_name = " Symbols "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
source = "diagnostics",
|
|
||||||
display_name = " Diagnostics "
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
diagnostics = {
|
diagnostics = {
|
||||||
follow_current_file = { -- May also be set to `true` or `false`
|
follow_current_file = { -- May also be set to `true` or `false`
|
||||||
enabled = true, -- This will find and focus the file in the active buffer every time
|
enabled = true, -- This will find and focus the file in the active buffer every time
|
||||||
always_focus_file = false, -- Focus the followed file, even when focus is currently on a diagnostic item belonging to that file
|
always_focus_file = false, -- Focus the followed file, even when focus is currently on a diagnostic item belonging to that file
|
||||||
expand_followed = true, -- Ensure the node of the followed file is expanded
|
expand_followed = true, -- Ensure the node of the followed file is expanded
|
||||||
leave_dirs_open = true, -- `false` closes auto expanded dirs, such as with `:Neotree reveal`
|
leave_dirs_open = true, -- `false` closes auto expanded dirs, such as with `:Neotree reveal`
|
||||||
leave_files_open = true, -- `false` closes auto expanded files, such as with `:Neotree reveal`
|
leave_files_open = true, -- `false` closes auto expanded files, such as with `:Neotree reveal`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
filesystem = {
|
filesystem = {
|
||||||
|
@ -90,9 +60,15 @@ return {
|
||||||
indent_marker = "│",
|
indent_marker = "│",
|
||||||
last_indent_marker = "└",
|
last_indent_marker = "└",
|
||||||
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
|
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
|
||||||
expander_collapsed = "",
|
expander_collapsed = icons.folds.open,
|
||||||
expander_expanded = "",
|
expander_expanded = icons.folds.closed,
|
||||||
expander_highlight = "NeoTreeExpander",
|
expander_highlight = "NeoTreeExpander",
|
||||||
|
},
|
||||||
|
icon = {
|
||||||
|
folder_closed = icons.folder.closed,
|
||||||
|
folder_open = icons.folder.open,
|
||||||
|
folder_empty = icons.folder.empty,
|
||||||
|
default = icons.file
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@ return {
|
||||||
source = "if_many",
|
source = "if_many",
|
||||||
-- this will set set the prefix to a function that returns the diagnostics icon based on the severity
|
-- this will set set the prefix to a function that returns the diagnostics icon based on the severity
|
||||||
-- this only works on a recent 0.10.0 build. Will be set to "●" when not supported
|
-- this only works on a recent 0.10.0 build. Will be set to "●" when not supported
|
||||||
prefix = "icons"
|
prefix = "●"
|
||||||
},
|
},
|
||||||
signs = {
|
signs = {
|
||||||
text = {
|
text = {
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
--
|
||||||
|
-- High performance and modern folds.
|
||||||
|
--
|
||||||
|
-- Source: https://github.com/kevinhwang91/nvim-ufo
|
||||||
|
-- ..............................................
|
||||||
|
--
|
||||||
|
-- Author: Sven Vogel
|
||||||
|
-- Created: 20.11.2024
|
||||||
|
-- Edited: 20.11.2024
|
||||||
|
--
|
||||||
|
-- ==============================================
|
||||||
|
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"kevinhwang91/nvim-ufo",
|
||||||
|
event = {
|
||||||
|
"LspAttach",
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
"kevinhwang91/promise-async",
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
-- register treesitter as source for scopes
|
||||||
|
provider_selector = function(_, _, _)
|
||||||
|
return { "treesitter", "indent" }
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
--
|
||||||
|
-- Neovim plugin to animate the cursor with a smear effect in all terminals.
|
||||||
|
--
|
||||||
|
-- Source: https://github.com/sphamba/smear-cursor.nvim
|
||||||
|
-- ..............................................
|
||||||
|
--
|
||||||
|
-- Author: Sven Vogel
|
||||||
|
-- Created: 09.12.2024
|
||||||
|
-- Edited: 09.12.2024
|
||||||
|
--
|
||||||
|
-- ==============================================
|
||||||
|
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"sphamba/smear-cursor.nvim",
|
||||||
|
opts = {
|
||||||
|
stiffness = 0.7, -- 0.6 [0, 1]
|
||||||
|
trailing_stiffness = 0.4, -- 0.3 [0, 1]
|
||||||
|
distance_stop_animating = 0.4, -- 0.1 > 0
|
||||||
|
hide_target_hack = true, -- true boolean
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,52 @@
|
||||||
|
--
|
||||||
|
-- Status column with click handlers
|
||||||
|
--
|
||||||
|
-- Source: https://github.com/luukvbaal/statuscol.nvim
|
||||||
|
-- ..............................................
|
||||||
|
--
|
||||||
|
-- Author: Sven Vogel
|
||||||
|
-- Created: 07.11.2024
|
||||||
|
-- Edited: 07.11.2024
|
||||||
|
--
|
||||||
|
-- ==============================================
|
||||||
|
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'luukvbaal/statuscol.nvim',
|
||||||
|
lazy = true,
|
||||||
|
event = {
|
||||||
|
"BufEnter",
|
||||||
|
"LspAttach"
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local builtin = require("statuscol.builtin")
|
||||||
|
require("statuscol").setup({
|
||||||
|
setopt = true,
|
||||||
|
ft_ignore = {
|
||||||
|
"neo-tree"
|
||||||
|
},
|
||||||
|
segments = {
|
||||||
|
{
|
||||||
|
sign = { namespace = { "diagnostic/signs" }, maxwidth = 2, auto = true },
|
||||||
|
click = "v:lua.ScSa"
|
||||||
|
},
|
||||||
|
-- line numbers
|
||||||
|
{
|
||||||
|
text = { builtin.lnumfunc, " " },
|
||||||
|
click = "v:lua.ScLa",
|
||||||
|
},
|
||||||
|
-- folds
|
||||||
|
{
|
||||||
|
text = { builtin.foldfunc },
|
||||||
|
click = "v:lua.ScFa"
|
||||||
|
},
|
||||||
|
-- git signs
|
||||||
|
{
|
||||||
|
sign = { namespace = { "gitsigns" } },
|
||||||
|
click = "v:lua.ScSa"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue