Added avante and toggleterm
This commit is contained in:
parent
790032eb3b
commit
e5bea444a9
21
init.lua
21
init.lua
|
@ -195,10 +195,10 @@ vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' }
|
||||||
-- Use CTRL+<hjkl> to switch between windows
|
-- Use CTRL+<hjkl> to switch between windows
|
||||||
--
|
--
|
||||||
-- See `:help wincmd` for a list of all window commands
|
-- See `:help wincmd` for a list of all window commands
|
||||||
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
|
vim.keymap.set('n', '<leader>wh', '<C-w><C-h>', { desc = 'Move focus to the left window' })
|
||||||
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
|
vim.keymap.set('n', '<leader>wl', '<C-w><C-l>', { desc = 'Move focus to the right window' })
|
||||||
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
vim.keymap.set('n', '<leader>wj', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
||||||
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
vim.keymap.set('n', '<leader>wk', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
||||||
|
|
||||||
-- [[ Basic Autocommands ]]
|
-- [[ Basic Autocommands ]]
|
||||||
-- See `:help lua-guide-autocommands`
|
-- See `:help lua-guide-autocommands`
|
||||||
|
@ -998,7 +998,18 @@ require('lazy').setup({
|
||||||
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
|
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
|
||||||
-- - sd' - [S]urround [D]elete [']quotes
|
-- - sd' - [S]urround [D]elete [']quotes
|
||||||
-- - sr)' - [S]urround [R]eplace [)] [']
|
-- - sr)' - [S]urround [R]eplace [)] [']
|
||||||
require('mini.surround').setup()
|
require('mini.surround').setup {
|
||||||
|
custom_surroundings = {
|
||||||
|
[')'] = { output = { left = '( ', right = ' )' } },
|
||||||
|
['('] = { output = { left = '(', right = ')' } },
|
||||||
|
['{'] = { output = { left = '{\n', right = '\n}' } },
|
||||||
|
['['] = { output = { left = '[', right = ']' } },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- // custom mini plugins
|
||||||
|
--
|
||||||
|
require('mini.starter').setup()
|
||||||
|
|
||||||
-- Simple and easy statusline.
|
-- Simple and easy statusline.
|
||||||
-- You could remove this setup call if you don't like it,
|
-- You could remove this setup call if you don't like it,
|
||||||
|
|
|
@ -7,8 +7,11 @@ vim.keymap.set('i', 'kj', '<Esc>', { desc = 'escape' })
|
||||||
vim.keymap.set('n', '<Tab>', '<Cmd>BufferLineCycleNext<CR>')
|
vim.keymap.set('n', '<Tab>', '<Cmd>BufferLineCycleNext<CR>')
|
||||||
vim.keymap.set('n', '<S-Tab>', '<Cmd>BufferLineCyclePrev<CR>')
|
vim.keymap.set('n', '<S-Tab>', '<Cmd>BufferLineCyclePrev<CR>')
|
||||||
|
|
||||||
|
vim.keymap.set('n', ',,', '<Cmd>ToggleTerm<CR>', { desc = 'Open terminal in horizontal split' })
|
||||||
|
vim.keymap.set('t', ',,', '<Cmd>ToggleTerm<CR>', { desc = 'Open terminal in horizontal split' })
|
||||||
|
|
||||||
-- Закрыть буфер
|
-- Закрыть буфер
|
||||||
vim.keymap.set('n', '<leader>bd', '<Cmd>Bdelete!<CR>')
|
vim.keymap.set('n', '<C-q>', '<Cmd>bdelete<CR>')
|
||||||
|
|
||||||
-- Переход к буферу по номеру (например, Alt+1, Alt+2...)
|
-- Переход к буферу по номеру (например, Alt+1, Alt+2...)
|
||||||
for i = 1, 9 do
|
for i = 1, 9 do
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
-- You can add your own plugins here or in other files in this directory!
|
|
||||||
-- I promise not to create any merge conflicts in this directory :)
|
|
||||||
--
|
--
|
||||||
-- See the kickstart.nvim README for more information
|
-- See the kickstart.nvim README for more information
|
||||||
return {
|
return {
|
||||||
|
@ -13,8 +11,10 @@ return {
|
||||||
{ '<leader>bP', '<Cmd>BufferLineGroupClose ungrouped<CR>', desc = 'Delete Non-Pinned Buffers' },
|
{ '<leader>bP', '<Cmd>BufferLineGroupClose ungrouped<CR>', desc = 'Delete Non-Pinned Buffers' },
|
||||||
{ '<leader>br', '<Cmd>BufferLineCloseRight<CR>', desc = 'Delete Buffers to the Right' },
|
{ '<leader>br', '<Cmd>BufferLineCloseRight<CR>', desc = 'Delete Buffers to the Right' },
|
||||||
{ '<leader>bl', '<Cmd>BufferLineCloseLeft<CR>', desc = 'Delete Buffers to the Left' },
|
{ '<leader>bl', '<Cmd>BufferLineCloseLeft<CR>', desc = 'Delete Buffers to the Left' },
|
||||||
{ '<S-h>', '<cmd>BufferLineCyclePrev<cr>', desc = 'Prev Buffer' },
|
{ '<S-j>', '<cmd>BufferLineCyclePrev<cr>', desc = 'Prev Buffer' },
|
||||||
{ '<S-l>', '<cmd>BufferLineCycleNext<cr>', desc = 'Next Buffer' },
|
{ '<S-k>', '<cmd>BufferLineCycleNext<cr>', desc = 'Next Buffer' },
|
||||||
|
{ '<S-C-j>', '<cmd>BufferLineMovePrev<cr>', desc = 'Move buffer prev' },
|
||||||
|
{ '<S-C-k>', '<cmd>BufferLineMoveNext<cr>', desc = 'Move buffer next' },
|
||||||
{ '[b', '<cmd>BufferLineCyclePrev<cr>', desc = 'Prev Buffer' },
|
{ '[b', '<cmd>BufferLineCyclePrev<cr>', desc = 'Prev Buffer' },
|
||||||
{ ']b', '<cmd>BufferLineCycleNext<cr>', desc = 'Next Buffer' },
|
{ ']b', '<cmd>BufferLineCycleNext<cr>', desc = 'Next Buffer' },
|
||||||
{ '[B', '<cmd>BufferLineMovePrev<cr>', desc = 'Move buffer prev' },
|
{ '[B', '<cmd>BufferLineMovePrev<cr>', desc = 'Move buffer prev' },
|
||||||
|
@ -23,15 +23,14 @@ return {
|
||||||
opts = {
|
opts = {
|
||||||
options = {
|
options = {
|
||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
close_command = function(n) Snacks.bufdelete(n) end,
|
-- // close_command = require('bufdelete').bufdelete,
|
||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
right_mouse_command = function(n) Snacks.bufdelete(n) end,
|
-- // right_mouse_command = require('bufdelete').bufdelete,
|
||||||
diagnostics = 'nvim_lsp',
|
diagnostics = 'nvim_lsp',
|
||||||
always_show_bufferline = false,
|
always_show_bufferline = false,
|
||||||
diagnostics_indicator = function(_, _, diag)
|
diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||||||
local icons = LazyVim.config.icons.diagnostics
|
local icon = level:match 'error' and ' ' or ' '
|
||||||
local ret = (diag.error and icons.Error .. diag.error .. ' ' or '') .. (diag.warning and icons.Warn .. diag.warning or '')
|
return ' ' .. icon .. count
|
||||||
return vim.trim(ret)
|
|
||||||
end,
|
end,
|
||||||
offsets = {
|
offsets = {
|
||||||
{
|
{
|
||||||
|
@ -61,9 +60,80 @@ return {
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'numToStr/Comment.nvim',
|
'mattn/emmet-vim',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'yetone/avante.nvim',
|
||||||
|
event = 'VeryLazy',
|
||||||
|
version = false, -- Never set this value to "*"! Never!
|
||||||
opts = {
|
opts = {
|
||||||
-- add any options here
|
provider = 'openrouter',
|
||||||
|
vendors = {
|
||||||
|
openai = {
|
||||||
|
endpoint = 'https://api.openai.com/v1',
|
||||||
|
model = 'gpt-4o', -- your desired model (or use gpt-4o, etc.)
|
||||||
|
timeout = 30000, -- Timeout in milliseconds, increase this for reasoning models
|
||||||
|
temperature = 0,
|
||||||
|
max_completion_tokens = 8192, -- Increase this to include reasoning tokens (for reasoning models)
|
||||||
|
--reasoning_effort = "medium", -- low|medium|high, only used for reasoning models
|
||||||
|
},
|
||||||
|
deepseek = {
|
||||||
|
__inherited_from = 'openai',
|
||||||
|
api_key_name = 'DEEPSEEK_API_KEY',
|
||||||
|
api_endpoint = 'https://api.deepseek.com',
|
||||||
|
model = 'deepseek-coder',
|
||||||
|
max_tokens = 200,
|
||||||
|
},
|
||||||
|
openrouter = {
|
||||||
|
__inherited_from = 'openai',
|
||||||
|
endpoint = 'https://openrouter.ai/api/v1',
|
||||||
|
api_key_name = 'OPENROUTER_API_KEY',
|
||||||
|
model = 'mistralai/mistral-7b-instruct:free',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
-- if you want to build from source then do `make BUILD_FROM_SOURCE=true`
|
||||||
|
build = 'make',
|
||||||
|
-- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows
|
||||||
|
dependencies = {
|
||||||
|
'nvim-treesitter/nvim-treesitter',
|
||||||
|
'stevearc/dressing.nvim',
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
'MunifTanjim/nui.nvim',
|
||||||
|
--- The below dependencies are optional,
|
||||||
|
'echasnovski/mini.pick', -- for file_selector provider mini.pick
|
||||||
|
'nvim-telescope/telescope.nvim', -- for file_selector provider telescope
|
||||||
|
'hrsh7th/nvim-cmp', -- autocompletion for avante commands and mentions
|
||||||
|
-- 'ibhagwan/fzf-lua', -- for file_selector provider fzf
|
||||||
|
-- 'nvim-tree/nvim-web-devicons', -- or echasnovski/mini.icons
|
||||||
|
'echasnovski/mini.icons', -- or echasnovski/mini.icons
|
||||||
|
-- 'zbirenbaum/copilot.lua', -- for providers='copilot'
|
||||||
|
-- {
|
||||||
|
-- -- support for image pasting
|
||||||
|
-- 'HakonHarnes/img-clip.nvim',
|
||||||
|
-- event = 'VeryLazy',
|
||||||
|
-- opts = {
|
||||||
|
-- -- recommended settings
|
||||||
|
-- default = {
|
||||||
|
-- embed_image_as_base64 = false,
|
||||||
|
-- prompt_for_file_name = false,
|
||||||
|
-- drag_and_drop = {
|
||||||
|
-- insert_mode = true,
|
||||||
|
-- },
|
||||||
|
-- -- required for Windows users
|
||||||
|
-- use_absolute_path = true,
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
{
|
||||||
|
-- Make sure to set this up properly if you have lazy=true
|
||||||
|
'MeanderingProgrammer/render-markdown.nvim',
|
||||||
|
opts = {
|
||||||
|
file_types = { 'markdown', 'Avante' },
|
||||||
|
},
|
||||||
|
ft = { 'markdown', 'Avante' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ 'akinsho/toggleterm.nvim', version = '*', opts = {} },
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,19 +11,44 @@ return {
|
||||||
},
|
},
|
||||||
cmd = 'Neotree',
|
cmd = 'Neotree',
|
||||||
keys = {
|
keys = {
|
||||||
{ '\\', ':Neotree reveal<CR>', desc = 'NeoTree reveal', silent = true },
|
{ '<leader>e', ':Neotree reveal<CR>', desc = 'NeoTree reveal', silent = true },
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
filesystem = {
|
filesystem = {
|
||||||
|
bind_to_cwd = true,
|
||||||
|
commands = {
|
||||||
|
avante_add_files = function(state)
|
||||||
|
local node = state.tree:get_node()
|
||||||
|
local filepath = node:get_id()
|
||||||
|
local relative_path = require('avante.utils').relative_path(filepath)
|
||||||
|
|
||||||
|
local sidebar = require('avante').get()
|
||||||
|
|
||||||
|
local open = sidebar:is_open()
|
||||||
|
-- ensure avante sidebar is open
|
||||||
|
if not open then
|
||||||
|
require('avante.api').ask()
|
||||||
|
sidebar = require('avante').get()
|
||||||
|
end
|
||||||
|
|
||||||
|
sidebar.file_selector:add_selected_file(relative_path)
|
||||||
|
|
||||||
|
-- remove neo tree buffer
|
||||||
|
if not open then
|
||||||
|
sidebar.file_selector:remove_selected_file 'neo-tree filesystem [1]'
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
window = {
|
window = {
|
||||||
mappings = {
|
mappings = {
|
||||||
['\\'] = 'close_window',
|
['<leader>e'] = 'close_window',
|
||||||
['<C-cr>'] = {
|
['<C-cr>'] = {
|
||||||
'open',
|
'open',
|
||||||
config = {
|
config = {
|
||||||
open_command = 'tabnew', -- Альтернативный вариант параметра
|
open_command = 'tabnew', -- Альтернативный вариант параметра
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
['oa'] = 'avante_add_files',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue