Обновления конфигов

This commit is contained in:
Alexander Neonxp Kiryukhin 2025-05-16 22:33:54 +03:00
parent e9a2f811b7
commit 49e5fa5710
Signed by: NeonXP
SSH key fingerprint: SHA256:SVt7TjxbVc87m1QYaQziOJ0N3OCFURv2g76gD/UTTXI
20 changed files with 529 additions and 192 deletions

View file

@ -88,23 +88,24 @@ vim.api.nvim_create_autocmd("BufEnter", {
vim.api.nvim_create_autocmd({ "BufEnter", "BufAdd", "BufNew", "BufNewFile", "BufWinEnter" }, {
group = vim.api.nvim_create_augroup("TS_FOLD_WORKAROUND", {}),
callback = function()
vim.opt.foldlevelstart = 99
vim.opt.foldmethod = "expr"
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
end,
})
vim.api.nvim_create_autocmd("FileType", {
pattern = "*",
callback = function(args)
local buf = args.buf
local ft = vim.bo[buf].filetype
pattern = "*",
callback = function(args)
local buf = args.buf
local ft = vim.bo[buf].filetype
if ft and ft ~= "" then
local has_parser, _ = pcall(vim.treesitter.language.get_lang, ft)
if has_parser then
pcall(vim.treesitter.start, buf, ft)
end
end
end
if ft and ft ~= "" then
local has_parser, _ = pcall(vim.treesitter.language.get_lang, ft)
if has_parser then
pcall(vim.treesitter.start, buf, ft)
end
end
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "TSUpdate",
@ -181,5 +182,5 @@ vim.api.nvim_create_autocmd("VimResized", {
--
-- vim.api.nvim_create_autocmd("InsertLeave", {
-- pattern = "*",
-- command = "set relativenumber",
-- callback = "set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz",
-- })

6
nvim/lua/commands.lua Normal file
View file

@ -0,0 +1,6 @@
vim.api.nvim_create_user_command("Lower", function()
vim.cmd([[normal! guaw]])
end, { force = true })
vim.api.nvim_create_user_command("Upper", function()
vim.cmd([[normal! gUaw]])
end, { force = true })

View file

@ -44,19 +44,13 @@ end
kmap("n", "<leader>tt", ":split<CR>:terminal<CR>:startinsert<CR>", { noremap = true, silent = true })
-- {{{ LSP функции
kmap("n", "<leader>e", vim.diagnostic.open_float, { noremap = true, silent = true, desc = "Show diagnostics" })
kmap("n", "d[", vim.diagnostic.goto_prev, { noremap = true, silent = true, desc = "Previous diagnostic" })
kmap("n", "d]", vim.diagnostic.goto_next, { noremap = true, silent = true, desc = "Next diagnostic" })
kmap("n", "gD", vim.lsp.buf.declaration, { noremap = true, silent = true, desc = "Go to declaration" })
kmap("n", "gd", vim.lsp.buf.definition, { noremap = true, silent = true, desc = "Go to definition" })
kmap("n", "<leader>D", vim.lsp.buf.type_definition, { noremap = true, silent = true, desc = "Type definition" })
kmap("n", "gr", vim.lsp.buf.references, { noremap = true, silent = true, desc = "Find references" })
kmap("n", "K", vim.lsp.buf.hover, { noremap = true, silent = true, desc = "Show documentation" })
kmap("n", "gi", vim.lsp.buf.implementation, { noremap = true, silent = true, desc = "Go to implementation" })
kmap("n", "<C-k>", vim.lsp.buf.signature_help, { noremap = true, silent = true, desc = "Signature help" })
kmap(

View file

@ -0,0 +1,128 @@
local modules = require('lualine_require').lazy_require { notices = 'lualine.utils.notices' }
local function add_notice(notice)
modules.notices.add_notice('theme(base16): ' .. notice)
end
local function setup(colors)
local theme = {
normal = {
a = { fg = colors.bg, bg = colors.normal },
b = { fg = colors.light_fg, bg = colors.alt_bg },
c = { fg = colors.fg, bg = colors.bg },
},
replace = {
a = { fg = colors.bg, bg = colors.replace },
b = { fg = colors.light_fg, bg = colors.alt_bg },
},
insert = {
a = { fg = colors.bg, bg = colors.insert },
b = { fg = colors.light_fg, bg = colors.alt_bg },
},
visual = {
a = { fg = colors.bg, bg = colors.visual },
b = { fg = colors.light_fg, bg = colors.alt_bg },
},
inactive = {
a = { fg = colors.dark_fg, bg = colors.bg },
b = { fg = colors.dark_fg, bg = colors.bg },
c = { fg = colors.dark_fg, bg = colors.bg },
},
}
theme.command = theme.normal
theme.terminal = theme.insert
return theme
end
local function setup_default()
return setup {
bg = '#282a2e',
alt_bg = '#373b41',
dark_fg = '#969896',
fg = '#b4b7b4',
light_fg = '#c5c8c6',
normal = '#81a2be',
insert = '#b5bd68',
visual = '#b294bb',
replace = '#de935f',
}
end
local function setup_base16_nvim()
-- Continue to load nvim-base16
local loaded, base16 = pcall(require, 'base16-colorscheme')
if not loaded then
add_notice(
'nvim-base16 is not currently present in your runtimepath, make sure it is properly installed,'
.. ' fallback to default colors.'
)
return nil
end
if not base16.colors and not vim.env.BASE16_THEME then
add_notice(
'nvim-base16 is not loaded yet, you should update your configuration to load it before lualine'
.. ' so that the colors from your colorscheme can be used, fallback to "tomorrow-night" theme.'
)
elseif not base16.colors and not base16.colorschemes[vim.env.BASE16_THEME] then
add_notice(
'The colorscheme "%s" defined by the environment variable "BASE16_THEME" is not handled by'
.. ' nvim-base16, fallback to "tomorrow-night" theme.'
)
end
local colors = base16.colors or base16.colorschemes[vim.env.BASE16_THEME or 'tomorrow-night']
return setup {
bg = colors.base01,
alt_bg = colors.base02,
dark_fg = colors.base03,
fg = colors.base04,
light_fg = colors.base05,
normal = colors.base0D,
insert = colors.base0B,
visual = colors.base0E,
replace = colors.base09,
}
end
local function setup_base16_vim()
-- Check if tinted-theming/base16-vim is already loaded
if vim.g.base16_gui00 and vim.g.base16_gui0F then
return setup {
bg = vim.g.base16_gui01,
alt_bg = vim.g.base16_gui02,
dark_fg = vim.g.base16_gui03,
fg = vim.g.base16_gui04,
light_fg = vim.g.base16_gui05,
normal = vim.g.base16_gui0D,
insert = vim.g.base16_gui0B,
visual = vim.g.base16_gui0E,
replace = vim.g.base16_gui09,
}
end
-- base16-vim has been renamed to tinted-vim along with colors
-- context: https://github.com/nvim-lualine/lualine.nvim/pull/1352
if vim.g.tinted_gui00 and vim.g.tinted_gui0F then
return setup {
bg = vim.g.tinted_gui01,
alt_bg = vim.g.tinted_gui02,
dark_fg = vim.g.tinted_gui03,
fg = vim.g.tinted_gui04,
light_fg = vim.g.tinted_gui05,
normal = vim.g.tinted_gui0D,
insert = vim.g.tinted_gui0B,
visual = vim.g.tinted_gui0E,
replace = vim.g.tinted_gui09,
}
end
return nil
end
return setup_base16_vim() or setup_base16_nvim() or setup_default()

View file

@ -32,15 +32,11 @@ local options = {
scrolloff = 8,
sidescrolloff = 8,
syntax = "on",
foldmethod = "expr",
foldmarker = "{{{,}}}",
--foldexpr = "v:lua.vim.treesitter.foldexpr()",
foldexpr = "nvim_treesitter#foldexpr()",
foldlevelstart = 99,
foldenable = true,
foldenable = false,
scrolloff = 999,
so = vim.fn.floor(vim.fn.winheight(0) / 2),
guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,i:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175",
langmap = "ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯЖ;ABCDEFGHIJKLMNOPQRSTUVWXYZ:,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz",
}
vim.opt.formatoptions:append({ r = true, o = true })
vim.opt.shortmess:append("c")
@ -56,3 +52,5 @@ vim.filetype.add({
templ = "templ",
},
})
vim.cmd([[colorscheme neonxp]])

View file

@ -5,7 +5,6 @@ require("lazy").setup({
build = "cd lua/fzy && make",
},
{ "neovim/nvim-lspconfig" },
-- { "Snyssfx/goerr-nvim" },
{
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
@ -33,7 +32,7 @@ require("lazy").setup({
current = "",
below = "",
},
floating_window = false,
floating_window = true,
},
},
{
@ -77,7 +76,6 @@ require("lazy").setup({
},
},
require("plugins.autosave"),
require("plugins.theme"),
require("plugins.cmp"),
require("plugins.treesitter"),
require("plugins.tree"),

View file

@ -21,59 +21,8 @@ local function setup_go_configuration(dap, configs)
type = "go",
name = "Debug",
request = "launch",
program = "${file}",
buildFlags = configs.delve.build_flags,
outputMode = configs.delve.output_mode,
},
{
type = "go",
name = "Debug (Arguments)",
request = "launch",
program = "${file}",
args = get_arguments,
buildFlags = configs.delve.build_flags,
outputMode = configs.delve.output_mode,
},
{
type = "go",
name = "Debug (Arguments & Build Flags)",
request = "launch",
program = "${file}",
args = get_arguments,
buildFlags = get_build_flags,
outputMode = configs.delve.output_mode,
},
{
type = "go",
name = "Debug Package",
request = "launch",
program = "${fileDirname}",
buildFlags = configs.delve.build_flags,
outputMode = configs.delve.output_mode,
},
{
type = "go",
name = "Attach",
mode = "local",
request = "attach",
processId = filtered_pick_process,
buildFlags = configs.delve.build_flags,
},
{
type = "go",
name = "Debug test",
request = "launch",
mode = "test",
program = "${file}",
buildFlags = configs.delve.build_flags,
outputMode = configs.delve.output_mode,
},
{
type = "go",
name = "Debug test (go.mod)",
request = "launch",
mode = "test",
program = "./${relativeFileDirname}",
program = "${workspaceFolder}",
args = {},
buildFlags = configs.delve.build_flags,
outputMode = configs.delve.output_mode,
},
@ -164,61 +113,40 @@ return {
silent = true,
},
{
"<F10>",
"<F17>", -- S-F5
function()
require("dap").restart()
end,
silent = true,
},
{
"<F29>", -- C-F5
function()
require("dap").terminate()
end,
silent = true,
},
{
"<F8>",
function()
require("dap").step_over()
end,
silent = true,
},
{
"<F11>",
"<F7>",
function()
require("dap").step_into()
end,
silent = true,
},
{
"<F12>",
"<F19>", -- S-F7
function()
require("dap").step_out()
end,
silent = true,
},
{
"<leader>dc",
function()
require("dap").continue()
end,
silent = true,
},
{
"<leader>so",
function()
require("dap").step_over()
end,
silent = true,
},
{
"<leader>si",
function()
require("dap").step_into()
end,
silent = true,
},
{
"<leader>st",
function()
require("dap").step_out()
end,
silent = true,
},
{
"<leader>b",
function()
require("dap").toggle_breakpoint()
end,
silent = true,
},
{
"<A-b>",
function()
@ -226,33 +154,5 @@ return {
end,
silent = true,
},
{
"<Leader>B",
function()
require("dap").set_breakpoint()
end,
silent = true,
},
{
"<Leader>lp",
function()
require("dap").set_breakpoint(nil, nil, vim.fn.input("Log point message: "))
end,
silent = true,
},
{
"<Leader>dr",
function()
require("dap").repl.open()
end,
silent = true,
},
{
"<Leader>dl",
function()
require("dap").run_last()
end,
silent = true,
},
},
}

View file

@ -6,7 +6,7 @@ return {
},
keys = {
{
"<leader>du",
"<F6>",
function()
require("dapui").toggle()
end,
@ -27,7 +27,7 @@ return {
silent = true,
},
{
"<Leader>ds",
"<F9>",
function()
local widgets = require("dap.ui.widgets")
widgets.centered_float(widgets.scopes)

View file

@ -1,9 +1,10 @@
local colors = require("theme.colors")
return {
"nvim-lualine/lualine.nvim",
opts = {
options = {
icons_enabled = true,
theme = "onedark",
theme = "auto",
component_separators = { left = "", right = "" },
section_separators = { left = "", right = "" },
disabled_filetypes = {

View file

@ -1,19 +1,50 @@
return {
"nvim-telescope/telescope.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
opts = {
pickers = {
buffers = {
initial_mode = "normal",
},
},
defaults = {
file_ignore_patterns = { "vendor", "node_modules" },
},
dependencies = {
"nvim-lua/plenary.nvim",
},
config = function()
local actions = require("telescope.actions")
require("telescope").setup({
extensions = {
project = {
sync_with_nvim_tree = true,
},
},
pickers = {
buffers = {
initial_mode = "normal",
},
},
defaults = {
file_ignore_patterns = { "vendor", "node_modules" },
mappings = {
i = {
["<F4>"] = actions.close,
},
n = {
["<F4>"] = actions.close,
},
},
},
})
end,
keys = {
{ "<leader>ff", "<cmd>Telescope find_files<CR>", noremap = true, silent = true, desc = "Find files" },
{ "<leader>fg", "<cmd>Telescope live_grep<CR>", noremap = true, silent = true, desc = "Live grep" },
{ "<leader>fb", "<cmd>Telescope buffers<CR>", noremap = true, silent = true, desc = "Find buffers" },
{
"<leader>fb",
"<cmd>Telescope current_buffer_fuzzy_fund<CR>",
noremap = true,
silent = true,
desc = "Find current file",
},
{ "<F4>", "<cmd>Telescope buffers<CR>", noremap = true, silent = true, desc = "Find buffers" },
{ "<leader>gc", "<cmd>Telescope git_commits<CR>", noremap = true, silent = true },
{ "<leader>gs", "<cmd>Telescope git_status<CR>", noremap = true, silent = true },
{ "<leader>ch", "<cmd>Telescope commands_history<CR>", noremap = true, silent = true },
{ "<leader>e", "<cmd>Telescope diagnostics<CR>", noremap = true, silent = true },
{ "gi", "<cmd>Telescope lsp_implementations<CR>", noremap = true, silent = true },
{ "gr", "<cmd>Telescope lsp_references<CR>", noremap = true, silent = true },
},
}

View file

@ -1,21 +0,0 @@
return {
"navarasu/onedark.nvim",
priority = 1000, -- make sure to load this before all the other start plugins
config = function()
require("onedark").setup({
style = "darker",
colors = {
bright_orange = "#ff8800", -- define a new color
},
highlights = {
-- ["@lsp.type.keyword"] = { fg = "$green", fmt = "bold,underline" },
-- ["@lsp.type.property"] = { fg = "$bright_orange", bg = "#00ff00", fmt = "bold" },
-- ["@lsp.type.function"] = { fg = "#0000ff", sp = "$cyan", fmt = "underline,italic" },
-- ["@lsp.type.method"] = { link = "@function" },
-- To add language specific config
-- ["@lsp.type.variable.go"] = { fg = "none" },
},
})
require("onedark").load()
end,
}

View file

@ -1,18 +1,49 @@
local HEIGHT_RATIO = 0.8
local WIDTH_RATIO = 0.5
return {
"nvim-tree/nvim-tree.lua",
dependencies = {
"nvim-tree/nvim-web-devicons",
},
opts = {
disable_netrw = true,
hijack_netrw = true,
hijack_directories = {
enable = true, -- Перехватывать открытие директорий
auto_open = true, -- Автоматически открывать при старте
enable = true,
auto_open = true,
},
sort = {
sorter = "case_sensitive",
},
view = {
width = 30,
-- width = 30,
float = {
enable = true,
open_win_config = function()
local screen_w = vim.opt.columns:get()
local screen_h = vim.opt.lines:get() - vim.opt.cmdheight:get()
local window_w = screen_w * WIDTH_RATIO
local window_h = screen_h * HEIGHT_RATIO
local window_w_int = math.floor(window_w)
local window_h_int = math.floor(window_h)
local center_x = (screen_w - window_w) / 2
local center_y = ((vim.opt.lines:get() - window_h) / 2) - vim.opt.cmdheight:get()
return {
border = "rounded",
relative = "editor",
row = center_y,
col = center_x,
width = window_w_int,
height = window_h_int,
}
end,
},
width = function()
return math.floor(vim.opt.columns:get() * WIDTH_RATIO)
end,
adaptive_size = true,
centralize_selection = true,
},
git = {
enable = true,
@ -29,9 +60,11 @@ return {
filters = {
dotfiles = false,
},
sync_root_with_cwd = true,
respect_buf_cwd = true,
update_focused_file = {
enable = true,
update_root = false,
update_root = true,
},
},
keys = {

View file

@ -0,0 +1,29 @@
local function HsvToRgb(h, s, v)
s = s / 100.0
v = v / 100.0
h = h / 60.0
local i = math.floor(h) % 6
local f = h - math.floor(h)
local p = v * (1.0 - s)
local q = v * (1.0 - f * s)
local t = v * (1.0 - (1.0 - f) * s)
local r, g, b = 0, 0, 0
if i == 0 then r, g, b = v, t, p
elseif i == 1 then r, g, b = q, v, p
elseif i == 2 then r, g, b = p, v, t
elseif i == 3 then r, g, b = p, q, v
elseif i == 4 then r, g, b = t, p, v
else r, g, b = v, p, q
end
r = math.floor(r * 255 + 0.5)
g = math.floor(g * 255 + 0.5)
b = math.floor(b * 255 + 0.5)
return string.format("#%02x%02x%02x", r, g, b)
end
return HsvToRgb

68
nvim/lua/theme/colors.lua Normal file
View file

@ -0,0 +1,68 @@
local HsvToRgb = require("theme.asset.hsv-to-rgb")
local colors = {
black = {HsvToRgb(0, 0, 0), 0},--0 Black
black_l = {HsvToRgb(0, 0, 10), 0},
black_ll = {HsvToRgb(0, 0, 20), 0},
gray_dd = {HsvToRgb(0, 0, 30), 8},--8 DarkGray
gray_d = {HsvToRgb(0, 0, 40), 8},
gray = {HsvToRgb(0, 0, 50), 7},--7 Gray
gray_l = {HsvToRgb(0, 0, 60), 7},
gray_ll = {HsvToRgb(0, 0, 70), 7},
white_dd = {HsvToRgb(0, 0, 80), 15},--15 White
white_d = {HsvToRgb(0, 0, 90), 15},
white = {HsvToRgb(0, 0, 100), 15},
red_d = {HsvToRgb(0, 100, 75), 12},--12 Red
red = {HsvToRgb(0, 100, 100), 12},
red_l = {HsvToRgb(0, 75, 100), 12},
orange_d = {HsvToRgb(30, 100, 75), 4},--4 DarkRed
orange = {HsvToRgb(30, 100, 100), 4},
orange_l = {HsvToRgb(30, 75, 100), 4},
yellow_d = {HsvToRgb(60, 100, 75), 14},--14 Yellow
yellow = {HsvToRgb(60, 100, 100), 14},
yellow_l = {HsvToRgb(60, 75, 100), 14},
chartreuse_d = {HsvToRgb(90, 100, 75), 6},--6 DarkYellow
chartreuse = {HsvToRgb(90, 100, 100), 6},
chartreuse_l = {HsvToRgb(90, 75, 100), 6},
green_d = {HsvToRgb(120, 100, 75), 10},--10 Green
green = {HsvToRgb(120, 100, 100), 10},
green_l = {HsvToRgb(120, 75, 100), 10},
turquoise_d = {HsvToRgb(150, 100, 75), 2},--2 DarkGreen
turquoise = {HsvToRgb(150, 100, 100), 2},
turquoise_l = {HsvToRgb(150, 75, 100), 2},
cyan_d = {HsvToRgb(180, 100, 75), 11},--11 Cyan
cyan = {HsvToRgb(180, 100, 100), 11},
cyan_l = {HsvToRgb(180, 75, 100), 11},
royal_d = {HsvToRgb(210, 100, 75), 3},--3 DarkCyan
royal = {HsvToRgb(210, 100, 100), 3},
royal_l = {HsvToRgb(210, 75, 100), 3},
blue_d = {HsvToRgb(240, 100, 75), 9},--9 Blue
blue = {HsvToRgb(240, 100, 100), 9},
blue_l = {HsvToRgb(240, 75, 100), 9},
purple_d = {HsvToRgb(270, 100, 75), 1},--1 DarkBlue
purple = {HsvToRgb(270, 100, 100), 1},
purple_l = {HsvToRgb(270, 75, 100), 1},
pink_d = {HsvToRgb(300, 100, 75), 13},--13 Magenta
pink = {HsvToRgb(300, 100, 100), 13},
pink_l = {HsvToRgb(300, 75, 100), 13},
salmon_d = {HsvToRgb(330, 100, 75), 5},--5 DarkMagenta
salmon = {HsvToRgb(330, 100, 100), 5},
salmon_l = {HsvToRgb(330, 75, 100), 5},
none = {"NONE", "NONE"}
}
return colors

View file

@ -0,0 +1,16 @@
local mods = {
bold = {"bold", "bold"},
italic = {"italic", "italic"},
underline = {"underline", "underline"},
underdouble = {"underdouble", "underdouble"},
underdoted = {"underdoted", "underdoted"},
underdashed = {"underdashed", "underdashed"},
undercurl = {"undercurl", "undercurl"},
reverse = {"reverse", "reverse"},
standout = {"standout", "standout"},
altfont = {"altfont", "altfont"},
strikethrough = {"strikethrough", "strikethrough"},
none = {"NONE", "NONE"}
}
return mods