move and rename some files
This commit is contained in:
parent
e19ffebde9
commit
6f72a5fee2
4 changed files with 64 additions and 63 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
-- [[ Базовые настройки. Не плагины ]]
|
-- [[ Базовые настройки. Не плагины ]]
|
||||||
require 'kickstart.settings'
|
require 'kickstart.settings'
|
||||||
require 'custom.plugins.terminal'
|
require 'custom.terminal'
|
||||||
|
|
||||||
-- [[ Install `lazy.nvim` plugin manager ]]
|
-- [[ Install `lazy.nvim` plugin manager ]]
|
||||||
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
|
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
|
||||||
|
|
@ -77,7 +77,7 @@ require('lazy').setup({
|
||||||
require 'kickstart.plugins.autopairs',
|
require 'kickstart.plugins.autopairs',
|
||||||
|
|
||||||
-- Browse the file system
|
-- Browse the file system
|
||||||
require 'kickstart.plugins.neo-tree',
|
require 'kickstart.plugins.file-tree',
|
||||||
|
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
-- Установил руками под свои нужды --
|
-- Установил руками под свои нужды --
|
||||||
|
|
@ -89,6 +89,9 @@ require('lazy').setup({
|
||||||
-- Feature-Rich Go Plugin for Neovim
|
-- Feature-Rich Go Plugin for Neovim
|
||||||
require 'custom.plugins.golang',
|
require 'custom.plugins.golang',
|
||||||
|
|
||||||
|
-- Automated session manager
|
||||||
|
require 'custom.plugins.sessions',
|
||||||
|
|
||||||
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
|
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
|
||||||
-- This is the easiest way to modularize your config.
|
-- This is the easiest way to modularize your config.
|
||||||
--
|
--
|
||||||
|
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
||||||
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, {})
|
|
||||||
vim.keymap.set({ "n", "t" }, "<leader>tt", toggle_terminal, { desc = '[T]oggle [T]erminal' })
|
|
||||||
56
nvim/lua/custom/terminal.lua
Normal file
56
nvim/lua/custom/terminal.lua
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
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, {})
|
||||||
|
vim.keymap.set({ 'n', 't' }, '<leader>tt', toggle_terminal, { desc = '[T]oggle [T]erminal' })
|
||||||
|
|
@ -10,11 +10,11 @@ return {
|
||||||
'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended
|
'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended
|
||||||
'MunifTanjim/nui.nvim',
|
'MunifTanjim/nui.nvim',
|
||||||
{ -- Optional image support in preview window: See `# Preview Mode` for more information
|
{ -- Optional image support in preview window: See `# Preview Mode` for more information
|
||||||
"3rd/image.nvim",
|
'3rd/image.nvim',
|
||||||
build = false, -- so that it doesn't build the rock
|
build = false, -- so that it doesn't build the rock
|
||||||
opts = {
|
opts = {
|
||||||
backend = "ueberzug", -- or "kitty"
|
backend = 'ueberzug', -- or "kitty"
|
||||||
processor = "magick_cli", -- or "magick_rock"
|
processor = 'magick_cli', -- or "magick_rock"
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Loading…
Add table
Reference in a new issue