This commit is contained in:
Zacharias-Brohn
2025-12-10 22:46:54 +01:00
parent ead16ef172
commit 3d0d89284f
11 changed files with 351 additions and 95 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
"trailingComma": "es5",
"tabWidth": 4,
"semi": false,
"singleQuote": true,
"singleQuote": false,
"overrides": [
{
"files": ".prettierrc",
+2
View File
@@ -39,3 +39,5 @@ vim.filetype.add {
[".*/uwsm/env.*"] = "zsh",
},
}
vim.cmd "colorscheme monokai-pro-octagon"
+118
View File
@@ -0,0 +1,118 @@
local opts = {
close_if_last_window = true, -- Close Neo-tree if it is the last window left in the tab
popup_border_style = Util.ui.borderchars("thick", "tl-t-tr-r-br-b-bl-l"),
sources = {
"filesystem",
"buffers",
"git_status",
"diagnostics",
-- "document_symbols",
},
source_selector = {
winbar = true, -- toggle to show selector on winbar
content_layout = "center",
tabs_layout = "equal",
show_separator_on_edge = true,
sources = {
{ source = "filesystem", display_name = "󰉓" },
{ source = "buffers", display_name = "󰈙" },
{ source = "git_status", display_name = "" },
-- { source = "document_symbols", display_name = "o" },
{ source = "diagnostics", display_name = "󰒡" },
},
},
default_component_configs = {
indent = {
indent_size = 2,
padding = 1, -- extra padding on left hand side
-- indent guides
with_markers = true,
indent_marker = "",
last_indent_marker = "",
-- expander config, needed for nesting files
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
expander_collapsed = "",
expander_expanded = "",
expander_highlight = "NeoTreeExpander",
},
icon = {
folder_closed = "",
folder_open = "",
folder_empty = "",
folder_empty_open = "",
-- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there
-- then these will never be used.
default = "",
},
modified = { symbol = "" },
git_status = { symbols = Icon.git },
diagnostics = { symbols = Icon.diagnostics },
},
window = {
width = 40,
mappings = {
["<1-LeftMouse>"] = "open",
["l"] = "open",
["<space>"] = "none",
["P"] = { "toggle_preview", config = { use_float = false } },
},
},
filesystem = {
window = {
mappings = {
["H"] = "navigate_up",
["<bs>"] = "toggle_hidden",
["."] = "set_root",
["/"] = "fuzzy_finder",
["f"] = "filter_on_submit",
["<c-x>"] = "clear_filter",
["a"] = { "add", config = { show_path = "relative" } }, -- "none", "relative", "absolute"
},
},
filtered_items = {
hide_dotfiles = false,
hide_gitignored = false,
},
follow_current_file = {
enabled = true,
}, -- This will find and focus the file in the active buffer every
-- time the current file is changed while the tree is open.
group_empty_dirs = true, -- when true, empty folders will be grouped together
},
async_directory_scan = "always",
}
opts.filesystem.components =
require "config.features.neo-tree.sources.filesystem.components"
local function hideCursor()
vim.cmd [[
setlocal guicursor=n:block-Cursor
setlocal foldcolumn=0
hi Cursor blend=100
]]
end
local function showCursor()
vim.cmd [[
setlocal guicursor=n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20
hi Cursor blend=0
]]
end
local neotree_group = Util.augroup "neo-tree_hide_cursor"
vim.api.nvim_create_autocmd({ "WinEnter", "BufEnter", "InsertEnter" }, {
group = neotree_group,
callback = function()
local action = vim.bo.filetype == "neo-tree" and hideCursor
or showCursor
action()
end,
})
vim.api.nvim_create_autocmd({ "WinLeave", "BufLeave", "InsertEnter" }, {
group = neotree_group,
callback = function()
showCursor()
end,
})
return opts
@@ -0,0 +1,86 @@
local M = {}
function M.name(config, node, state)
local common = require "neo-tree.sources.common.components"
local highlights = require "neo-tree.ui.highlights"
local highlight = config.highlight or highlights.FILE_NAME
local text = node.name
if node.type == "directory" then
highlight = highlights.DIRECTORY_NAME
if config.trailing_slash and text ~= "/" then
text = text .. "/"
end
end
if node:get_depth() == 1 and node.type ~= "message" then
highlight = highlights.ROOT_NAME
text = vim.fn.fnamemodify(text, ":p:h:t")
text = string.upper(text)
else
local filtered_by = common.filtered_by(config, node, state)
highlight = filtered_by.highlight or highlight
if config.use_git_status_colors then
local git_status = state.components.git_status({}, node, state)
if git_status and git_status.highlight then
highlight = git_status.highlight
end
end
end
if type(config.right_padding) == "number" then
if config.right_padding > 0 then
text = text .. string.rep(" ", config.right_padding)
end
else
text = text .. " "
end
return {
text = text,
highlight = highlight,
}
end
function M.icon(config, node, state)
local common = require "neo-tree.sources.common.components"
local highlights = require "neo-tree.ui.highlights"
local icon = config.default or " "
local highlight = config.highlight or highlights.FILE_ICON
if node.type == "directory" then
highlight = highlights.DIRECTORY_ICON
if node.loaded and not node:has_children() then
icon = not node.empty_expanded and config.folder_empty
or config.folder_empty_open
elseif node:is_expanded() then
icon = config.folder_open or "-"
else
icon = config.folder_closed or "+"
end
elseif node.type == "file" or node.type == "terminal" then
local success, web_devicons = pcall(require, "nvim-web-devicons")
if success then
local devicon, hl = web_devicons.get_icon(node.name, node.ext)
icon = devicon or icon
highlight = hl or highlight
end
end
local filtered_by = common.filtered_by(config, node, state)
-- Don't render icon in root folder
if node:get_depth() == 1 then
return {
text = nil,
highlight = highlight,
}
end
return {
text = icon .. " ",
highlight = filtered_by.highlight or highlight,
}
end
return M
+44
View File
@@ -0,0 +1,44 @@
local palettes = {}
require("github-theme").setup {
options = {
compile_path = vim.fn.stdpath "cache" .. "/github-theme",
compile_file_suffix = "_compiled",
hide_end_of_buffer = true,
hide_nc_statusline = true,
transparent = false,
terminal_colors = true,
dim_inactive = false,
module_default = true,
styles = {
comments = "italic",
functions = "NONE",
keywords = "NONE",
variables = "NONE",
conditionals = "NONE",
constants = "NONE",
numbers = "NONE",
operators = "NONE",
strings = "NONE",
types = "NONE",
},
inverse = {
match_paren = false,
visual = false,
search = false,
},
darken = {
floats = true,
sidebars = {
enable = true,
list = {},
},
},
modules = {},
},
palettes = {},
specs = {},
groups = {},
}
vim.cmd "colorscheme github_dark"
+4 -60
View File
@@ -92,67 +92,7 @@ require("mason-lspconfig").setup {
},
}
-- cmp.setup {
-- preselect = 'None',
-- formatting = {
-- fields = { 'kind', 'abbr' },
-- format = function(entry, vim_item)
-- vim_item.kind = cmp_kinds[vim_item.kind] or ''
-- if entry.completion_item.detail then
-- vim_item.menu = entry.completion_item.detail
-- end
-- return vim_item
-- end,
-- },
-- completion = { completeopt = "menu,menuone" },
-- snippet = {
-- expand = function(args)
-- require("luasnip").lsp_expand(args.body)
-- end,
-- },
--
-- mapping = {
-- ["<C-p>"] = cmp.mapping.select_prev_item(),
-- ["<C-n>"] = cmp.mapping.select_next_item(),
-- ["<C-d>"] = cmp.mapping.scroll_docs(-4),
-- ["<C-f>"] = cmp.mapping.scroll_docs(4),
-- ["<C-Space>"] = cmp.mapping.complete(),
-- ["<C-e>"] = cmp.mapping.close(),
-- ["<CR>"] = cmp.mapping.confirm {
-- behavior = cmp.ConfirmBehavior.Insert,
-- select = true,
-- },
-- ["<Tab>"] = cmp.mapping(function(fallback)
-- if cmp.visible() then
-- cmp.select_next_item()
-- elseif require("luasnip").expand_or_jumpable() then
-- require("luasnip").expand_or_jump()
-- else
-- fallback()
-- end
-- end, { "i", "s" }),
-- ["<S-Tab>"] = cmp.mapping(function(fallback)
-- if cmp.visible() then
-- cmp.select_prev_item()
-- elseif require("luasnip").jumpable(-1) then
-- require("luasnip").jump(-1)
-- else
-- fallback()
-- end
-- end, { "i", "s" }),
-- },
--
-- sources = cmp.config.sources({
-- { name = "path" },
-- { name = "nvim_lsp" },
-- { name = "luasnip" },
-- { name = "buffer" },
-- { name = "nvim_lua" },
-- }),
-- }
vim.diagnostic.config {
-- update_in_insert = true,
virtual_text = false,
virtual_lines = false,
signs = true,
@@ -264,6 +204,10 @@ local flat_servers = flatten_to_array(servers)
for _, server in ipairs(flat_servers) do
lspconfig(server, {
on_attach = function(client, bufnr)
if client.name == "typos_lsp" then
return
end
require("workspace-diagnostics").populate_workspace_diagnostics(
client,
bufnr
+6
View File
@@ -0,0 +1,6 @@
-- local colors = require("monokai-pro.octagon.colors").setup()
require("scrollbar").setup {
handle = {},
marks = {},
}
+55 -14
View File
@@ -10,10 +10,25 @@ map("v", "<C-Up>", ":m '<-2<CR>gv=gv", { desc = "Move selected text up" })
map("v", "<C-Down>", ":m '>+1<CR>gv=gv", { desc = "Move selected text down" })
-- Alt + Arrow Key to change buffer
map("n", "<A-Left>", "<cmd>KittyNavigateLeft<CR>", { desc = "Move to left split" })
map("n", "<A-Down>", "<cmd>KittyNavigateDown<CR>", { desc = "Move to bottom split" })
map(
"n",
"<A-Left>",
"<cmd>KittyNavigateLeft<CR>",
{ desc = "Move to left split" }
)
map(
"n",
"<A-Down>",
"<cmd>KittyNavigateDown<CR>",
{ desc = "Move to bottom split" }
)
map("n", "<A-Up>", "<cmd>KittyNavigateUp<CR>", { desc = "Move to top split" })
map("n", "<A-Right>", "<cmd>KittyNavigateRight<CR>", { desc = "Move to right split" })
map(
"n",
"<A-Right>",
"<cmd>KittyNavigateRight<CR>",
{ desc = "Move to right split" }
)
-- Copilot Chat buffer
map("n", "<A-c>", vim.cmd.CopilotChatToggle)
@@ -21,12 +36,29 @@ map("i", "<A-c>", vim.cmd.CopilotChatToggle)
map("v", "<A-c>", vim.cmd.CopilotChatToggle)
-- Explorer and Undotree
map('n', '<leader>e', function() Snacks.explorer() end)
map('n', '<leader>u', require('undotree').toggle, { noremap = true, silent = true })
map("n", "<leader>e", function()
Snacks.explorer()
end)
map(
"n",
"<leader>u",
require("undotree").toggle,
{ noremap = true, silent = true }
)
-- Telescope grep
map("n", "<leader>g", require("telescope.builtin").live_grep, {desc = "Telescope grep" })
map("n", "<leader>f", require("telescope.builtin").find_files, {desc = "Telescope find files" })
map(
"n",
"<leader>g",
require("telescope.builtin").live_grep,
{ desc = "Telescope grep" }
)
map(
"n",
"<leader>f",
require("telescope.builtin").find_files,
{ desc = "Telescope find files" }
)
map("n", "<A-->", ":bdelete<CR>")
-- map("n", "<SA-->", ":BufferRestore<CR>")
@@ -47,26 +79,35 @@ map("x", "<leader>p", [["_dP]])
map({ "n", "v" }, "<leader>y", [["+y]])
map("n", "<leader>Y", [["+Y]])
map({"n", "v"}, "<leader>d", "\"_d")
map({ "n", "v" }, "<leader>d", '"_d')
-- This is going to get me cancelled
map("i", "<C-c>", "<Esc>")
map("n", "<leader>mr", "<cmd>CellularAutomaton make_it_rain<CR>");
map("n", "<leader>mr", "<cmd>CellularAutomaton make_it_rain<CR>")
map("n", "<leader><leader>", function()
vim.cmd("so")
vim.cmd "so"
end)
map("n", "<A-v>", "<cmd>ChatGPT<CR>")
map("n", "<leader>fm", "<cmd>TailwindConcealToggle<CR>", { desc = "Toggle Tailwind Conceal" })
map(
"n",
"<leader>fm",
"<cmd>TailwindConcealToggle<CR>",
{ desc = "Toggle Tailwind Conceal" }
)
-- Terminal
map("n", "<C-q>", function() Snacks.terminal.toggle() end, { desc = "Toggle Terminal" })
map("n", "<C-q>", function()
Snacks.terminal.toggle()
end, { desc = "Toggle Terminal" })
-- Gitbrowse
map("n", "<leader>gb", function() Snacks.gitbrowse.open() end )
map("n", "<leader>gb", function()
Snacks.gitbrowse.open()
end)
-- Actions Previewer
map({ "n", "v" }, "<leader>ap", require("actions-preview").code_actions)
@@ -74,5 +115,5 @@ map({"n", "v"}, "<leader>ap", require("actions-preview").code_actions)
map("n", "K", require("pretty_hover").hover)
-- winbar
local dbar_api = require("dropbar.api")
local dbar_api = require "dropbar.api"
map("n", "<leader>b", dbar_api.pick)
+16 -3
View File
@@ -3,7 +3,7 @@ return {
"olimorris/onedarkpro.nvim",
priority = 1000,
config = function()
require("config.themelight")
require "config.themelight"
end,
},
{
@@ -12,7 +12,7 @@ return {
{
"loctvl842/monokai-pro.nvim",
config = function()
require("config.monokaipro")
require "config.monokaipro"
end,
},
{
@@ -42,5 +42,18 @@ return {
"projekt0n/github-nvim-theme",
lazy = false,
priority = 1000,
}
config = function()
require "config.githubtheme"
end,
},
{
"alexmozaidze/palenight.nvim",
},
{
"Yazeed1s/minimal.nvim",
init = function()
vim.g.minimal_italic_comments = true
vim.g.minimal_italic_keywords = true
end,
},
}
+6
View File
@@ -290,4 +290,10 @@ return {
)
end,
},
{
"petertriho/nvim-scrollbar",
config = function()
require "config.scrollbar"
end,
},
}
-4
View File
@@ -8,7 +8,3 @@ let g:neoformat_enabled_lua = ['stylua']
let g:neoformat_enabled_rust = ['rustfmt']
let g:neoformat_enabled_cpp = ['uncrustify']
let g:neoformat_enabled_markdown = ['prettier']
let g:neoformat_basic_format_align = 1
let g:neoformat_basic_format_retab = 1
let g:neoformat_basic_format_trim = 1