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-d>', '<C-d>zz')
|
||||
|
||||
vim.keymap.set('n', '<C-->', '<C-o>')
|
||||
-- [[ Basic Autocommands ]]
|
||||
-- See `:help lua-guide-autocommands`
|
||||
|
||||
|
|
@ -813,6 +815,7 @@ require('lazy').setup({
|
|||
},
|
||||
|
||||
{ -- You can easily change to a different colorscheme.
|
||||
--
|
||||
-- Change the name of the colorscheme plugin below, and then
|
||||
-- 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
|
||||
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote
|
||||
-- - 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.)
|
||||
--
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
'github/copilot.vim',
|
||||
}
|
||||
|
|
@ -12,7 +12,7 @@ return {
|
|||
},
|
||||
char = {
|
||||
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 = {
|
||||
lualine_a = { 'mode' },
|
||||
lualine_b = { 'branch', 'diff' },
|
||||
lualine_c = { 'local', 'filename' },
|
||||
lualine_c = { 'filename' },
|
||||
lualine_x = {},
|
||||
lualine_y = {},
|
||||
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