Initial commit
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
local wk = require("which-key")
|
||||
local builtin = require('telescope.builtin')
|
||||
|
||||
wk.add({
|
||||
-- Essentials
|
||||
{ "<leader>w", "<cmd>w<cr>", desc = "Save File" },
|
||||
{ "<leader>q", "<cmd>q<cr>", desc = "Quit" },
|
||||
{ "<leader>e", "<cmd>NvimTreeToggle<cr>", desc = "Toggle Explorer (Tree)" },
|
||||
|
||||
-- Navigation / Buffers
|
||||
{ "<leader>[", "<cmd>bprevious<cr>", desc = "Prev Buffer" },
|
||||
{ "<leader>]", "<cmd>bnext<cr>", desc = "Next Buffer" },
|
||||
{ "<leader>b", builtin.buffers, desc = "List Buffers (Telescope)" },
|
||||
{ "<leader>x", "<cmd>bdelete<cr>", desc = "Close Buffer" },
|
||||
|
||||
-- File Group
|
||||
{ "<leader>f", group = "File" },
|
||||
{ "<leader>fn", function()
|
||||
local name = vim.fn.input("New file/dir: ")
|
||||
if name == "" then return end
|
||||
if name:sub(-1) == "/" then
|
||||
vim.fn.mkdir(name, "p")
|
||||
else
|
||||
local dir = vim.fn.fnamemodify(name, ":h")
|
||||
if vim.fn.isdirectory(dir) == 0 then vim.fn.mkdir(dir, "p") end
|
||||
vim.cmd("edit " .. name)
|
||||
end
|
||||
end, desc = "New File/Dir" },
|
||||
|
||||
{ "<leader>fd", function()
|
||||
local current_file = vim.api.nvim_buf_get_name(0)
|
||||
if current_file == "" then return end
|
||||
if vim.fn.confirm("Delete " .. current_file .. "?", "&Yes\n&No", 2) == 1 then
|
||||
os.remove(current_file)
|
||||
vim.api.nvim_buf_delete(0, { force = true })
|
||||
end
|
||||
end, desc = "Delete Current File" },
|
||||
|
||||
-- Search Group
|
||||
{ "<leader>s", group = "Search" },
|
||||
{ "<leader>sf", builtin.find_files, desc = "Files" },
|
||||
{ "<leader>sw", builtin.live_grep, desc = "Word (Global)" },
|
||||
|
||||
-- Symbol Searching
|
||||
{ "<leader>ss", builtin.lsp_dynamic_workspace_symbols, desc = "Workspace Symbols" },
|
||||
{ "<leader>sl", builtin.lsp_document_symbols, desc = "Document Symbols (Current File)" },
|
||||
|
||||
-- LSP
|
||||
{ "gd", vim.lsp.buf.definition, desc = "Go to Definition" },
|
||||
{ "K", vim.lsp.buf.hover, desc = "Hover Documentation" },
|
||||
})
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
local configs = require 'nvim_lsp/configs'
|
||||
local util = require 'nvim_lsp/util'
|
||||
|
||||
configs.zls = {
|
||||
default_config = {
|
||||
cmd = {"/usr/local/bin/zls"};
|
||||
filetypes = {"zig"};
|
||||
root_dir = util.root_pattern("build.zig", ".git");
|
||||
};
|
||||
docs = {
|
||||
description = [[ ]];
|
||||
default_config = {
|
||||
root_dir = [[root_pattern("build.zig", ".git")]];
|
||||
};
|
||||
};
|
||||
}
|
||||
-- vim:et ts=2 sw=2
|
||||
@@ -0,0 +1,19 @@
|
||||
local builtin = require('telescope.builtin')
|
||||
|
||||
-- 1. Search for words across all files (Project-wide grep)
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Find by Grep' })
|
||||
|
||||
-- 2. General File Search
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Find Files' })
|
||||
|
||||
-- 3. Targeted Struct/Model Search
|
||||
-- This opens Telescope filtered specifically to your models.zig file
|
||||
vim.keymap.set('n', '<leader>fm', function()
|
||||
builtin.live_grep({
|
||||
search_dirs = { "src/models.zig" }, -- Adjust path if necessary
|
||||
prompt_title = "Search Structs in Models",
|
||||
})
|
||||
end, { desc = 'Search in models.zig' })
|
||||
|
||||
-- 4. LSP Symbol Search (Great for finding structs in the current file)
|
||||
vim.keymap.set('n', '<leader>fs', builtin.lsp_document_symbols, { desc = 'Find Symbols' })
|
||||
Reference in New Issue
Block a user