summaryrefslogtreecommitdiff
path: root/nvim/lua/plugins
diff options
context:
space:
mode:
author2025-06-04 12:06:36 +0300
committer2025-06-04 12:06:36 +0300
commit27416cef9979882ee8c1da819d48216974c46535 (patch)
treec5c074c2ffd13b00a3534931c9bc5f48b633a4a6 /nvim/lua/plugins
parent30.05.2025 (diff)
downloaddotfiles-27416cef9979882ee8c1da819d48216974c46535.tar.gz
dotfiles-27416cef9979882ee8c1da819d48216974c46535.tar.bz2
dotfiles-27416cef9979882ee8c1da819d48216974c46535.tar.xz
dotfiles-27416cef9979882ee8c1da819d48216974c46535.zip
04.06.2025
Diffstat (limited to 'nvim/lua/plugins')
-rw-r--r--nvim/lua/plugins/autosave.lua10
-rw-r--r--nvim/lua/plugins/cmp.lua103
-rw-r--r--nvim/lua/plugins/snippets.lua21
-rw-r--r--nvim/lua/plugins/todo.lua69
4 files changed, 98 insertions, 105 deletions
diff --git a/nvim/lua/plugins/autosave.lua b/nvim/lua/plugins/autosave.lua
index 9cbcd83..069afbf 100644
--- a/nvim/lua/plugins/autosave.lua
+++ b/nvim/lua/plugins/autosave.lua
@@ -56,17 +56,9 @@ return {
return false
end
- -- Skip autosave if you're in an active snippet
- if require("luasnip").in_snippet() then
- return false
- end
-
return true
end,
- write_all_buffers = false, -- write all buffers when the current one meets `condition`
- -- Do not execute autocmds when saving
- -- If you set noautocmd = true, autosave won't trigger an auto format
- -- https://github.com/okuuva/auto-save.nvim/issues/55
+ write_all_buffers = true, -- write all buffers when the current one meets `condition`
noautocmd = false,
lockmarks = false, -- lock marks when saving, see `:h lockmarks` for more details
-- delay after which a pending save is executed (default 1000)
diff --git a/nvim/lua/plugins/cmp.lua b/nvim/lua/plugins/cmp.lua
index c5669e5..43d911a 100644
--- a/nvim/lua/plugins/cmp.lua
+++ b/nvim/lua/plugins/cmp.lua
@@ -6,91 +6,44 @@ local source_mapping = {
path = "[Path]",
}
return {
- "hrsh7th/nvim-cmp",
+ "saghen/blink.cmp",
+ lazy = false,
+ version = "1.*",
dependencies = {
- "hrsh7th/cmp-nvim-lsp",
- "hrsh7th/cmp-buffer",
- "hrsh7th/cmp-path",
- "saadparwaiz1/cmp_luasnip",
{
"L3MON4D3/LuaSnip",
- lazy = true,
version = "v2.*",
build = "make install_jsregexp",
- opts = {
- history = true,
- delete_check_events = "TextChanged",
- },
dependencies = { "rafamadriz/friendly-snippets" },
config = function()
- require("plugins.snippets")
+ require("luasnip.loaders.from_vscode").lazy_load()
+ require("luasnip.loaders.from_vscode").lazy_load("./snippets")
end,
- keys = {
- {
- "<C-K>",
- function()
- require("luasnip").expand()
- end,
- silent = true,
- },
- {
- "<C-L>",
- function()
- require("luasnip").jump(1)
- end,
- silent = true,
- },
- {
- "<C-J>",
- function()
- require("luasnip").jump(-1)
- end,
- silent = true,
- },
- },
},
},
- config = function()
- require("cmp").setup({
- preselect = require("cmp").PreselectMode.None,
- experimental = {
- ghost_text = false,
- },
-
- confirmation = {
- default_behavior = require("cmp").ConfirmBehavior.Replace,
- },
- completion = {
- completeopt = "menu,menuone,noinsert,noselect",
- keyword_length = 2,
- },
- mapping = require("cmp").mapping.preset.insert({
- ["<C-b>"] = require("cmp").mapping.scroll_docs(-4),
- ["<C-f>"] = require("cmp").mapping.scroll_docs(4),
- ["<C-Space>"] = require("cmp").mapping.complete(),
- ["<C-e>"] = require("cmp").mapping.abort(),
- ["<CR>"] = require("cmp").mapping.confirm({ select = false }),
- ["<C-y>"] = require("cmp").mapping.confirm({ select = true }),
- }),
- snippet = {
- expand = function(args)
- require("luasnip").lsp_expand(args.body)
- end,
+ opts = {
+ keymap = {
+ preset = "enter",
+ },
+ completion = {
+ list = {
+ selection = {
+ preselect = false,
+ auto_insert = false,
+ },
},
- formatting = {
- format = function(entry, vim_item)
- vim_item.menu = source_mapping[entry.source.name] or "[Unknown]"
- return vim_item
- end,
+ ghost_text = {
+ enabled = true,
},
- sources = require("cmp").config.sources({
- { name = "nvim_lsp", priority = 1000 },
- { name = "codecompanion", priority = 800 },
- { name = "luasnip", priority = 750 },
- { name = "path", priority = 500 },
- }, {
- { name = "buffer" },
- }),
- })
- end,
+ },
+ cmdline = {
+ keymap = { preset = "inherit" },
+ completion = { menu = { auto_show = true } },
+ sources = { "cmdline" },
+ },
+ snippets = { preset = "luasnip" },
+ sources = {
+ default = { "lsp", "path", "snippets", "buffer", "codecompanion" },
+ },
+ },
}
diff --git a/nvim/lua/plugins/snippets.lua b/nvim/lua/plugins/snippets.lua
deleted file mode 100644
index f1f0f62..0000000
--- a/nvim/lua/plugins/snippets.lua
+++ /dev/null
@@ -1,21 +0,0 @@
-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({
- paths = { vim.fn.stdpath("config") .. "/snippets" },
-})
-ls.add_snippets("json", require("snippets.json"))
diff --git a/nvim/lua/plugins/todo.lua b/nvim/lua/plugins/todo.lua
new file mode 100644
index 0000000..ee672ab
--- /dev/null
+++ b/nvim/lua/plugins/todo.lua
@@ -0,0 +1,69 @@
+return {
+ "phrmendes/todotxt.nvim",
+ cmd = { "TodoTxt", "DoneTxt" },
+ opts = {
+ todotxt = "/home/neonxp/Документы/todo.txt",
+ donetxt = "/home/neonxp/Документы/done.txt",
+ },
+ -- suggested keybindings
+ keys = {
+ {
+ "<leader>tp",
+ function() require("todotxt").cycle_priority() end,
+ desc = "todo.txt: cycle priority",
+ ft = "todotxt",
+ },
+ {
+ "<cr>",
+ function() require("todotxt").toggle_todo_state() end,
+ desc = "todo.txt: toggle task state",
+ ft = "todotxt",
+ },
+ {
+ "<leader>tn",
+ function() require("todotxt").capture_todo() end,
+ desc = "New entry",
+ },
+ {
+ "<leader>tt",
+ function() require("todotxt").toggle_todotxt() end,
+ desc = "Open",
+ },
+ {
+ "<leader>tr",
+ function() require("todotxt").move_done_tasks() end,
+ desc = "Move to done.txt",
+ ft = "todotxt",
+ },
+ {
+ "<leader>tss",
+ function() require("todotxt").sort_tasks() end,
+ desc = "Sort",
+ ft = "todotxt",
+ },
+ {
+ "<leader>tsd",
+ function() require("todotxt").sort_tasks_by_due_date() end,
+ desc = "Sort by due:date",
+ ft = "todotxt",
+ },
+ {
+ "<leader>tsP",
+ function() require("todotxt").sort_tasks_by_priority() end,
+ desc = "Sort by (priority)",
+ ft = "todotxt",
+ },
+ {
+ "<leader>tsc",
+ function() require("todotxt").sort_tasks_by_context() end,
+ desc = "Sort by @context",
+ ft = "todotxt",
+ },
+ {
+ "<leader>tsp",
+ function() require("todotxt").sort_tasks_by_project() end,
+ desc = "Sort by +project",
+ ft = "todotxt",
+ },
+ },
+}