added floating terminal and snacks
parent
1f8a7a4eda
commit
4b43e2f49e
Binary file not shown.
@ -1,43 +0,0 @@
|
||||
return { 'atelierbram/Base4Tone-nvim' }
|
||||
|
||||
-- vim.cmd("colorscheme base4tone_classic_a_dark")
|
||||
-- or any of the other themes:
|
||||
-- vim.cmd("colorscheme base4tone_classic_b_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_c_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_d_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_e_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_f_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_i_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_l_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_o_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_p_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_q_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_r_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_s_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_t_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_u_dark")
|
||||
-- vim.cmd("colorscheme base4tone_classic_w_dark")
|
||||
-- vim.cmd("colorscheme base4tone_modern_c_dark")
|
||||
-- vim.cmd("colorscheme base4tone_modern_n_dark")
|
||||
-- vim.cmd("colorscheme base4tone_modern_w_dark")
|
||||
|
||||
-- light
|
||||
-- vim.cmd("colorscheme base4tone_classic_a_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_b_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_c_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_d_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_e_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_f_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_i_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_l_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_o_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_p_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_q_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_r_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_s_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_t_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_u_light")
|
||||
-- vim.cmd("colorscheme base4tone_classic_w_light")
|
||||
-- vim.cmd("colorscheme base4tone_modern_c_light")
|
||||
-- vim.cmd("colorscheme base4tone_modern_n_light")
|
||||
-- vim.cmd("colorscheme Base4Tone_Modern_w_light")
|
@ -0,0 +1,16 @@
|
||||
return {
|
||||
'saghen/blink.cmp',
|
||||
dependencies = 'rafamadriz/friendly-snippets',
|
||||
version = 'v0.*',
|
||||
|
||||
opts = {
|
||||
keymap = { preset = 'default' },
|
||||
|
||||
appearance = {
|
||||
use_nvim_cmp_as_default = true,
|
||||
nerd_font_variant = 'mono',
|
||||
},
|
||||
|
||||
signature = { enabled = true },
|
||||
},
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
vim.keymap.set('t', '<esc><esc>', '<c-\\><c-n>')
|
||||
local state = {
|
||||
floating = {
|
||||
buf = -1,
|
||||
win = -1,
|
||||
},
|
||||
}
|
||||
|
||||
local function create_floating_window(opts)
|
||||
opts = opts or {}
|
||||
local width = opts.width or math.floor(vim.o.columns * 0.8)
|
||||
local height = opts.heighh or math.floor(vim.o.lines * 0.8)
|
||||
|
||||
local col = math.floor((vim.o.columns - width) / 2)
|
||||
local row = math.floor((vim.o.lines - height) / 2)
|
||||
|
||||
local buf = nil
|
||||
if vim.api.nvim_buf_is_valid(opts.buf) then
|
||||
buf = opts.buf
|
||||
else
|
||||
buf = vim.api.nvim_create_buf(false, true)
|
||||
end
|
||||
|
||||
local win_config = {
|
||||
relative = 'editor',
|
||||
width = width,
|
||||
height = height,
|
||||
col = col,
|
||||
row = row,
|
||||
style = 'minimal',
|
||||
border = 'rounded',
|
||||
}
|
||||
|
||||
local win = vim.api.nvim_open_win(buf, true, win_config)
|
||||
return { buf = buf, win = win }
|
||||
end
|
||||
|
||||
local toggle_terminal = function()
|
||||
if not vim.api.nvim_win_is_valid(state.floating.win) then
|
||||
state.floating = create_floating_window { buf = state.floating.buf }
|
||||
if vim.bo[state.floating.buf].buftype ~= 'terminal' then
|
||||
vim.cmd.terminal()
|
||||
end
|
||||
else
|
||||
vim.api.nvim_win_hide(state.floating.win)
|
||||
end
|
||||
end
|
||||
|
||||
vim.api.nvim_create_user_command('Floaterminal', toggle_terminal, {})
|
||||
vim.keymap.set({ 'n', 't' }, '<space>tt', toggle_terminal)
|
@ -0,0 +1,14 @@
|
||||
-- ~/.config/nvim/lua/custom/plugins/plugins.lua
|
||||
|
||||
return {
|
||||
-- Custom Lualine configuration
|
||||
{
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' }, -- Ensure icons are available
|
||||
config = function()
|
||||
require 'custom.config.lualine_config' -- Path to your custom Lualine config
|
||||
end,
|
||||
event = 'VeryLazy', -- Lazy load Lualine
|
||||
priority = 1000, -- Ensure it loads before other plugins that might depend on it
|
||||
},
|
||||
}
|
@ -1,3 +1,104 @@
|
||||
-- ~/.config/nvim/lua/plugins.lua
|
||||
|
||||
return {
|
||||
-- ... other plugins ...
|
||||
|
||||
-- {
|
||||
'marko-cerovac/material.nvim',
|
||||
-- opts = {
|
||||
-- contrast = {
|
||||
-- terminal = false,
|
||||
-- sidebars = false,
|
||||
-- floating_windows = false,
|
||||
-- cursor_line = false,
|
||||
-- lsp_virtual_text = false,
|
||||
-- non_current_windows = false,
|
||||
-- filetypes = {},
|
||||
-- },
|
||||
--
|
||||
-- styles = {
|
||||
--
|
||||
-- comments = { italic = false }, -- Ensure no italics are set here
|
||||
-- strings = { italic = false }, -- Ensure no italics are set here
|
||||
-- keywords = { italic = false }, -- Ensure no italics are set here
|
||||
-- functions = { italic = false }, -- Ensure no italics are set here
|
||||
-- variables = { italic = false },
|
||||
-- operators = { italic = false },
|
||||
-- types = { italic = false },
|
||||
-- },
|
||||
--
|
||||
-- plugins = {
|
||||
-- -- Available plugins:
|
||||
-- -- "coc",
|
||||
-- -- "colorful-winsep",
|
||||
-- -- "dap",
|
||||
-- -- "dashboard",
|
||||
-- -- "eyeliner",
|
||||
-- -- "fidget",
|
||||
-- -- "flash",
|
||||
-- 'gitsigns',
|
||||
-- -- "harpoon",
|
||||
-- -- "hop",
|
||||
-- -- "illuminate",
|
||||
-- 'indent-blankline',
|
||||
-- -- "lspsaga",
|
||||
-- -- "mini",
|
||||
-- -- "neogit",
|
||||
-- -- "neotest",
|
||||
-- 'neo-tree',
|
||||
-- -- "neorg",
|
||||
-- -- "noice",
|
||||
-- -- "nvim-cmp",
|
||||
-- -- "nvim-navic",
|
||||
-- 'nvim-tree',
|
||||
-- -- "nvim-web-devicons",
|
||||
-- 'rainbow-delimiters',
|
||||
-- -- "sneak",
|
||||
-- 'telescope',
|
||||
-- -- "trouble",
|
||||
-- 'which-key',
|
||||
-- 'nvim-notify',
|
||||
-- },
|
||||
--
|
||||
-- disable = {
|
||||
-- colored_cursor = false,
|
||||
-- borders = false,
|
||||
-- background = false,
|
||||
-- term_colors = false,
|
||||
-- eob_lines = false,
|
||||
-- },
|
||||
--
|
||||
-- high_visibility = {
|
||||
-- lighter = false,
|
||||
-- darker = false,
|
||||
-- },
|
||||
--
|
||||
-- lualine_style = 'default',
|
||||
--
|
||||
-- async_loading = true,
|
||||
--
|
||||
-- custom_colors = nil,
|
||||
--
|
||||
-- custom_highlights = {
|
||||
-- -- Explicitly disable italics for common highlight groups
|
||||
-- Comment = { italic = false },
|
||||
-- String = { italic = false },
|
||||
-- Keyword = { italic = false },
|
||||
-- Function = { italic = false },
|
||||
-- Type = { italic = false },
|
||||
-- Identifier = { italic = false },
|
||||
-- -- Treesitter groups
|
||||
-- TSKeyword = { italic = false },
|
||||
-- TSKeywordFunction = { italic = false },
|
||||
-- TSKeywordOperator = { italic = false },
|
||||
-- -- Add more groups as necessary
|
||||
-- },
|
||||
-- },
|
||||
-- config = function(_, opts)
|
||||
-- require('material').setup(opts)
|
||||
-- vim.cmd 'colorscheme material-palenight'
|
||||
-- end,
|
||||
-- priority = 1000,
|
||||
-- },
|
||||
}
|
||||
-- ... other plugins ...
|
||||
|
@ -1 +0,0 @@
|
||||
return { 'HiPhish/rainbow-delimiters.nvim' }
|
@ -0,0 +1 @@
|
||||
return { 'austinliuigi/smoke.nvim' }
|
@ -0,0 +1,195 @@
|
||||
return {
|
||||
'folke/snacks.nvim',
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
---@type snacks.Config
|
||||
opts = {
|
||||
bigfile = { enabled = true },
|
||||
dashboard = { enabled = true },
|
||||
indent = { enabled = true },
|
||||
input = { enabled = true },
|
||||
notifier = {
|
||||
enabled = true,
|
||||
timeout = 3000,
|
||||
},
|
||||
quickfile = { enabled = true },
|
||||
scroll = { enabled = true },
|
||||
statuscolumn = { enabled = true },
|
||||
words = { enabled = true },
|
||||
styles = {
|
||||
notification = {
|
||||
-- wo = { wrap = true } -- Wrap notifications
|
||||
},
|
||||
},
|
||||
lazygit = {},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
'<leader>z',
|
||||
function()
|
||||
Snacks.zen()
|
||||
end,
|
||||
desc = 'Toggle Zen Mode',
|
||||
},
|
||||
{
|
||||
'<leader>Z',
|
||||
function()
|
||||
Snacks.zen.zoom()
|
||||
end,
|
||||
desc = 'Toggle Zoom',
|
||||
},
|
||||
{
|
||||
'<leader>.',
|
||||
function()
|
||||
Snacks.scratch()
|
||||
end,
|
||||
desc = 'Toggle Scratch Buffer',
|
||||
},
|
||||
{
|
||||
'<leader>S',
|
||||
function()
|
||||
Snacks.scratch.select()
|
||||
end,
|
||||
desc = 'Select Scratch Buffer',
|
||||
},
|
||||
{
|
||||
'<leader>n',
|
||||
function()
|
||||
Snacks.notifier.show_history()
|
||||
end,
|
||||
desc = 'Notification History',
|
||||
},
|
||||
{
|
||||
'<leader>bd',
|
||||
function()
|
||||
Snacks.bufdelete()
|
||||
end,
|
||||
desc = 'Delete Buffer',
|
||||
},
|
||||
{
|
||||
'<leader>cR',
|
||||
function()
|
||||
Snacks.rename.rename_file()
|
||||
end,
|
||||
desc = 'Rename File',
|
||||
},
|
||||
{
|
||||
'<leader>gB',
|
||||
function()
|
||||
Snacks.gitbrowse()
|
||||
end,
|
||||
desc = 'Git Browse',
|
||||
},
|
||||
{
|
||||
'<leader>gb',
|
||||
function()
|
||||
Snacks.git.blame_line()
|
||||
end,
|
||||
desc = 'Git Blame Line',
|
||||
},
|
||||
{
|
||||
'<leader>gf',
|
||||
function()
|
||||
Snacks.lazygit.log_file()
|
||||
end,
|
||||
desc = 'Lazygit Current File History',
|
||||
},
|
||||
{
|
||||
'<leader>gg',
|
||||
function()
|
||||
Snacks.lazygit()
|
||||
end,
|
||||
desc = 'Lazygit',
|
||||
},
|
||||
{
|
||||
'<leader>gl',
|
||||
function()
|
||||
Snacks.lazygit.log()
|
||||
end,
|
||||
desc = 'Lazygit Log (cwd)',
|
||||
},
|
||||
{
|
||||
'<leader>un',
|
||||
function()
|
||||
Snacks.notifier.hide()
|
||||
end,
|
||||
desc = 'Dismiss All Notifications',
|
||||
},
|
||||
{
|
||||
'<c-/>',
|
||||
function()
|
||||
Snacks.terminal()
|
||||
end,
|
||||
desc = 'Toggle Terminal',
|
||||
},
|
||||
{
|
||||
'<c-_>',
|
||||
function()
|
||||
Snacks.terminal()
|
||||
end,
|
||||
desc = 'which_key_ignore',
|
||||
},
|
||||
{
|
||||
']]',
|
||||
function()
|
||||
Snacks.words.jump(vim.v.count1)
|
||||
end,
|
||||
desc = 'Next Reference',
|
||||
mode = { 'n', 't' },
|
||||
},
|
||||
{
|
||||
'[[',
|
||||
function()
|
||||
Snacks.words.jump(-vim.v.count1)
|
||||
end,
|
||||
desc = 'Prev Reference',
|
||||
mode = { 'n', 't' },
|
||||
},
|
||||
{
|
||||
'<leader>N',
|
||||
desc = 'Neovim News',
|
||||
function()
|
||||
Snacks.win {
|
||||
file = vim.api.nvim_get_runtime_file('doc/news.txt', false)[1],
|
||||
width = 0.6,
|
||||
height = 0.6,
|
||||
wo = {
|
||||
spell = false,
|
||||
wrap = false,
|
||||
signcolumn = 'yes',
|
||||
statuscolumn = ' ',
|
||||
conceallevel = 3,
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
},
|
||||
init = function()
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
pattern = 'VeryLazy',
|
||||
callback = function()
|
||||
-- Setup some globals for debugging (lazy-loaded)
|
||||
_G.dd = function(...)
|
||||
Snacks.debug.inspect(...)
|
||||
end
|
||||
_G.bt = function()
|
||||
Snacks.debug.backtrace()
|
||||
end
|
||||
vim.print = _G.dd -- Override print to use snacks for `:=` command
|
||||
|
||||
-- Create some toggle mappings
|
||||
Snacks.toggle.option('spell', { name = 'Spelling' }):map '<leader>us'
|
||||
Snacks.toggle.option('wrap', { name = 'Wrap' }):map '<leader>uw'
|
||||
Snacks.toggle.option('relativenumber', { name = 'Relative Number' }):map '<leader>uL'
|
||||
Snacks.toggle.diagnostics():map '<leader>ud'
|
||||
Snacks.toggle.line_number():map '<leader>ul'
|
||||
Snacks.toggle.option('conceallevel', { off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2 }):map '<leader>uc'
|
||||
Snacks.toggle.treesitter():map '<leader>uT'
|
||||
Snacks.toggle.option('background', { off = 'light', on = 'dark', name = 'Dark Background' }):map '<leader>ub'
|
||||
Snacks.toggle.inlay_hints():map '<leader>uh'
|
||||
Snacks.toggle.indent():map '<leader>ug'
|
||||
Snacks.toggle.dim():map '<leader>uD'
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
@ -1,9 +1,17 @@
|
||||
return {
|
||||
{ -- Add indentation guides even on blank lines
|
||||
'lukas-reineke/indent-blankline.nvim',
|
||||
-- Enable `lukas-reineke/indent-blankline.nvim`
|
||||
-- See `:help ibl`
|
||||
main = 'ibl',
|
||||
opts = {},
|
||||
-- Add indentation guides even on blank lines
|
||||
'lukas-reineke/indent-blankline.nvim',
|
||||
-- Enable `lukas-reineke/indent-blankline.nvim`
|
||||
-- See `:help ibl`
|
||||
main = 'ibl',
|
||||
---@module "ibl"
|
||||
---@type ibl.config
|
||||
opts = {
|
||||
-- debounce = 100,
|
||||
indent = {
|
||||
char = { '│' },
|
||||
},
|
||||
whitespace = { highlight = { 'Whitespace', 'NonText' } },
|
||||
enabled = true,
|
||||
},
|
||||
}
|
||||
|
Loading…
Reference in New Issue