cleanup
This commit is contained in:
parent
f70c9b31be
commit
3ba2901cd4
|
|
@ -0,0 +1,133 @@
|
||||||
|
-- Poimandres Storm (Neovim)
|
||||||
|
-- Based on Poimandres Storm by Oliver Cederborg
|
||||||
|
|
||||||
|
vim.cmd 'highlight clear'
|
||||||
|
if vim.fn.exists 'syntax_on' then
|
||||||
|
vim.cmd 'syntax reset'
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.o.termguicolors = true
|
||||||
|
vim.g.colors_name = 'poimandres-storm'
|
||||||
|
|
||||||
|
-- Expanded palette
|
||||||
|
local colors = {
|
||||||
|
-- Accents
|
||||||
|
yellow = '#FFFAC2',
|
||||||
|
|
||||||
|
teal1 = '#5DE4C7',
|
||||||
|
teal2 = '#5FB3A1',
|
||||||
|
teal3 = '#42675A',
|
||||||
|
|
||||||
|
blue1 = '#89DDFF',
|
||||||
|
blue2 = '#ADD7FF',
|
||||||
|
blue3 = '#91B4D5',
|
||||||
|
blue4 = '#7390AA',
|
||||||
|
|
||||||
|
pink1 = '#FAE4FC',
|
||||||
|
pink2 = '#FCC5E9',
|
||||||
|
pink3 = '#D0679D',
|
||||||
|
|
||||||
|
-- Neutrals
|
||||||
|
blueGray1 = '#A6ACCD',
|
||||||
|
blueGray2 = '#767C9D',
|
||||||
|
blueGray3 = '#506477',
|
||||||
|
|
||||||
|
-- Background layers
|
||||||
|
bg = '#252B37', -- main editor
|
||||||
|
bg_alt = '#1B1E28', -- floats / panels
|
||||||
|
bg_dark = '#171922', -- deepest contrast
|
||||||
|
|
||||||
|
-- Text
|
||||||
|
fg = '#E4F0FB',
|
||||||
|
white = '#FFFFFF',
|
||||||
|
|
||||||
|
none = 'NONE',
|
||||||
|
}
|
||||||
|
|
||||||
|
local function hi(group, opts)
|
||||||
|
vim.api.nvim_set_hl(0, group, opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- ======================
|
||||||
|
-- Core UI
|
||||||
|
-- ======================
|
||||||
|
hi('Normal', { fg = colors.fg, bg = colors.bg })
|
||||||
|
hi('NormalFloat', { fg = colors.fg, bg = colors.bg_alt })
|
||||||
|
hi('FloatBorder', { fg = colors.blueGray3, bg = colors.bg_alt })
|
||||||
|
|
||||||
|
hi('Cursor', { fg = colors.bg, bg = colors.blueGray1 })
|
||||||
|
hi('CursorLine', { bg = colors.bg_alt })
|
||||||
|
hi('CursorLineNr', { fg = colors.blue1, bold = true })
|
||||||
|
hi('LineNr', { fg = colors.blueGray3 })
|
||||||
|
|
||||||
|
hi('Visual', { bg = colors.blueGray3 })
|
||||||
|
hi('Search', { fg = colors.bg, bg = colors.yellow })
|
||||||
|
hi('IncSearch', { fg = colors.bg, bg = colors.pink2 })
|
||||||
|
|
||||||
|
hi('StatusLine', { fg = colors.fg, bg = colors.bg_alt })
|
||||||
|
hi('StatusLineNC', { fg = colors.blueGray2, bg = colors.bg_alt })
|
||||||
|
|
||||||
|
hi('WinSeparator', { fg = colors.bg_alt })
|
||||||
|
hi('VertSplit', { fg = colors.bg_alt })
|
||||||
|
|
||||||
|
-- ======================
|
||||||
|
-- Menus
|
||||||
|
-- ======================
|
||||||
|
hi('Pmenu', { fg = colors.fg, bg = colors.bg_alt })
|
||||||
|
hi('PmenuSel', { fg = colors.bg, bg = colors.blue1 })
|
||||||
|
hi('PmenuSbar', { bg = colors.bg_dark })
|
||||||
|
hi('PmenuThumb', { bg = colors.blueGray3 })
|
||||||
|
|
||||||
|
-- ======================
|
||||||
|
-- Syntax
|
||||||
|
-- ======================
|
||||||
|
hi('Comment', { fg = colors.blueGray3, italic = true })
|
||||||
|
|
||||||
|
hi('Constant', { fg = colors.pink2 })
|
||||||
|
hi('String', { fg = colors.teal1 })
|
||||||
|
hi('Character', { fg = colors.teal1 })
|
||||||
|
hi('Number', { fg = colors.pink2 })
|
||||||
|
hi('Boolean', { fg = colors.pink3 })
|
||||||
|
|
||||||
|
hi('Identifier', { fg = colors.blue1 })
|
||||||
|
hi('Function', { fg = colors.blue1 })
|
||||||
|
|
||||||
|
hi('Statement', { fg = colors.pink3 })
|
||||||
|
hi('Keyword', { fg = colors.pink3 })
|
||||||
|
hi('Conditional', { fg = colors.pink3 })
|
||||||
|
hi('Repeat', { fg = colors.pink3 })
|
||||||
|
hi('Exception', { fg = colors.pink3 })
|
||||||
|
|
||||||
|
hi('Type', { fg = colors.yellow })
|
||||||
|
hi('StorageClass', { fg = colors.yellow })
|
||||||
|
hi('Structure', { fg = colors.yellow })
|
||||||
|
|
||||||
|
hi('Operator', { fg = colors.teal2 })
|
||||||
|
hi('Delimiter', { fg = colors.blueGray2 })
|
||||||
|
|
||||||
|
-- ======================
|
||||||
|
-- Diagnostics (LSP)
|
||||||
|
-- ======================
|
||||||
|
hi('DiagnosticError', { fg = colors.pink3 })
|
||||||
|
hi('DiagnosticWarn', { fg = colors.yellow })
|
||||||
|
hi('DiagnosticInfo', { fg = colors.blue2 })
|
||||||
|
hi('DiagnosticHint', { fg = colors.teal2 })
|
||||||
|
|
||||||
|
hi('DiagnosticVirtualTextError', { fg = colors.pink3, bg = colors.bg_dark })
|
||||||
|
hi('DiagnosticVirtualTextWarn', { fg = colors.yellow, bg = colors.bg_dark })
|
||||||
|
hi('DiagnosticVirtualTextInfo', { fg = colors.blue2, bg = colors.bg_dark })
|
||||||
|
hi('DiagnosticVirtualTextHint', { fg = colors.teal2, bg = colors.bg_dark })
|
||||||
|
|
||||||
|
-- ======================
|
||||||
|
-- Git / Diff
|
||||||
|
-- ======================
|
||||||
|
hi('DiffAdd', { fg = colors.teal1 })
|
||||||
|
hi('DiffChange', { fg = colors.yellow })
|
||||||
|
hi('DiffDelete', { fg = colors.pink3 })
|
||||||
|
|
||||||
|
-- ======================
|
||||||
|
-- Tabs
|
||||||
|
-- ======================
|
||||||
|
hi('TabLine', { fg = colors.blueGray2, bg = colors.bg_alt })
|
||||||
|
hi('TabLineSel', { fg = colors.fg, bg = colors.bg_alt, bold = true })
|
||||||
|
hi('TabLineFill', { bg = colors.bg_alt })
|
||||||
5
init.lua
5
init.lua
|
|
@ -120,6 +120,8 @@ vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper win
|
||||||
|
|
||||||
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
||||||
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<C-->', '<C-o>')
|
||||||
-- [[ Basic Autocommands ]]
|
-- [[ Basic Autocommands ]]
|
||||||
-- See `:help lua-guide-autocommands`
|
-- See `:help lua-guide-autocommands`
|
||||||
|
|
||||||
|
|
@ -813,6 +815,7 @@ require('lazy').setup({
|
||||||
},
|
},
|
||||||
|
|
||||||
{ -- You can easily change to a different colorscheme.
|
{ -- You can easily change to a different colorscheme.
|
||||||
|
--
|
||||||
-- Change the name of the colorscheme plugin below, and then
|
-- Change the name of the colorscheme plugin below, and then
|
||||||
-- change the command in the config to whatever the name of that colorscheme is.
|
-- change the command in the config to whatever the name of that colorscheme is.
|
||||||
--
|
--
|
||||||
|
|
@ -846,7 +849,7 @@ require('lazy').setup({
|
||||||
-- - va) - [V]isually select [A]round [)]paren
|
-- - va) - [V]isually select [A]round [)]paren
|
||||||
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote
|
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote
|
||||||
-- - ci' - [C]hange [I]nside [']quote
|
-- - ci' - [C]hange [I]nside [']quote
|
||||||
require('mini.ai').setup { n_lines = 500 }
|
require('mini.ai').setup { n_lines = 1000 }
|
||||||
|
|
||||||
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
||||||
--
|
--
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
return {
|
||||||
|
'github/copilot.vim',
|
||||||
|
}
|
||||||
|
|
@ -12,7 +12,7 @@ return {
|
||||||
},
|
},
|
||||||
char = {
|
char = {
|
||||||
enabled = false,
|
enabled = false,
|
||||||
jump_labels = true,
|
jump_labels = false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
return {
|
|
||||||
'ThePrimeagen/harpoon',
|
|
||||||
branch = 'harpoon2',
|
|
||||||
dependencies = { 'nvim-lua/plenary.nvim' },
|
|
||||||
init = function()
|
|
||||||
local harpoon = require 'harpoon'
|
|
||||||
|
|
||||||
harpoon:setup()
|
|
||||||
vim.keymap.set('n', '<leader>a', function()
|
|
||||||
harpoon:list():add()
|
|
||||||
end)
|
|
||||||
vim.keymap.set('n', '<C-e>', function()
|
|
||||||
harpoon.ui:toggle_quick_menu(harpoon:list())
|
|
||||||
end)
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<C-f>', function()
|
|
||||||
harpoon:list():select(1)
|
|
||||||
end)
|
|
||||||
vim.keymap.set('n', '<C-g>', function()
|
|
||||||
harpoon:list():select(2)
|
|
||||||
end)
|
|
||||||
vim.keymap.set('n', '<C-h>', function()
|
|
||||||
harpoon:list():select(3)
|
|
||||||
end)
|
|
||||||
vim.keymap.set('n', '<C-t>', function()
|
|
||||||
harpoon:list():select(4)
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- Toggle previous & next buffers stored within Harpoon list
|
|
||||||
vim.keymap.set('n', '<C-S-P>', function()
|
|
||||||
harpoon:list():prev()
|
|
||||||
end)
|
|
||||||
vim.keymap.set('n', '<C-S-N>', function()
|
|
||||||
harpoon:list():next()
|
|
||||||
end)
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -25,7 +25,7 @@ return {
|
||||||
sections = {
|
sections = {
|
||||||
lualine_a = { 'mode' },
|
lualine_a = { 'mode' },
|
||||||
lualine_b = { 'branch', 'diff' },
|
lualine_b = { 'branch', 'diff' },
|
||||||
lualine_c = { 'local', 'filename' },
|
lualine_c = { 'filename' },
|
||||||
lualine_x = {},
|
lualine_x = {},
|
||||||
lualine_y = {},
|
lualine_y = {},
|
||||||
lualine_z = {},
|
lualine_z = {},
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
return {
|
|
||||||
'mg979/vim-visual-multi',
|
|
||||||
}
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
return {
|
|
||||||
'christoomey/vim-tmux-navigator',
|
|
||||||
cmd = {
|
|
||||||
'TmuxNavigateLeft',
|
|
||||||
'TmuxNavigateDown',
|
|
||||||
'TmuxNavigateUp',
|
|
||||||
'TmuxNavigateRight',
|
|
||||||
'TmuxNavigatePrevious',
|
|
||||||
'TmuxNavigatorProcessList',
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ '<c-h>', '<cmd><C-U>TmuxNavigateLeft<cr>' },
|
|
||||||
{ '<c-j>', '<cmd><C-U>TmuxNavigateDown<cr>' },
|
|
||||||
{ '<c-k>', '<cmd><C-U>TmuxNavigateUp<cr>' },
|
|
||||||
{ '<c-l>', '<cmd><C-U>TmuxNavigateRight<cr>' },
|
|
||||||
{ '<c-\\>', '<cmd><C-U>TmuxNavigatePrevious<cr>' },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
return {
|
|
||||||
'ThePrimeagen/vim-be-good',
|
|
||||||
}
|
|
||||||
|
|
@ -1,100 +0,0 @@
|
||||||
local terminals = {}
|
|
||||||
|
|
||||||
local function create_floating_window(opts)
|
|
||||||
local opts = opts or {}
|
|
||||||
|
|
||||||
-- Get editor dimensions
|
|
||||||
local width = vim.o.columns
|
|
||||||
local height = vim.o.lines
|
|
||||||
|
|
||||||
-- Default size (80% of editor width and centered)
|
|
||||||
local win_width = opts.width or math.ceil(width * 0.8)
|
|
||||||
local win_height = opts.height or math.ceil(height * 0.8)
|
|
||||||
|
|
||||||
-- Position (centered)
|
|
||||||
local row = math.ceil((height - win_height) / 2)
|
|
||||||
local col = math.ceil((width - win_width) / 2)
|
|
||||||
|
|
||||||
-- Create a new buffer
|
|
||||||
local buf = nil
|
|
||||||
if opts.buf and vim.api.nvim_buf_is_valid(opts.buf) then
|
|
||||||
buf = opts.buf
|
|
||||||
else
|
|
||||||
buf = vim.api.nvim_create_buf(false, true)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Set window options
|
|
||||||
local win_opts = {
|
|
||||||
title = 'Terminal ' .. opts.name,
|
|
||||||
relative = 'editor',
|
|
||||||
width = win_width,
|
|
||||||
height = win_height,
|
|
||||||
row = row,
|
|
||||||
col = col,
|
|
||||||
style = 'minimal',
|
|
||||||
border = 'rounded',
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Open the floating window
|
|
||||||
local win = vim.api.nvim_open_win(buf, true, win_opts)
|
|
||||||
|
|
||||||
return { buf = buf, win = win }
|
|
||||||
end
|
|
||||||
|
|
||||||
local function toggle_terminal(name)
|
|
||||||
if not name or name == '' then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Check if terminal exists for the given name
|
|
||||||
if terminals[name] and vim.api.nvim_buf_is_valid(terminals[name].buf) then
|
|
||||||
if vim.api.nvim_win_is_valid(terminals[name].win) then
|
|
||||||
-- If window exists, hide it
|
|
||||||
vim.api.nvim_win_hide(terminals[name].win)
|
|
||||||
return
|
|
||||||
else
|
|
||||||
-- Otherwise, reopen the floating terminal
|
|
||||||
terminals[name] = create_floating_window { buf = terminals[name].buf, name = name }
|
|
||||||
vim.cmd 'normal i'
|
|
||||||
return
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- If it doesn't exist, create a new floating terminal
|
|
||||||
terminals[name] = create_floating_window { name = name }
|
|
||||||
vim.cmd.terminal()
|
|
||||||
vim.cmd 'normal i'
|
|
||||||
end
|
|
||||||
|
|
||||||
local function list_active_terminals()
|
|
||||||
local terminal_names = {}
|
|
||||||
|
|
||||||
-- Collect names of active terminals
|
|
||||||
for name, _ in pairs(terminals) do
|
|
||||||
table.insert(terminal_names, name)
|
|
||||||
end
|
|
||||||
|
|
||||||
return terminal_names
|
|
||||||
end
|
|
||||||
|
|
||||||
local function list_terminals()
|
|
||||||
local terminal_names = list_active_terminals()
|
|
||||||
print(vim.inspect(terminal_names))
|
|
||||||
-- If there are active terminals, show them in a Telescope picker
|
|
||||||
if #terminal_names > 0 then
|
|
||||||
-- show picker with terminals
|
|
||||||
else
|
|
||||||
vim.notify('No active terminals found', vim.log.levels.INFO)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Map the keys
|
|
||||||
vim.keymap.set('n', '<space>t', function()
|
|
||||||
vim.ui.input({ prompt = 'Enter terminal name: ' }, function(input)
|
|
||||||
if input then
|
|
||||||
toggle_terminal(input)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end, { noremap = true, silent = true })
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<space>lt', list_terminals, { noremap = true, silent = true })
|
|
||||||
Loading…
Reference in New Issue