mirror of
https://github.com/nvim-lua/kickstart.nvim.git
synced 2025-06-23 13:48:35 +02:00
feat: add my plugins
This commit is contained in:
parent
d350db2449
commit
41e7418c01
8 changed files with 1072 additions and 897 deletions
25
lua/custom/plugins/buffline.lua
Normal file
25
lua/custom/plugins/buffline.lua
Normal file
|
@ -0,0 +1,25 @@
|
|||
return {
|
||||
"akinsho/bufferline.nvim",
|
||||
version = "*",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
init = function()
|
||||
vim.opt.termguicolors = true
|
||||
require("bufferline").setup({
|
||||
options = {
|
||||
diagnostics = "nvim_lsp",
|
||||
diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||||
local s = " "
|
||||
for e, n in pairs(diagnostics_dict) do
|
||||
local sym = e == "error" and " " or (e == "warning" and " " or " ")
|
||||
s = s .. n .. sym
|
||||
end
|
||||
return s
|
||||
end,
|
||||
},
|
||||
--buffline stuff
|
||||
vim.keymap.set("n", "<D-'>", "<CMD>BufferLineCycleNext<CR>", { desc = "Next tab" }),
|
||||
vim.keymap.set("n", "<D-;>", "<CMD>BufferLineCyclePrev<CR>", { desc = "Prev tab" }),
|
||||
vim.keymap.set("n", "<D-k>", "<CMD>bd<CR>", { desc = "[K]ill tab" }),
|
||||
})
|
||||
end,
|
||||
}
|
15
lua/custom/plugins/go-nvim.lua
Normal file
15
lua/custom/plugins/go-nvim.lua
Normal file
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
"ray-x/go.nvim",
|
||||
dependencies = { -- optional packages
|
||||
"ray-x/guihua.lua",
|
||||
"neovim/nvim-lspconfig",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
config = function()
|
||||
require("go").setup()
|
||||
end,
|
||||
event = { "CmdlineEnter" },
|
||||
ft = { "go", "gomod" },
|
||||
build = ':lua require("go.install").update_all_sync()', -- if you need to install/update all binaries
|
||||
-- GoGenerate - генерация моков
|
||||
}
|
15
lua/custom/plugins/indent.lua
Normal file
15
lua/custom/plugins/indent.lua
Normal file
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
event = { "BufReadPost", "BufNewFile" },
|
||||
main = "ibl",
|
||||
opts = {
|
||||
indent = {
|
||||
char = "│",
|
||||
tab_char = "│",
|
||||
},
|
||||
scope = {
|
||||
show_start = false,
|
||||
show_end = false,
|
||||
},
|
||||
},
|
||||
}
|
48
lua/custom/plugins/minimap.lua
Normal file
48
lua/custom/plugins/minimap.lua
Normal file
|
@ -0,0 +1,48 @@
|
|||
---@module "neominimap.config.meta"
|
||||
return {
|
||||
"Isrothy/neominimap.nvim",
|
||||
version = "v3.x.x",
|
||||
lazy = false, -- NOTE: NO NEED to Lazy load
|
||||
-- Optional. You can alse set your own keybindings
|
||||
keys = {
|
||||
-- Global Minimap Controls
|
||||
{ "<leader>nm", "<cmd>Neominimap toggle<cr>", desc = "Toggle global minimap" },
|
||||
{ "<leader>no", "<cmd>Neominimap on<cr>", desc = "Enable global minimap" },
|
||||
{ "<leader>nc", "<cmd>Neominimap off<cr>", desc = "Disable global minimap" },
|
||||
{ "<leader>nr", "<cmd>Neominimap refresh<cr>", desc = "Refresh global minimap" },
|
||||
|
||||
-- Window-Specific Minimap Controls
|
||||
{ "<leader>nwt", "<cmd>Neominimap winToggle<cr>", desc = "Toggle minimap for current window" },
|
||||
{ "<leader>nwr", "<cmd>Neominimap winRefresh<cr>", desc = "Refresh minimap for current window" },
|
||||
{ "<leader>nwo", "<cmd>Neominimap winOn<cr>", desc = "Enable minimap for current window" },
|
||||
{ "<leader>nwc", "<cmd>Neominimap winOff<cr>", desc = "Disable minimap for current window" },
|
||||
|
||||
-- Tab-Specific Minimap Controls
|
||||
{ "<leader>ntt", "<cmd>Neominimap tabToggle<cr>", desc = "Toggle minimap for current tab" },
|
||||
{ "<leader>ntr", "<cmd>Neominimap tabRefresh<cr>", desc = "Refresh minimap for current tab" },
|
||||
{ "<leader>nto", "<cmd>Neominimap tabOn<cr>", desc = "Enable minimap for current tab" },
|
||||
{ "<leader>ntc", "<cmd>Neominimap tabOff<cr>", desc = "Disable minimap for current tab" },
|
||||
|
||||
-- Buffer-Specific Minimap Controls
|
||||
{ "<leader>nbt", "<cmd>Neominimap bufToggle<cr>", desc = "Toggle minimap for current buffer" },
|
||||
{ "<leader>nbr", "<cmd>Neominimap bufRefresh<cr>", desc = "Refresh minimap for current buffer" },
|
||||
{ "<leader>nbo", "<cmd>Neominimap bufOn<cr>", desc = "Enable minimap for current buffer" },
|
||||
{ "<leader>nbc", "<cmd>Neominimap bufOff<cr>", desc = "Disable minimap for current buffer" },
|
||||
|
||||
---Focus Controls
|
||||
{ "<leader>nf", "<cmd>Neominimap focus<cr>", desc = "Focus on minimap" },
|
||||
{ "<leader>nu", "<cmd>Neominimap unfocus<cr>", desc = "Unfocus minimap" },
|
||||
{ "<leader>ns", "<cmd>Neominimap toggleFocus<cr>", desc = "Switch focus on minimap" },
|
||||
},
|
||||
init = function()
|
||||
-- The following options are recommended when layout == "float"
|
||||
vim.opt.wrap = false
|
||||
vim.opt.sidescrolloff = 36 -- Set a large value
|
||||
|
||||
--- Put your configuration here
|
||||
---@type Neominimap.UserConfig
|
||||
vim.g.neominimap = {
|
||||
auto_enable = true,
|
||||
}
|
||||
end,
|
||||
}
|
15
lua/custom/plugins/supaline.lua
Normal file
15
lua/custom/plugins/supaline.lua
Normal file
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
sections = {
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = { "branch" },
|
||||
lualine_c = { "filename" },
|
||||
lualine_x = { "ddiff", "diagnostics" },
|
||||
lualine_y = { "progress" },
|
||||
lualine_z = { "location" },
|
||||
},
|
||||
},
|
||||
}
|
|
@ -6,47 +6,47 @@
|
|||
--]]
|
||||
|
||||
local check_version = function()
|
||||
local verstr = tostring(vim.version())
|
||||
if not vim.version.ge then
|
||||
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
||||
return
|
||||
end
|
||||
local verstr = tostring(vim.version())
|
||||
if not vim.version.ge then
|
||||
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
||||
return
|
||||
end
|
||||
|
||||
if vim.version.ge(vim.version(), '0.10-dev') then
|
||||
vim.health.ok(string.format("Neovim version is: '%s'", verstr))
|
||||
else
|
||||
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
||||
end
|
||||
if vim.version.ge(vim.version(), "0.10-dev") then
|
||||
vim.health.ok(string.format("Neovim version is: '%s'", verstr))
|
||||
else
|
||||
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
||||
end
|
||||
end
|
||||
|
||||
local check_external_reqs = function()
|
||||
-- Basic utils: `git`, `make`, `unzip`
|
||||
for _, exe in ipairs { 'git', 'make', 'unzip', 'rg' } do
|
||||
local is_executable = vim.fn.executable(exe) == 1
|
||||
if is_executable then
|
||||
vim.health.ok(string.format("Found executable: '%s'", exe))
|
||||
else
|
||||
vim.health.warn(string.format("Could not find executable: '%s'", exe))
|
||||
end
|
||||
end
|
||||
-- Basic utils: `git`, `make`, `unzip`
|
||||
for _, exe in ipairs({ "git", "make", "unzip", "rg" }) do
|
||||
local is_executable = vim.fn.executable(exe) == 1
|
||||
if is_executable then
|
||||
vim.health.ok(string.format("Found executable: '%s'", exe))
|
||||
else
|
||||
vim.health.warn(string.format("Could not find executable: '%s'", exe))
|
||||
end
|
||||
end
|
||||
|
||||
return true
|
||||
return true
|
||||
end
|
||||
|
||||
return {
|
||||
check = function()
|
||||
vim.health.start 'kickstart.nvim'
|
||||
check = function()
|
||||
vim.health.start("kickstart.nvim")
|
||||
|
||||
vim.health.info [[NOTE: Not every warning is a 'must-fix' in `:checkhealth`
|
||||
vim.health.info([[NOTE: Not every warning is a 'must-fix' in `:checkhealth`
|
||||
|
||||
Fix only warnings for plugins and languages you intend to use.
|
||||
Mason will give warnings for languages that are not installed.
|
||||
You do not need to install, unless you want to use those languages!]]
|
||||
You do not need to install, unless you want to use those languages!]])
|
||||
|
||||
local uv = vim.uv or vim.loop
|
||||
vim.health.info('System Information: ' .. vim.inspect(uv.os_uname()))
|
||||
local uv = vim.uv or vim.loop
|
||||
vim.health.info("System Information: " .. vim.inspect(uv.os_uname()))
|
||||
|
||||
check_version()
|
||||
check_external_reqs()
|
||||
end,
|
||||
check_version()
|
||||
check_external_reqs()
|
||||
end,
|
||||
}
|
||||
|
|
|
@ -7,142 +7,164 @@
|
|||
-- kickstart.nvim and not kitchen-sink.nvim ;)
|
||||
|
||||
return {
|
||||
-- NOTE: Yes, you can install new plugins here!
|
||||
'mfussenegger/nvim-dap',
|
||||
-- NOTE: And you can specify dependencies as well
|
||||
dependencies = {
|
||||
-- Creates a beautiful debugger UI
|
||||
'rcarriga/nvim-dap-ui',
|
||||
"mfussenegger/nvim-dap",
|
||||
dependencies = {
|
||||
-- Creates a beautiful debugger UI
|
||||
"rcarriga/nvim-dap-ui",
|
||||
|
||||
-- Required dependency for nvim-dap-ui
|
||||
'nvim-neotest/nvim-nio',
|
||||
-- Required dependency for nvim-dap-ui
|
||||
"nvim-neotest/nvim-nio",
|
||||
|
||||
-- Installs the debug adapters for you
|
||||
'williamboman/mason.nvim',
|
||||
'jay-babu/mason-nvim-dap.nvim',
|
||||
-- Installs the debug adapters for you
|
||||
"williamboman/mason.nvim",
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
|
||||
-- Add your own debuggers here
|
||||
'leoluz/nvim-dap-go',
|
||||
},
|
||||
keys = {
|
||||
-- Basic debugging keymaps, feel free to change to your liking!
|
||||
{
|
||||
'<F5>',
|
||||
function()
|
||||
require('dap').continue()
|
||||
end,
|
||||
desc = 'Debug: Start/Continue',
|
||||
},
|
||||
{
|
||||
'<F1>',
|
||||
function()
|
||||
require('dap').step_into()
|
||||
end,
|
||||
desc = 'Debug: Step Into',
|
||||
},
|
||||
{
|
||||
'<F2>',
|
||||
function()
|
||||
require('dap').step_over()
|
||||
end,
|
||||
desc = 'Debug: Step Over',
|
||||
},
|
||||
{
|
||||
'<F3>',
|
||||
function()
|
||||
require('dap').step_out()
|
||||
end,
|
||||
desc = 'Debug: Step Out',
|
||||
},
|
||||
{
|
||||
'<leader>b',
|
||||
function()
|
||||
require('dap').toggle_breakpoint()
|
||||
end,
|
||||
desc = 'Debug: Toggle Breakpoint',
|
||||
},
|
||||
{
|
||||
'<leader>B',
|
||||
function()
|
||||
require('dap').set_breakpoint(vim.fn.input 'Breakpoint condition: ')
|
||||
end,
|
||||
desc = 'Debug: Set Breakpoint',
|
||||
},
|
||||
-- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception.
|
||||
{
|
||||
'<F7>',
|
||||
function()
|
||||
require('dapui').toggle()
|
||||
end,
|
||||
desc = 'Debug: See last session result.',
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
local dap = require 'dap'
|
||||
local dapui = require 'dapui'
|
||||
-- Add your own debuggers here
|
||||
"leoluz/nvim-dap-go",
|
||||
},
|
||||
keys = {
|
||||
-- Basic debugging keymaps, feel free to change to your liking!
|
||||
{
|
||||
"<F5>",
|
||||
function()
|
||||
require("dap").continue()
|
||||
end,
|
||||
desc = "Debug: Start/Continue",
|
||||
},
|
||||
{
|
||||
"<F11>",
|
||||
function()
|
||||
require("dap").step_into()
|
||||
end,
|
||||
desc = "Debug: Step Into",
|
||||
},
|
||||
{
|
||||
"<F10>",
|
||||
function()
|
||||
require("dap").step_over()
|
||||
end,
|
||||
desc = "Debug: Step Over",
|
||||
},
|
||||
{
|
||||
"<F9>",
|
||||
function()
|
||||
require("dap").step_out()
|
||||
end,
|
||||
desc = "Debug: Step Out",
|
||||
},
|
||||
{
|
||||
"<leader>b",
|
||||
function()
|
||||
require("dap").toggle_breakpoint()
|
||||
end,
|
||||
desc = "Debug: Toggle Breakpoint",
|
||||
},
|
||||
{
|
||||
"<leader>B",
|
||||
function()
|
||||
require("dap").set_breakpoint(vim.fn.input("Breakpoint condition: "))
|
||||
end,
|
||||
desc = "Debug: Set Breakpoint",
|
||||
},
|
||||
-- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception.
|
||||
{
|
||||
"<F7>",
|
||||
function()
|
||||
require("dapui").toggle()
|
||||
end,
|
||||
desc = "Debug: See last session result.",
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
local dap = require("dap")
|
||||
local dapui = require("dapui")
|
||||
|
||||
require('mason-nvim-dap').setup {
|
||||
-- Makes a best effort to setup the various debuggers with
|
||||
-- reasonable debug configurations
|
||||
automatic_installation = true,
|
||||
require("mason-nvim-dap").setup({
|
||||
-- Makes a best effort to setup the various debuggers with
|
||||
-- reasonable debug configurations
|
||||
automatic_installation = true,
|
||||
|
||||
-- You can provide additional configuration to the handlers,
|
||||
-- see mason-nvim-dap README for more information
|
||||
handlers = {},
|
||||
-- You can provide additional configuration to the handlers,
|
||||
-- see mason-nvim-dap README for more information
|
||||
handlers = {},
|
||||
|
||||
-- You'll need to check that you have the required things installed
|
||||
-- online, please don't ask me how to install them :)
|
||||
ensure_installed = {
|
||||
-- Update this to ensure that you have the debuggers for the langs you want
|
||||
'delve',
|
||||
},
|
||||
}
|
||||
-- You'll need to check that you have the required things installed
|
||||
-- online, please don't ask me how to install them :)
|
||||
ensure_installed = {
|
||||
-- Update this to ensure that you have the debuggers for the langs you want
|
||||
"delve",
|
||||
},
|
||||
})
|
||||
|
||||
-- Dap UI setup
|
||||
-- For more information, see |:help nvim-dap-ui|
|
||||
dapui.setup {
|
||||
-- Set icons to characters that are more likely to work in every terminal.
|
||||
-- Feel free to remove or use ones that you like more! :)
|
||||
-- Don't feel like these are good choices.
|
||||
icons = { expanded = '▾', collapsed = '▸', current_frame = '*' },
|
||||
controls = {
|
||||
icons = {
|
||||
pause = '⏸',
|
||||
play = '▶',
|
||||
step_into = '⏎',
|
||||
step_over = '⏭',
|
||||
step_out = '⏮',
|
||||
step_back = 'b',
|
||||
run_last = '▶▶',
|
||||
terminate = '⏹',
|
||||
disconnect = '⏏',
|
||||
},
|
||||
},
|
||||
}
|
||||
-- Dap UI setup
|
||||
-- For more information, see |:help nvim-dap-ui|
|
||||
-- dapui.setup()
|
||||
|
||||
-- Change breakpoint icons
|
||||
-- vim.api.nvim_set_hl(0, 'DapBreak', { fg = '#e51400' })
|
||||
-- vim.api.nvim_set_hl(0, 'DapStop', { fg = '#ffcc00' })
|
||||
-- local breakpoint_icons = vim.g.have_nerd_font
|
||||
-- and { Breakpoint = '', BreakpointCondition = '', BreakpointRejected = '', LogPoint = '', Stopped = '' }
|
||||
-- or { Breakpoint = '●', BreakpointCondition = '⊜', BreakpointRejected = '⊘', LogPoint = '◆', Stopped = '⭔' }
|
||||
-- for type, icon in pairs(breakpoint_icons) do
|
||||
-- local tp = 'Dap' .. type
|
||||
-- local hl = (type == 'Stopped') and 'DapStop' or 'DapBreak'
|
||||
-- vim.fn.sign_define(tp, { text = icon, texthl = hl, numhl = hl })
|
||||
-- end
|
||||
-- Change breakpoint icons
|
||||
-- vim.api.nvim_set_hl(0, 'DapBreak', { fg = '#e51400' })
|
||||
-- vim.api.nvim_set_hl(0, 'DapStop', { fg = '#ffcc00' })
|
||||
-- local breakpoint_icons = vim.g.have_nerd_font
|
||||
-- and { Breakpoint = '', BreakpointCondition = '', BreakpointRejected = '', LogPoint = '', Stopped = '' }
|
||||
-- or { Breakpoint = '●', BreakpointCondition = '⊜', BreakpointRejected = '⊘', LogPoint = '◆', Stopped = '⭔' }
|
||||
-- for type, icon in pairs(breakpoint_icons) do
|
||||
-- local tp = 'Dap' .. type
|
||||
-- local hl = (type == 'Stopped') and 'DapStop' or 'DapBreak'
|
||||
-- vim.fn.sign_define(tp, { text = icon, texthl = hl, numhl = hl })
|
||||
-- end
|
||||
--
|
||||
dap.adapters.go = {
|
||||
type = "executable",
|
||||
command = "node",
|
||||
args = {
|
||||
os.getenv("HOME") .. "/Terminal-Stuff/vscode-go/extension/dist/debugAdapter.js",
|
||||
},
|
||||
}
|
||||
dapui.setup()
|
||||
|
||||
dap.listeners.after.event_initialized['dapui_config'] = dapui.open
|
||||
dap.listeners.before.event_terminated['dapui_config'] = dapui.close
|
||||
dap.listeners.before.event_exited['dapui_config'] = dapui.close
|
||||
dap.listeners.before.attach.dapui_config = function()
|
||||
dapui.open()
|
||||
end
|
||||
dap.listeners.before.launch.dapui_config = function()
|
||||
dapui.open()
|
||||
end
|
||||
dap.listeners.before.event_terminated.dapui_config = function()
|
||||
dapui.close()
|
||||
end
|
||||
dap.listeners.before.event_exited.dapui_config = function()
|
||||
dapui.close()
|
||||
end
|
||||
|
||||
-- Install golang specific config
|
||||
require('dap-go').setup {
|
||||
delve = {
|
||||
-- On Windows delve must be run attached or it crashes.
|
||||
-- See https://github.com/leoluz/nvim-dap-go/blob/main/README.md#configuring
|
||||
detached = vim.fn.has 'win32' == 0,
|
||||
},
|
||||
}
|
||||
end,
|
||||
-- dap.listeners.after.event_initialized["dapui_config"] = dapui.open
|
||||
-- dap.listeners.before.event_terminated["dapui_config"] = dapui.close
|
||||
-- dap.listeners.before.event_exited["dapui_config"] = dapui.close
|
||||
|
||||
-- Install golang specific config
|
||||
-- require("dap-go").setup({
|
||||
-- delve = {
|
||||
-- path = "/Users/linux_enjoyer/Terminal-Stuff/go/bin/dlv",
|
||||
-- cwd = nil,
|
||||
-- -- On Windows delve must be run attached or it crashes.
|
||||
-- -- See https://github.com/leoluz/nvim-dap-go/blob/main/README.md#configuring
|
||||
-- detached = vim.fn.has("win32") == 0,
|
||||
-- },
|
||||
--
|
||||
-- -- svoi no vstoroenii
|
||||
-- dap_configurations = {
|
||||
-- {
|
||||
-- type = "go",
|
||||
-- name = "AAAAA magic",
|
||||
-- request = "launch",
|
||||
-- program = os.getenv("HOME") .. "/Code-Stuff/Work/order/cmd/order/",
|
||||
-- envFile = os.getenv("HOME") .. "/Code-Stuff/Work/order/ci/dev/.env",
|
||||
-- },
|
||||
-- },
|
||||
-- })
|
||||
|
||||
--kakoi-to parser s vscode
|
||||
-- local vscode = require("dap.ext.vscode")
|
||||
-- local json = require("plenary.json")
|
||||
-- vscode.json_decode = function(str)
|
||||
-- return vim.json.decode(json.json_strip_comments(str))
|
||||
-- end
|
||||
end,
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue