Fix some folder structures to follow neovim lua guide; added indent line plugin and a custom floating terminal util
This commit is contained in:
parent
cf87d4b1a2
commit
45020f8504
|
|
@ -10,6 +10,7 @@
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "d0f90ef51d4be86b824b012ec52ed715b5622e51" },
|
"gitsigns.nvim": { "branch": "main", "commit": "d0f90ef51d4be86b824b012ec52ed715b5622e51" },
|
||||||
"guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
|
"guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
|
||||||
"harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" },
|
"harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" },
|
||||||
|
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
return {
|
||||||
|
'lukas-reineke/indent-blankline.nvim',
|
||||||
|
main = 'ibl',
|
||||||
|
---@module "ibl"
|
||||||
|
---@type ibl.config
|
||||||
|
opts = {},
|
||||||
|
}
|
||||||
|
|
@ -37,6 +37,7 @@ return {
|
||||||
require('mini.bufremove').setup()
|
require('mini.bufremove').setup()
|
||||||
require('mini.jump').setup()
|
require('mini.jump').setup()
|
||||||
require('mini.jump2d').setup()
|
require('mini.jump2d').setup()
|
||||||
|
require('mini.pairs').setup()
|
||||||
|
|
||||||
-- ... and there is more!
|
-- ... and there is more!
|
||||||
-- Check out: https://github.com/echasnovski/mini.nvim
|
-- Check out: https://github.com/echasnovski/mini.nvim
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,7 @@ require('lazy').setup({
|
||||||
require 'custom/plugins/lualine',
|
require 'custom/plugins/lualine',
|
||||||
require 'custom/plugins/noice',
|
require 'custom/plugins/noice',
|
||||||
require 'custom/plugins/theme',
|
require 'custom/plugins/theme',
|
||||||
|
require 'custom/plugins/indent-blankline',
|
||||||
--
|
--
|
||||||
-- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec`
|
-- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec`
|
||||||
-- Or use telescope!
|
-- Or use telescope!
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
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.height or math.floor(vim.o.lines * 0.8)
|
||||||
|
|
||||||
|
-- Calculate the position to center the window
|
||||||
|
local col = math.floor((vim.o.columns - width) / 2)
|
||||||
|
local row = math.floor((vim.o.lines - height) / 2)
|
||||||
|
|
||||||
|
-- Create a buffer
|
||||||
|
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) -- No file, scratch buffer
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Define window configuration
|
||||||
|
local win_config = {
|
||||||
|
relative = 'editor',
|
||||||
|
width = width,
|
||||||
|
height = height,
|
||||||
|
col = col,
|
||||||
|
row = row,
|
||||||
|
style = 'minimal', -- No borders or extra UI elements
|
||||||
|
border = 'rounded',
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Create the floating window
|
||||||
|
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
|
||||||
|
|
||||||
|
-- Example usage:
|
||||||
|
-- Create a floating window with default dimensions
|
||||||
|
vim.api.nvim_create_user_command('Floaterminal', toggle_terminal, {})
|
||||||
Loading…
Reference in New Issue