Чт 19 июн 2025 02:57:51 MSK
This commit is contained in:
parent
a45c845978
commit
26341d565a
10 changed files with 162 additions and 16 deletions
|
@ -29,7 +29,7 @@ $menu = wofi --show drun
|
||||||
exec-once = $terminal
|
exec-once = $terminal
|
||||||
exec-once = nm-applet &
|
exec-once = nm-applet &
|
||||||
exec-once = mako & hypridle & waybar & hyprpaper & firefox
|
exec-once = mako & hypridle & waybar & hyprpaper & firefox
|
||||||
|
exec-once = snx-rs-gui &
|
||||||
|
|
||||||
#############################
|
#############################
|
||||||
### ENVIRONMENT VARIABLES ###
|
### ENVIRONMENT VARIABLES ###
|
||||||
|
|
1
config/nvim/.gitignore
vendored
1
config/nvim/.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
codecompanion.lua
|
|
|
@ -1,7 +1,8 @@
|
||||||
{
|
{
|
||||||
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
|
"LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" },
|
||||||
|
"apidocs.nvim": { "branch": "main", "commit": "d6a5c8436d183ab85d8cf8e365ebc79920caf506" },
|
||||||
"auto-save.nvim": { "branch": "main", "commit": "37c82fd548e3f5ffc2d9d020a65dac1044584f44" },
|
"auto-save.nvim": { "branch": "main", "commit": "37c82fd548e3f5ffc2d9d020a65dac1044584f44" },
|
||||||
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
|
"blink.cmp": { "branch": "main", "commit": "9bcb14b43852a6f2bfd5ac9ef29cb5cf09b1b39b" },
|
||||||
"codecompanion.nvim": { "branch": "main", "commit": "9edf22cb71711cd7fab7671a25ed5424011a379d" },
|
"codecompanion.nvim": { "branch": "main", "commit": "9edf22cb71711cd7fab7671a25ed5424011a379d" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" },
|
"conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||||
|
@ -21,7 +22,7 @@
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" },
|
"nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "7ad4a11cc5742774877c529fcfb2702f7caf75e4" },
|
"nvim-lspconfig": { "branch": "master", "commit": "7ad4a11cc5742774877c529fcfb2702f7caf75e4" },
|
||||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||||
"nvim-tree.lua": { "branch": "master", "commit": "6b5b36659688767fb9f133bb83024ab1466fe5cd" },
|
"nvim-tree.lua": { "branch": "master", "commit": "d87b41ca537e2131622d48a6c25ccf2fbe0e5d62" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
"nvim-treesitter-context": { "branch": "master", "commit": "1a1a7c5d6d75cb49bf64049dafab15ebe294a79f" },
|
"nvim-treesitter-context": { "branch": "master", "commit": "1a1a7c5d6d75cb49bf64049dafab15ebe294a79f" },
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" },
|
"nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" },
|
||||||
|
|
|
@ -3,8 +3,20 @@ local lspconfig = require("lspconfig")
|
||||||
local util = require("lspconfig/util")
|
local util = require("lspconfig/util")
|
||||||
|
|
||||||
local function config(_config)
|
local function config(_config)
|
||||||
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
|
||||||
|
capabilities = vim.tbl_deep_extend("force", capabilities, require("blink.cmp").get_lsp_capabilities({}, false))
|
||||||
|
|
||||||
|
capabilities = vim.tbl_deep_extend("force", capabilities, {
|
||||||
|
textDocument = {
|
||||||
|
foldingRange = {
|
||||||
|
dynamicRegistration = false,
|
||||||
|
lineFoldingOnly = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
return vim.tbl_deep_extend("force", {
|
return vim.tbl_deep_extend("force", {
|
||||||
-- capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()),
|
capabilities = capabilities,
|
||||||
}, _config or {})
|
}, _config or {})
|
||||||
end
|
end
|
||||||
-- иницализация gopls LSP для Go
|
-- иницализация gopls LSP для Go
|
||||||
|
|
|
@ -5,8 +5,12 @@ require("lazy").setup({
|
||||||
"ray-x/guihua.lua",
|
"ray-x/guihua.lua",
|
||||||
build = "cd lua/fzy && make",
|
build = "cd lua/fzy && make",
|
||||||
},
|
},
|
||||||
{ "neovim/nvim-lspconfig" },
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
dependencies = { "saghen/blink.cmp" },
|
||||||
|
},
|
||||||
{ "Snyssfx/goerr-nvim" },
|
{ "Snyssfx/goerr-nvim" },
|
||||||
|
require("plugins.apidocs"),
|
||||||
require("plugins.todo"),
|
require("plugins.todo"),
|
||||||
require("plugins.codecompanion"),
|
require("plugins.codecompanion"),
|
||||||
require("plugins.resize"),
|
require("plugins.resize"),
|
||||||
|
|
16
config/nvim/lua/plugins/apidocs.lua
Normal file
16
config/nvim/lua/plugins/apidocs.lua
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
return {
|
||||||
|
"emmanueltouzery/apidocs.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-telescope/telescope.nvim", -- or, 'folke/snacks.nvim'
|
||||||
|
},
|
||||||
|
cmd = { "ApidocsSearch", "ApidocsInstall", "ApidocsOpen", "ApidocsSelect", "ApidocsUninstall" },
|
||||||
|
config = function()
|
||||||
|
require("apidocs").setup()
|
||||||
|
-- Picker will be auto-detected. To select a picker of your choice explicitly you can set picker by the configuration option 'picker':
|
||||||
|
-- require('apidocs').setup({picker = "snacks"})
|
||||||
|
-- Possible options are 'ui_select', 'telescope', and 'snacks'
|
||||||
|
end,
|
||||||
|
keys = {
|
||||||
|
{ "<leader>sad", "<cmd>ApidocsOpen<cr>", desc = "Search Api Doc" },
|
||||||
|
},
|
||||||
|
}
|
|
@ -1,10 +1,3 @@
|
||||||
local source_mapping = {
|
|
||||||
buffer = "[Buffer]",
|
|
||||||
nvim_lsp = "[LSP]",
|
|
||||||
nvim_lua = "[Lua]",
|
|
||||||
luasnip = "[Snip]",
|
|
||||||
path = "[Path]",
|
|
||||||
}
|
|
||||||
return {
|
return {
|
||||||
"saghen/blink.cmp",
|
"saghen/blink.cmp",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
|
@ -16,8 +9,26 @@ return {
|
||||||
build = "make install_jsregexp",
|
build = "make install_jsregexp",
|
||||||
dependencies = { "rafamadriz/friendly-snippets" },
|
dependencies = { "rafamadriz/friendly-snippets" },
|
||||||
config = function()
|
config = function()
|
||||||
|
local ls = require("luasnip")
|
||||||
|
local s = ls.snippet
|
||||||
|
local sn = ls.snippet_node
|
||||||
|
local t = ls.text_node
|
||||||
|
local i = ls.insert_node
|
||||||
|
local f = ls.function_node
|
||||||
|
local c = ls.choice_node
|
||||||
|
local d = ls.dynamic_node
|
||||||
|
local r = ls.restore_node
|
||||||
|
local fmt = require("luasnip.extras.fmt").fmt
|
||||||
|
local rep = require("luasnip.extras").rep
|
||||||
|
|
||||||
|
ls.config.setup({
|
||||||
|
history = true,
|
||||||
|
update_events = "TextChanged,TextChangedI",
|
||||||
|
})
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
require("luasnip.loaders.from_vscode").lazy_load("./snippets")
|
require("luasnip.loaders.from_vscode").lazy_load({
|
||||||
|
paths = { vim.fn.stdpath("config") .. "/snippets" },
|
||||||
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -39,7 +50,7 @@ return {
|
||||||
cmdline = {
|
cmdline = {
|
||||||
keymap = {
|
keymap = {
|
||||||
preset = "inherit",
|
preset = "inherit",
|
||||||
['<Tab>'] = { 'show', 'accept' },
|
["<Tab>"] = { "show", "accept" },
|
||||||
},
|
},
|
||||||
completion = {
|
completion = {
|
||||||
menu = { auto_show = false },
|
menu = { auto_show = false },
|
||||||
|
@ -47,6 +58,7 @@ return {
|
||||||
},
|
},
|
||||||
sources = { "cmdline" },
|
sources = { "cmdline" },
|
||||||
},
|
},
|
||||||
|
signature = { enabled = true },
|
||||||
snippets = { preset = "luasnip" },
|
snippets = { preset = "luasnip" },
|
||||||
sources = {
|
sources = {
|
||||||
default = { "lsp", "path", "snippets", "buffer", "codecompanion" },
|
default = { "lsp", "path", "snippets", "buffer", "codecompanion" },
|
||||||
|
|
82
config/nvim/lua/plugins/codecompanion.lua
Normal file
82
config/nvim/lua/plugins/codecompanion.lua
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
return {
|
||||||
|
"olimorris/codecompanion.nvim",
|
||||||
|
version = "v15.8.0",
|
||||||
|
opts = function()
|
||||||
|
return {
|
||||||
|
strategies = {
|
||||||
|
chat = {
|
||||||
|
adapter = "scbt",
|
||||||
|
},
|
||||||
|
inline = {
|
||||||
|
adapter = "scbt",
|
||||||
|
},
|
||||||
|
cmd = {
|
||||||
|
adapter = "scbt",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
adapters = {
|
||||||
|
scbt = function()
|
||||||
|
return require("codecompanion.adapters").extend("openai_compatible", {
|
||||||
|
env = {
|
||||||
|
url = "https://code-generator.sovcombank.group/api",
|
||||||
|
api_key = "cmd:cat ~/.codetoken",
|
||||||
|
chat_url = "/v1/chat/completions",
|
||||||
|
models_endpoint = "/v1/models",
|
||||||
|
},
|
||||||
|
schema = {
|
||||||
|
model = {
|
||||||
|
default = "Qwen/Qwen2.5-Coder-14B-Instruct",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
ollama = function()
|
||||||
|
return require("codecompanion.adapters").extend("ollama", {
|
||||||
|
name = "ollama",
|
||||||
|
schema = {
|
||||||
|
model = {
|
||||||
|
default = "kodify_nano_q8",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
parameters = {
|
||||||
|
sync = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
log_level = "ERROR",
|
||||||
|
language = "Russian",
|
||||||
|
allow_insecure = true,
|
||||||
|
cache_models_for = 1800,
|
||||||
|
proxy = nil,
|
||||||
|
show_defaults = false,
|
||||||
|
show_model_choices = true,
|
||||||
|
system_prompt = function(opts)
|
||||||
|
return [[Ты — продвинутый помощник разработчика, встроенный в редактор кода. Твоя цель — помогать пользователям писать код быстрее и эффективнее, предлагая подсказки, исправления ошибок, оптимизацию производительности и комментарии к коду. Ты хорошо знаком с языками программирования, такими как Python, Go и прочими популярными языками.
|
||||||
|
|
||||||
|
Основные задачи:
|
||||||
|
- Давай точные и полезные советы по улучшению существующего кода.
|
||||||
|
- Предлагай фрагменты кода для завершения текущего блока, исходя из контекста и намерений программиста.
|
||||||
|
- Обеспечивай мгновенную помощь по синтаксическим ошибкам и советуй решения.
|
||||||
|
- Объясняй сложные концепции простым языком.
|
||||||
|
- Помогай находить альтернативные подходы и оптимизации производительности.
|
||||||
|
- Уточняй любые неясности в вопросах пользователя перед предоставлением рекомендаций.
|
||||||
|
|
||||||
|
Правила общения:
|
||||||
|
- Отвечай коротко и ясно, особенно если речь идет о конкретных фрагментах кода.
|
||||||
|
- Используй правильный синтаксис и следи за соответствием типов данных и стиля написания кода проекта.
|
||||||
|
- Избегай ненужных деталей и отвлекающих пояснений.
|
||||||
|
- Если требуется дополнительное разъяснение от пользователя, задавай конкретные уточняющие вопросы.
|
||||||
|
- Общайся на русском языке
|
||||||
|
|
||||||
|
Помоги создавать качественный и производительный код!]]
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
},
|
||||||
|
}
|
16
config/nvim/snippets/json.json
Normal file
16
config/nvim/snippets/json.json
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"launch config": {
|
||||||
|
"body": [
|
||||||
|
"{",
|
||||||
|
"\t\"name\": \"Launch ${1}\",",
|
||||||
|
"\t\"type\": \"go\",",
|
||||||
|
"\t\"request\": \"launch\",",
|
||||||
|
"\t\"program\": \"cmd/${1}\",",
|
||||||
|
"\t\"args\": [${2}],",
|
||||||
|
"\t\"outputMode\": \"remote\"",
|
||||||
|
"}"
|
||||||
|
],
|
||||||
|
"description": "package header",
|
||||||
|
"prefix": "launch"
|
||||||
|
}
|
||||||
|
}
|
|
@ -5,6 +5,10 @@
|
||||||
{
|
{
|
||||||
"language": "go",
|
"language": "go",
|
||||||
"path": "./go.json"
|
"path": "./go.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language": "json",
|
||||||
|
"path": "./json.json"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue