Compare commits

...

2 Commits

Author SHA1 Message Date
e2555ad8d0 fixed mini sessions and added telescope 2026-04-16 10:00:14 +01:00
ac461d7a6c made lazydev load only when in a lua file 2026-04-16 09:59:52 +01:00
7 changed files with 153 additions and 34 deletions

View File

@@ -11,7 +11,6 @@
system = "x86_64-linux"; # change if needed
pkgs = import nixpkgs { inherit system; };
pkgList = with pkgs; [
# LSPs
lua-language-server
vscode-langservers-extracted

View File

@@ -42,3 +42,34 @@ vim.api.nvim_create_autocmd({ "WinLeave" }, {
vim.opt_local.cursorline = false
end,
})
local group = vim.api.nvim_create_augroup("autosave", {})
-- Notification to say when a file is saved by autosave
vim.api.nvim_create_autocmd("User", {
pattern = "AutoSaveWritePre",
group = group,
callback = function(opts)
if opts.data.saved_buffer ~= nil then
local filename = vim.fn.expand("%:t")
print("Saved '" .. filename .. "' at " .. vim.fn.strftime("%H:%M:%S"))
end
end,
})
-- Notification when enabling/disabling autosave for a buffer
vim.api.nvim_create_autocmd("User", {
pattern = "AutoSaveEnable",
group = group,
callback = function()
print("AutoSave enabled")
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "AutoSaveDisable",
group = group,
callback = function()
print("AutoSave disabled")
end,
})

View File

@@ -41,3 +41,46 @@ end)
Keymap("n", "<leader>R", function()
require("flash").treesitter_search()
end)
-- Mini Session Keybinds
Keymap("n", "<leader>qj", function() -- quit and save session local
require("mini.sessions").write(".session")
vim.cmd("wqa")
end)
Keymap("n", "<leader>qd", function() -- quit and delete session
require("mini.sessions").delete(".session")
vim.cmd("wqa")
end)
-- Telescope
local builtin = require("telescope.builtin")
Keymap("n", "<leader>ff", function()
builtin.find_files({ hidden = true })
end)
Keymap("n", "<space>fn", function()
local full_path = vim.api.nvim_buf_get_name(0)
local dir = vim.fn.fnamemodify(full_path, ":h")
require("telescope").extensions.file_browser.file_browser({
path = dir,
})
end)
Keymap("n", "<space>fs", function() -- select sessions
MiniSessions.select()
end)
Keymap("n", "<space>fd", function() -- select sessions
MiniSessions.select("delete")
end)
Keymap("n", "<leader>fg", function()
builtin.live_grep({ hidden = true })
end)
Keymap("n", "<leader>fb", function()
builtin.buffers({ cwd = vim.fn.expand("%:p:h") }) -- buffers dont need cwd, but harmless
end)

View File

@@ -1,7 +1,6 @@
vim.pack.add({
{ src = "https://github.com/neovim/nvim-lspconfig", name = "lspconfig" },
{ src = "https://github.com/saghen/blink.cmp", name = "blink" },
{ src = "https://github.com/folke/lazydev.nvim", name = "lazydev" },
})
vim.lsp.config("lua_ls", {
@@ -81,9 +80,26 @@ require("blink.cmp").setup({
},
})
vim.api.nvim_create_autocmd("FileType", {
vim.api.nvim_create_autocmd("FileType", { -- Lazy load lazydev when in lua file (no pun intended)
pattern = "lua",
callback = function()
vim.pack.add({
{ src = "https://github.com/folke/lazydev.nvim", name = "lazydev" },
})
require("lazydev").setup()
require("blink.cmp").setup({ -- Reload blink with lazydev as a source
sources = {
-- add lazydev to your completion providers
default = { "lazydev", "lsp", "path", "snippets", "buffer" },
providers = {
lazydev = {
name = "LazyDev",
module = "lazydev.integrations.blink",
-- make lazydev completions top priority (see `:h blink.cmp`)
score_offset = 100,
},
},
},
})
end,
})

View File

@@ -16,37 +16,6 @@ require("auto-save").setup({
noautocmd = true,
})
local group = vim.api.nvim_create_augroup("autosave", {})
-- Notification to say when a file is saved
vim.api.nvim_create_autocmd("User", {
pattern = "AutoSaveWritePre",
group = group,
callback = function(opts)
if opts.data.saved_buffer ~= nil then
local filename = vim.fn.expand("%:t")
print("Saved '" .. filename .. "' at " .. vim.fn.strftime("%H:%M:%S"))
end
end,
})
-- Notification when enabling/disabling autosave for a buffer
vim.api.nvim_create_autocmd("User", {
pattern = "AutoSaveEnable",
group = group,
callback = function(opts)
print("AutoSave enabled")
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "AutoSaveDisable",
group = group,
callback = function(opts)
print("AutoSave disabled")
end,
})
-- enable remember
require("remember").setup({})

View File

@@ -0,0 +1,37 @@
vim.pack.add({
{ src = "https://github.com/nvim-telescope/telescope.nvim", name = "telescope" },
{ src = "https://github.com/nvim-lua/plenary.nvim", name = "plenary" },
{ src = "https://github.com/nvim-telescope/telescope-symbols.nvim", name = "telescope-symbols" },
{ src = "https://github.com/nvim-telescope/telescope-ui-select.nvim", name = "telescope-ui-select" },
{ src = "https://github.com/nvim-telescope/telescope-fzf-native.nvim", name = "telescope-fzf" },
{ src = "https://github.com/nvim-telescope/telescope-file-browser.nvim", name = "telescope-file-browser" },
{ src = "https://github.com/2kabhishek/nerdy.nvim", name = "telescope-nerdy" },
})
require("telescope").setup({
defaults = {
file_ignore_patterns = { ".git", ".venv", ".node_modules" },
},
pickers = {
live_grep = {
additional_args = function()
return { "--hidden" }
end,
},
},
extensions = {
file_browser = {
theme = "ivy",
hijack_netrw = true,
},
["ui-select"] = {
require("telescope.themes").get_dropdown({
-- even more opts
}),
},
},
})
require("telescope").load_extension("file_browser")
require("telescope").load_extension("ui-select")
require("telescope").load_extension("nerdy")

View File

@@ -80,6 +80,30 @@
"rev": "e462b9a07b8166c3e8011f1dcbc6bf68b67cd8d7",
"src": "https://github.com/Aasim-A/scrollEOF.nvim"
},
"telescope": {
"rev": "471eebb1037899fd942cc0f52c012f8773505da1",
"src": "https://github.com/nvim-telescope/telescope.nvim"
},
"telescope-file-browser": {
"rev": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e",
"src": "https://github.com/nvim-telescope/telescope-file-browser.nvim"
},
"telescope-fzf": {
"rev": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c",
"src": "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
},
"telescope-nerdy": {
"rev": "97b0914dece80204a777f04c94b9980da0f7ac88",
"src": "https://github.com/2kabhishek/nerdy.nvim"
},
"telescope-symbols": {
"rev": "a6d0127a53d39b9fc2af75bd169d288166118aec",
"src": "https://github.com/nvim-telescope/telescope-symbols.nvim"
},
"telescope-ui-select": {
"rev": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2",
"src": "https://github.com/nvim-telescope/telescope-ui-select.nvim"
},
"treesitter": {
"rev": "4916d6592ede8c07973490d9322f187e07dfefac",
"src": "https://github.com/nvim-treesitter/nvim-treesitter"