Compare commits
1 Commits
wip
...
8edd393b3d
| Author | SHA1 | Date | |
|---|---|---|---|
| 8edd393b3d |
@@ -1,57 +1,4 @@
|
||||
require("config.options")
|
||||
require("config.remap")
|
||||
require("config.lazy")
|
||||
require("config.lsp")
|
||||
|
||||
local ok, paq = pcall(require, "paq")
|
||||
if ok then
|
||||
paq({
|
||||
"EdenEast/nightfox.nvim",
|
||||
"stevearc/conform.nvim",
|
||||
"otavioschwanck/arrow.nvim",
|
||||
"folke/flash.nvim",
|
||||
"folke/snacks.nvim",
|
||||
"stevearc/oil.nvim",
|
||||
{
|
||||
"jake-stewart/multicursor.nvim",
|
||||
branch = "1.0",
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||
branch = "master",
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
branch = "master",
|
||||
build = ":TSUpdate",
|
||||
},
|
||||
})
|
||||
else
|
||||
print("plugin paq missing")
|
||||
end
|
||||
|
||||
local function load_plugin(name, setup)
|
||||
local cfg = require(setup)
|
||||
name = cfg.main or name
|
||||
local ok, plugin = pcall(require, name)
|
||||
if ok then
|
||||
if cfg.config then
|
||||
cfg.config(cfg.opts)
|
||||
else
|
||||
plugin.setup(cfg.opts)
|
||||
end
|
||||
if cfg.init then
|
||||
cfg.init(plugin)
|
||||
end
|
||||
else
|
||||
print("plugin " .. name .. " missing")
|
||||
end
|
||||
end
|
||||
|
||||
load_plugin("arrow", "plugins.arrow")
|
||||
load_plugin("nightfox", "plugins.colorscheme")
|
||||
load_plugin("conform", "plugins.conform")
|
||||
load_plugin("flash", "plugins.flash")
|
||||
load_plugin("multicursor-nvim", "plugins.multicursor")
|
||||
load_plugin("oil", "plugins.oil")
|
||||
load_plugin("snacks", "plugins.snacks")
|
||||
load_plugin("treesitter", "plugins.treesitter")
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
"multicursor.nvim": { "branch": "1.0", "commit": "a6cf4e7daaf10a6b14bb7838caf779f0de5070cd" },
|
||||
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
|
||||
"oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" }
|
||||
}
|
||||
|
||||
@@ -17,13 +17,10 @@ function M.terminalbg()
|
||||
end
|
||||
end
|
||||
|
||||
function M.update_colorscheme(only_if_changed)
|
||||
local next = M.terminalbg()
|
||||
if not only_if_changed or next ~= vim.o.background then
|
||||
vim.o.background = next
|
||||
if colorschemes then
|
||||
vim.cmd.colorscheme(colorschemes[next])
|
||||
end
|
||||
function M.update_colorscheme()
|
||||
vim.o.background = M.terminalbg()
|
||||
if colorschemes then
|
||||
vim.cmd.colorscheme(colorschemes[vim.o.background])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -45,7 +42,7 @@ local function watch(fname)
|
||||
fname,
|
||||
{},
|
||||
vim.schedule_wrap(function(...)
|
||||
M.update_colorscheme(true)
|
||||
M.update_colorscheme()
|
||||
w:stop()
|
||||
watch(fname)
|
||||
end)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
return {
|
||||
"otavioschwanck/arrow.nvim",
|
||||
opts = {
|
||||
show_icons = false,
|
||||
leader_key = "_",
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
return {
|
||||
opts = {
|
||||
specs = {
|
||||
all = {
|
||||
syntax = {
|
||||
operator = "#bf8040",
|
||||
{
|
||||
"EdenEast/nightfox.nvim",
|
||||
opts = {
|
||||
specs = {
|
||||
all = {
|
||||
syntax = {
|
||||
operator = "#bf8040",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
init = function()
|
||||
local cs = require("config.colorscheme")
|
||||
cs.set_colorschemes("nightfox", "dayfox")
|
||||
cs.update_colorscheme()
|
||||
end,
|
||||
},
|
||||
init = function()
|
||||
local cs = require("config.colorscheme")
|
||||
cs.set_colorschemes("nightfox", "dayfox")
|
||||
cs.update_colorscheme()
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
return {
|
||||
"stevearc/conform.nvim",
|
||||
opts = {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
return {
|
||||
"folke/flash.nvim",
|
||||
event = "VeryLazy",
|
||||
---@type Flash.Config
|
||||
opts = {
|
||||
modes = {
|
||||
char = {
|
||||
@@ -6,19 +9,46 @@ return {
|
||||
},
|
||||
},
|
||||
},
|
||||
init = function()
|
||||
local set = vim.keymap.set
|
||||
set({ "n", "x", "o" }, "\\", function()
|
||||
require("flash").jump()
|
||||
end, { desc = "Flash" })
|
||||
set({ "n", "x", "o" }, "=", function()
|
||||
require("flash").treesitter()
|
||||
end, { desc = "Flash Treesitter" })
|
||||
set({ "o" }, "r", function()
|
||||
require("flash").remote()
|
||||
end, { desc = "Remote Flash" })
|
||||
set({ "n", "x", "o" }, " t", function()
|
||||
require("flash").treesitter_search()
|
||||
end, { desc = "Treesitter Search" })
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
"\\",
|
||||
mode = { "n", "x", "o" },
|
||||
function()
|
||||
require("flash").jump()
|
||||
end,
|
||||
desc = "Flash",
|
||||
},
|
||||
{
|
||||
"=",
|
||||
mode = { "n", "x", "o" },
|
||||
function()
|
||||
require("flash").treesitter()
|
||||
end,
|
||||
desc = "Flash Treesitter",
|
||||
},
|
||||
{
|
||||
" r",
|
||||
mode = "o",
|
||||
function()
|
||||
require("flash").remote()
|
||||
end,
|
||||
desc = "Remote Flash",
|
||||
},
|
||||
{
|
||||
" R",
|
||||
mode = { "o", "x" },
|
||||
function()
|
||||
require("flash").treesitter_search()
|
||||
end,
|
||||
desc = "Treesitter Search",
|
||||
},
|
||||
{
|
||||
"<c-s>",
|
||||
mode = { "c" },
|
||||
function()
|
||||
require("flash").toggle()
|
||||
end,
|
||||
desc = "Toggle Flash Search",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
return {
|
||||
init = function(mc)
|
||||
"jake-stewart/multicursor.nvim",
|
||||
branch = "1.0",
|
||||
config = function()
|
||||
local mc = require("multicursor-nvim")
|
||||
mc.setup()
|
||||
|
||||
local set = vim.keymap.set
|
||||
|
||||
-- Add or skip cursor above/below the main cursor.
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
return {
|
||||
init = function()
|
||||
vim.keymap.set("n", "<leader>-", "<cmd>Oil<cr>", { desc = "Oil file manager" })
|
||||
end,
|
||||
"stevearc/oil.nvim",
|
||||
opts = {},
|
||||
lazy = false,
|
||||
keys = {
|
||||
{ "<leader>-", "<cmd>Oil<cr>", desc = "Oil file manager" },
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,142 +1,241 @@
|
||||
return {
|
||||
init = function()
|
||||
local set = vim.keymap.set
|
||||
|
||||
set("n", "<leader><space>", function()
|
||||
Snacks.picker.smart()
|
||||
end, { desc = "Smart Find Files" })
|
||||
|
||||
set("n", "<leader><space>", function()
|
||||
Snacks.picker.smart()
|
||||
end, { desc = "Smart Find Files" })
|
||||
|
||||
set("n", "<leader>a", function()
|
||||
Snacks.picker.buffers()
|
||||
end, { desc = "Buffers" })
|
||||
|
||||
set("n", "<leader>r", function()
|
||||
Snacks.picker.recent()
|
||||
end, { desc = "Recent files" })
|
||||
|
||||
set("n", "<leader>R", function()
|
||||
Snacks.picker.resume()
|
||||
end, { desc = "Resume" })
|
||||
|
||||
set("n", "<leader>b", function()
|
||||
Snacks.picker.lines()
|
||||
end, { desc = "Buffer lines" })
|
||||
|
||||
set("n", "<leader>B", function()
|
||||
Snacks.picker.grep_buffers()
|
||||
end, { desc = "Grep Open Buffers" })
|
||||
|
||||
set("n", "<leader>f", function()
|
||||
Snacks.picker.files()
|
||||
end, { desc = "Find Files" })
|
||||
|
||||
set("n", "<leader>s", function()
|
||||
Snacks.picker.grep()
|
||||
end, { desc = "Grep" })
|
||||
|
||||
set("n", "<leader>S", function()
|
||||
Snacks.picker.git_status()
|
||||
end, { desc = "Git Status" })
|
||||
|
||||
set("n", "<leader>g", function()
|
||||
Snacks.picker.git_files()
|
||||
end, { desc = "Find Git Files" })
|
||||
|
||||
set("n", "<leader>G", function()
|
||||
Snacks.picker.git_grep()
|
||||
end, { desc = "Git Grep" })
|
||||
|
||||
set("n", "<leader>l", function()
|
||||
Snacks.lazygit()
|
||||
end, { desc = "Lazygit" })
|
||||
|
||||
set("n", "<leader>L", function()
|
||||
Snacks.lazygit.log_file()
|
||||
end, { desc = "Lazygit log file" })
|
||||
|
||||
set("n", "<leader>n", function()
|
||||
Snacks.notifier.show_history()
|
||||
end, { desc = "Notification History" })
|
||||
|
||||
set("n", "<leader>N", function()
|
||||
Snacks.picker.notifications()
|
||||
end, { desc = "Notifications" })
|
||||
|
||||
set("n", "<leader>C", function()
|
||||
Snacks.picker.commands()
|
||||
end, { desc = "Commands" })
|
||||
|
||||
set("n", "<leader>h", function()
|
||||
Snacks.picker.keymaps()
|
||||
end, { desc = "Keymaps" })
|
||||
|
||||
set("n", "<leader>:", function()
|
||||
Snacks.picker.command_history()
|
||||
end, { desc = "Command History" })
|
||||
|
||||
set("n", '<leader>"', function()
|
||||
Snacks.picker.registers()
|
||||
end, { desc = "Registers" })
|
||||
|
||||
set("n", "<leader>$", function()
|
||||
Snacks.rename.rename_file()
|
||||
end, { desc = "Rename File" })
|
||||
|
||||
set("n", "<leader>z", function()
|
||||
Snacks.zen.zoom()
|
||||
end, { desc = "Toggle Zoom" })
|
||||
"folke/snacks.nvim",
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
keys = {
|
||||
{
|
||||
"<leader><space>",
|
||||
function()
|
||||
Snacks.picker.smart()
|
||||
end,
|
||||
desc = "Smart Find Files",
|
||||
},
|
||||
{
|
||||
"<leader>a",
|
||||
function()
|
||||
Snacks.picker.buffers()
|
||||
end,
|
||||
desc = "Buffers",
|
||||
},
|
||||
{
|
||||
"<leader>r",
|
||||
function()
|
||||
Snacks.picker.recent()
|
||||
end,
|
||||
desc = "Recent files",
|
||||
},
|
||||
{
|
||||
"<leader>R",
|
||||
function()
|
||||
Snacks.picker.resume()
|
||||
end,
|
||||
desc = "Resume",
|
||||
},
|
||||
{
|
||||
"<leader>b",
|
||||
function()
|
||||
Snacks.picker.lines()
|
||||
end,
|
||||
desc = "Buffer lines",
|
||||
},
|
||||
{
|
||||
"<leader>B",
|
||||
function()
|
||||
Snacks.picker.grep_buffers()
|
||||
end,
|
||||
desc = "Grep Open Buffers",
|
||||
},
|
||||
{
|
||||
"<leader>f",
|
||||
function()
|
||||
Snacks.picker.files()
|
||||
end,
|
||||
desc = "Find Files",
|
||||
},
|
||||
{
|
||||
"<leader>s",
|
||||
function()
|
||||
Snacks.picker.grep()
|
||||
end,
|
||||
desc = "Grep",
|
||||
},
|
||||
{
|
||||
"<leader>S",
|
||||
function()
|
||||
Snacks.picker.git_status()
|
||||
end,
|
||||
desc = "Git Status",
|
||||
},
|
||||
{
|
||||
"<leader>g",
|
||||
function()
|
||||
Snacks.picker.git_files()
|
||||
end,
|
||||
desc = "Find Git Files",
|
||||
},
|
||||
{
|
||||
"<leader>G",
|
||||
function()
|
||||
Snacks.picker.git_grep()
|
||||
end,
|
||||
desc = "Git Grep",
|
||||
},
|
||||
{
|
||||
"<leader>l",
|
||||
function()
|
||||
Snacks.lazygit()
|
||||
end,
|
||||
desc = "Lazygit",
|
||||
},
|
||||
{
|
||||
"<leader>L",
|
||||
function()
|
||||
Snacks.lazygit.log_file()
|
||||
end,
|
||||
desc = "Lazygit log file",
|
||||
},
|
||||
{
|
||||
"<leader>n",
|
||||
function()
|
||||
Snacks.notifier.show_history()
|
||||
end,
|
||||
desc = "Notification History",
|
||||
},
|
||||
{
|
||||
"<leader>N",
|
||||
function()
|
||||
Snacks.picker.notifications()
|
||||
end,
|
||||
desc = "Notifications",
|
||||
},
|
||||
{
|
||||
"<leader>C",
|
||||
function()
|
||||
Snacks.picker.commands()
|
||||
end,
|
||||
desc = "Commands",
|
||||
},
|
||||
{
|
||||
"<leader>h",
|
||||
function()
|
||||
Snacks.picker.keymaps()
|
||||
end,
|
||||
desc = "Keymaps",
|
||||
},
|
||||
{
|
||||
"<leader>:",
|
||||
function()
|
||||
Snacks.picker.command_history()
|
||||
end,
|
||||
desc = "Command History",
|
||||
},
|
||||
{
|
||||
'<leader>"',
|
||||
function()
|
||||
Snacks.picker.registers()
|
||||
end,
|
||||
desc = "Registers",
|
||||
},
|
||||
{
|
||||
"<leader>$",
|
||||
function()
|
||||
Snacks.rename.rename_file()
|
||||
end,
|
||||
desc = "Rename File",
|
||||
},
|
||||
{
|
||||
"<leader>z",
|
||||
function()
|
||||
Snacks.zen.zoom()
|
||||
end,
|
||||
desc = "Toggle Zoom",
|
||||
},
|
||||
-- LSP
|
||||
|
||||
set("n", "gd", function()
|
||||
Snacks.picker.lsp_definitions()
|
||||
end, { desc = "Goto Definition" })
|
||||
|
||||
set("n", "gD", function()
|
||||
Snacks.picker.lsp_declarations()
|
||||
end, { desc = "Goto Declaration" })
|
||||
|
||||
set("n", "gr", function()
|
||||
Snacks.picker.lsp_references()
|
||||
end, { desc = "References" })
|
||||
|
||||
set("n", "gI", function()
|
||||
Snacks.picker.lsp_implementations()
|
||||
end, { desc = "Goto Implementation" })
|
||||
|
||||
set("n", "gy", function()
|
||||
Snacks.picker.lsp_type_definitions()
|
||||
end, { desc = "Goto T[y]pe Definition" })
|
||||
|
||||
set("n", "<leader>w", function()
|
||||
Snacks.picker.lsp_symbols()
|
||||
end, { desc = "LSP Symbols" })
|
||||
|
||||
set("n", "<leader>d", function()
|
||||
Snacks.picker.diagnostics_buffer()
|
||||
end, { desc = "Buffer Diagnostics" })
|
||||
|
||||
set("n", "<leader>D", function()
|
||||
Snacks.picker.diagnostics()
|
||||
end, { desc = "Diagnostics" })
|
||||
|
||||
set("n", "<leader>W", function()
|
||||
Snacks.picker.lsp_workspace_symbols()
|
||||
end, { desc = "LSP Workspace Symbols" })
|
||||
{
|
||||
"gd",
|
||||
function()
|
||||
Snacks.picker.lsp_definitions()
|
||||
end,
|
||||
desc = "Goto Definition",
|
||||
},
|
||||
{
|
||||
"gD",
|
||||
function()
|
||||
Snacks.picker.lsp_declarations()
|
||||
end,
|
||||
desc = "Goto Declaration",
|
||||
},
|
||||
{
|
||||
"gr",
|
||||
function()
|
||||
Snacks.picker.lsp_references()
|
||||
end,
|
||||
nowait = true,
|
||||
desc = "References",
|
||||
},
|
||||
{
|
||||
"gI",
|
||||
function()
|
||||
Snacks.picker.lsp_implementations()
|
||||
end,
|
||||
desc = "Goto Implementation",
|
||||
},
|
||||
{
|
||||
"gy",
|
||||
function()
|
||||
Snacks.picker.lsp_type_definitions()
|
||||
end,
|
||||
desc = "Goto T[y]pe Definition",
|
||||
},
|
||||
{
|
||||
"<leader>w",
|
||||
function()
|
||||
Snacks.picker.lsp_symbols()
|
||||
end,
|
||||
desc = "LSP Symbols",
|
||||
},
|
||||
{
|
||||
"<leader>d",
|
||||
function()
|
||||
Snacks.picker.diagnostics_buffer()
|
||||
end,
|
||||
desc = "Buffer Diagnostics",
|
||||
},
|
||||
{
|
||||
"<leader>D",
|
||||
function()
|
||||
Snacks.picker.diagnostics()
|
||||
end,
|
||||
desc = "Diagnostics",
|
||||
},
|
||||
{
|
||||
"<leader>W",
|
||||
function()
|
||||
Snacks.picker.lsp_workspace_symbols()
|
||||
end,
|
||||
desc = "LSP Workspace Symbols",
|
||||
},
|
||||
-- Terminal
|
||||
|
||||
set({ "n", "t" }, "<c-/>", function()
|
||||
Snacks.terminal()
|
||||
end, { desc = "Toggle Terminal" })
|
||||
|
||||
set({ "n", "t" }, "<c-_>", function()
|
||||
Snacks.terminal()
|
||||
end, { desc = "which_key_ignore" })
|
||||
|
||||
vim.api.nvim_create_autocmd("VimEnter", {
|
||||
{
|
||||
"<c-/>",
|
||||
function()
|
||||
Snacks.terminal()
|
||||
end,
|
||||
mode = { "n", "t" },
|
||||
desc = "Toggle Terminal",
|
||||
},
|
||||
{
|
||||
"<c-_>",
|
||||
function()
|
||||
Snacks.terminal()
|
||||
end,
|
||||
mode = { "n", "t" },
|
||||
desc = "which_key_ignore",
|
||||
},
|
||||
},
|
||||
init = function()
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "VeryLazy",
|
||||
callback = function()
|
||||
-- Setup some globals for debugging (lazy-loaded)
|
||||
_G.dd = function(...)
|
||||
|
||||
@@ -1,62 +1,12 @@
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
branch = "master",
|
||||
lazy = false,
|
||||
build = ":TSUpdate",
|
||||
main = "nvim-treesitter.configs",
|
||||
opts = {
|
||||
highlight = {
|
||||
enable = true,
|
||||
},
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
lookahead = true,
|
||||
keymaps = {
|
||||
["aa"] = "@parameter.outer",
|
||||
["ia"] = "@parameter.inner",
|
||||
["af"] = "@function.outer",
|
||||
["if"] = "@function.inner",
|
||||
["ac"] = "@class.outer",
|
||||
["ic"] = "@class.inner",
|
||||
["al"] = "@call.outer",
|
||||
["il"] = "@call.inner",
|
||||
["ao"] = "@loop.outer",
|
||||
["io"] = "@loop.inner",
|
||||
["ad"] = "@conditional.outer",
|
||||
["id"] = "@conditional.inner",
|
||||
["ar"] = "@return.outer",
|
||||
["ir"] = "@return.inner",
|
||||
["as"] = "@statement.outer",
|
||||
["ag"] = "@assignment.outer",
|
||||
["ig"] = "@assignment.inner",
|
||||
},
|
||||
},
|
||||
move = {
|
||||
enable = true,
|
||||
set_jumps = true,
|
||||
goto_next_start = {
|
||||
["]m"] = "@function.outer",
|
||||
["]]"] = "@class.outer",
|
||||
},
|
||||
goto_next_end = {
|
||||
["]M"] = "@function.outer",
|
||||
["]["] = "@class.outer",
|
||||
},
|
||||
goto_previous_start = {
|
||||
["[m"] = "@function.outer",
|
||||
["[["] = "@class.outer",
|
||||
},
|
||||
goto_previous_end = {
|
||||
["[M"] = "@function.outer",
|
||||
["[]"] = "@class.outer",
|
||||
},
|
||||
},
|
||||
swap = {
|
||||
enable = true,
|
||||
swap_next = {
|
||||
["<leader>p"] = "@parameter.inner",
|
||||
},
|
||||
swap_previous = {
|
||||
["<leader>P"] = "@parameter.inner",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user