mirror of
https://github.com/pratiktri/dotfiles.git
synced 2026-02-04 08:41:43 +05:30
feat(nvim): Align to Kickstart NVIM
This commit is contained in:
@@ -33,17 +33,14 @@
|
|||||||
require("config")
|
require("config")
|
||||||
|
|
||||||
-- `:help lazy.nvim.txt` for more info
|
-- `:help lazy.nvim.txt` for more info
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
vim.system({
|
local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
|
||||||
"git",
|
local out = vim.fn.system { 'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath }
|
||||||
"clone",
|
if vim.v.shell_error ~= 0 then
|
||||||
"--filter=blob:none",
|
error('Error cloning lazy.nvim:\n' .. out)
|
||||||
"https://github.com/folke/lazy.nvim.git",
|
end
|
||||||
"--branch=stable",
|
end ---@diagnostic disable-next-line: undefined-field
|
||||||
lazypath,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
-- You can also configure plugins after the setup call,
|
-- You can also configure plugins after the setup call,
|
||||||
|
|||||||
@@ -17,3 +17,8 @@ vim.opt.inccommand = "split" -- With :%s command, show the preview in a split in
|
|||||||
vim.opt.splitkeep = "screen"
|
vim.opt.splitkeep = "screen"
|
||||||
-- Fix markdown indentation settings
|
-- Fix markdown indentation settings
|
||||||
vim.g.markdown_recommended_style = 0
|
vim.g.markdown_recommended_style = 0
|
||||||
|
|
||||||
|
vim.g.have_nerd_font = true
|
||||||
|
|
||||||
|
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }
|
||||||
|
vim.opt.inccommand = 'split'
|
||||||
|
|||||||
@@ -5,10 +5,33 @@ return {
|
|||||||
{
|
{
|
||||||
-- Autocompletion
|
-- Autocompletion
|
||||||
"hrsh7th/nvim-cmp",
|
"hrsh7th/nvim-cmp",
|
||||||
|
event = "InsertEnter",
|
||||||
cond = require("config.util").is_not_vscode(),
|
cond = require("config.util").is_not_vscode(),
|
||||||
dependencies = {
|
dependencies = {
|
||||||
-- Snippet Engine & its associated nvim-cmp source
|
-- Snippet Engine & its associated nvim-cmp source
|
||||||
"L3MON4D3/LuaSnip",
|
{
|
||||||
|
'L3MON4D3/LuaSnip',
|
||||||
|
build = (function()
|
||||||
|
-- Build Step is needed for regex support in snippets.
|
||||||
|
-- This step is not supported in many windows environments.
|
||||||
|
-- Remove the below condition to re-enable on windows.
|
||||||
|
if vim.fn.has 'win32' == 1 or vim.fn.executable 'make' == 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
return 'make install_jsregexp'
|
||||||
|
end)(),
|
||||||
|
dependencies = {
|
||||||
|
-- `friendly-snippets` contains a variety of premade snippets.
|
||||||
|
-- See the README about individual language/framework/plugin snippets:
|
||||||
|
-- https://github.com/rafamadriz/friendly-snippets
|
||||||
|
{
|
||||||
|
'rafamadriz/friendly-snippets',
|
||||||
|
config = function()
|
||||||
|
require('luasnip.loaders.from_vscode').lazy_load()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
"saadparwaiz1/cmp_luasnip",
|
"saadparwaiz1/cmp_luasnip",
|
||||||
|
|
||||||
-- Adds LSP completion capabilities
|
-- Adds LSP completion capabilities
|
||||||
@@ -18,9 +41,6 @@ return {
|
|||||||
|
|
||||||
"hrsh7th/cmp-vsnip",
|
"hrsh7th/cmp-vsnip",
|
||||||
"hrsh7th/vim-vsnip",
|
"hrsh7th/vim-vsnip",
|
||||||
|
|
||||||
-- Adds a number of user-friendly snippets
|
|
||||||
"rafamadriz/friendly-snippets",
|
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
-- See `:help cmp`
|
-- See `:help cmp`
|
||||||
@@ -63,6 +83,19 @@ return {
|
|||||||
behavior = cmp.ConfirmBehavior.Replace,
|
behavior = cmp.ConfirmBehavior.Replace,
|
||||||
select = true,
|
select = true,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
-- <C-l> will move you to the right of each of the expansion locations
|
||||||
|
-- <C-h> is similar, except moving you backwards.
|
||||||
|
["<C-l>"] = cmp.mapping(function()
|
||||||
|
if luasnip.expand_or_locally_jumpable() then
|
||||||
|
luasnip.expand_or_jump()
|
||||||
|
end
|
||||||
|
end, { 'i', 's' }),
|
||||||
|
["<C-h>"] = cmp.mapping(function()
|
||||||
|
if luasnip.locally_jumpable(-1) then
|
||||||
|
luasnip.jump(-1)
|
||||||
|
end
|
||||||
|
end, { 'i', 's' }),
|
||||||
}),
|
}),
|
||||||
sources = {
|
sources = {
|
||||||
{ name = "nvim_lsp" },
|
{ name = "nvim_lsp" },
|
||||||
|
|||||||
@@ -3,56 +3,63 @@ return {
|
|||||||
"stevearc/conform.nvim",
|
"stevearc/conform.nvim",
|
||||||
-- cond = require("config.util").is_not_vscode(),
|
-- cond = require("config.util").is_not_vscode(),
|
||||||
lazy = true,
|
lazy = true,
|
||||||
event = { "BufReadPre", "BufNewFile" },
|
event = { "BufWritePre" },
|
||||||
config = function()
|
opts = {
|
||||||
local conform = require("conform")
|
formatters_by_ft = {
|
||||||
|
javascript = { "prettierd", "prettier", stop_after_first = true },
|
||||||
conform.setup({
|
typescript = { "prettierd", "prettier", stop_after_first = true },
|
||||||
formatters_by_ft = {
|
javascriptreact = { "prettierd", "prettier", stop_after_first = true },
|
||||||
javascript = { "prettierd", "prettier", stop_after_first = true },
|
typescriptreact = { "prettierd", "prettier", stop_after_first = true },
|
||||||
typescript = { "prettierd", "prettier", stop_after_first = true },
|
svelte = { "prettierd", "prettier", stop_after_first = true },
|
||||||
javascriptreact = { "prettierd", "prettier", stop_after_first = true },
|
css = { "prettierd", "prettier", stop_after_first = true },
|
||||||
typescriptreact = { "prettierd", "prettier", stop_after_first = true },
|
html = { "prettierd", "prettier", stop_after_first = true },
|
||||||
svelte = { "prettierd", "prettier", stop_after_first = true },
|
json = { "prettierd", "prettier", stop_after_first = true },
|
||||||
css = { "prettierd", "prettier", stop_after_first = true },
|
graphql = { "prettierd", "prettier", stop_after_first = true },
|
||||||
html = { "prettierd", "prettier", stop_after_first = true },
|
yaml = { "yamlfmt", "prettierd", stop_after_first = true },
|
||||||
json = { "prettierd", "prettier", stop_after_first = true },
|
markdown = { "markdownlint" },
|
||||||
graphql = { "prettierd", "prettier", stop_after_first = true },
|
lua = { "stylua" },
|
||||||
yaml = { "yamlfmt", "prettierd", stop_after_first = true },
|
python = { "black" },
|
||||||
markdown = { "markdownlint" },
|
sh = { "shfmt", "shellharden", stop_after_first = true },
|
||||||
lua = { "stylua" },
|
bash = { "shfmt", "shellharden", stop_after_first = true },
|
||||||
python = { "black" },
|
zsh = { "shfmt", "shellharden", stop_after_first = true },
|
||||||
sh = { "shfmt", "shellharden", stop_after_first = true },
|
["_"] = { "trim_whitespace" },
|
||||||
bash = { "shfmt", "shellharden", stop_after_first = true },
|
},
|
||||||
zsh = { "shfmt", "shellharden", stop_after_first = true },
|
format_on_save = function(bufnr)
|
||||||
["_"] = { "trim_whitespace" },
|
-- Disable "format_on_save lsp_fallback" for languages that don't
|
||||||
},
|
-- have a well standardized coding style. You can add additional
|
||||||
format_on_save = {
|
-- languages here or re-enable it for the disabled ones.
|
||||||
lsp_fallback = true,
|
local disable_filetypes = { c = true, cpp = true }
|
||||||
async = false,
|
local lsp_format_opt
|
||||||
timeout_ms = 3000,
|
if disable_filetypes[vim.bo[bufnr].filetype] then
|
||||||
|
lsp_format_opt = 'never'
|
||||||
|
else
|
||||||
|
lsp_format_opt = 'fallback'
|
||||||
|
end
|
||||||
|
return {
|
||||||
quiet = false,
|
quiet = false,
|
||||||
|
timeout_ms = 500,
|
||||||
|
lsp_format = lsp_format_opt,
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
formatters = {
|
||||||
|
injected = { options = { ignore_errors = true } },
|
||||||
|
shfmt = {
|
||||||
|
prepend_args = { "-i", "4" },
|
||||||
},
|
},
|
||||||
formatters = {
|
markdownlint = {
|
||||||
injected = { options = { ignore_errors = true } },
|
prepend_args = {
|
||||||
shfmt = {
|
"--config",
|
||||||
prepend_args = { "-i", "4" },
|
"~/.config/templates/markdownlint.json",
|
||||||
},
|
|
||||||
markdownlint = {
|
|
||||||
prepend_args = {
|
|
||||||
"--config",
|
|
||||||
"~/.config/templates/markdownlint.json",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
yamlfmt = {
|
|
||||||
prepend_args = {
|
|
||||||
"-formatter",
|
|
||||||
"include_document_start=true,retain_line_breaks_single=true",
|
|
||||||
"-gitignore_excludes",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
yamlfmt = {
|
||||||
end,
|
prepend_args = {
|
||||||
|
"-formatter",
|
||||||
|
"include_document_start=true,retain_line_breaks_single=true",
|
||||||
|
"-gitignore_excludes",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +1,6 @@
|
|||||||
return {
|
return {
|
||||||
{ "tpope/vim-repeat" },
|
{ "tpope/vim-repeat" },
|
||||||
|
|
||||||
-- Better surround than tpope/vim-surround
|
|
||||||
{
|
|
||||||
"kylechui/nvim-surround",
|
|
||||||
version = "*",
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("nvim-surround").setup({})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- "gc" to comment visual regions/lines
|
|
||||||
{
|
|
||||||
"numToStr/Comment.nvim",
|
|
||||||
cond = require("config.util").is_not_vscode(),
|
|
||||||
config = function()
|
|
||||||
require("Comment").setup({
|
|
||||||
pre_hook = function()
|
|
||||||
return vim.bo.commentstring
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Better code folding
|
-- Better code folding
|
||||||
{
|
{
|
||||||
"kevinhwang91/nvim-ufo",
|
"kevinhwang91/nvim-ufo",
|
||||||
@@ -39,8 +16,8 @@ return {
|
|||||||
require("statuscol").setup({
|
require("statuscol").setup({
|
||||||
relculright = true,
|
relculright = true,
|
||||||
segments = {
|
segments = {
|
||||||
{ text = { "%s" }, click = "v:lua.ScSa" },
|
{ text = { "%s" }, click = "v:lua.ScSa" },
|
||||||
{ text = { builtin.foldfunc }, click = "v:lua.ScFa" },
|
{ text = { builtin.foldfunc }, click = "v:lua.ScFa" },
|
||||||
{ text = { builtin.lnumfunc, " " }, click = "v:lua.ScLa" },
|
{ text = { builtin.lnumfunc, " " }, click = "v:lua.ScLa" },
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@@ -107,13 +84,6 @@ return {
|
|||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
-- auto pairs
|
|
||||||
{
|
|
||||||
"echasnovski/mini.pairs",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = {},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- indent guides for Neovim
|
-- indent guides for Neovim
|
||||||
{
|
{
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
@@ -140,6 +110,34 @@ return {
|
|||||||
main = "ibl",
|
main = "ibl",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- Collection of various small independent plugins/modules
|
||||||
|
{
|
||||||
|
"chasnovski/mini.nvim",
|
||||||
|
config = function()
|
||||||
|
-- Better Around/Inside textobjects
|
||||||
|
--
|
||||||
|
-- Examples:
|
||||||
|
-- - va) - [V]isually select [A]round [)]paren
|
||||||
|
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote
|
||||||
|
-- - ci' - [C]hange [I]nside [']quote
|
||||||
|
require('mini.ai').setup { n_lines = 500 }
|
||||||
|
|
||||||
|
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
||||||
|
--
|
||||||
|
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
|
||||||
|
-- - sd' - [S]urround [D]elete [']quotes
|
||||||
|
-- - sr)' - [S]urround [R]eplace [)] [']
|
||||||
|
require('mini.surround').setup()
|
||||||
|
|
||||||
|
require("mini.pairs").setup()
|
||||||
|
require("mini.comment").setup()
|
||||||
|
require("mini.completion").setup()
|
||||||
|
|
||||||
|
-- ... and there is more!
|
||||||
|
-- Check out: https://github.com/echasnovski/mini.nvim
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
-- Highlights the current level of indentation, and animates the highlighting.
|
-- Highlights the current level of indentation, and animates the highlighting.
|
||||||
{
|
{
|
||||||
"echasnovski/mini.indentscope",
|
"echasnovski/mini.indentscope",
|
||||||
@@ -167,10 +165,11 @@ return {
|
|||||||
-- Finds and lists all of the TODO, HACK, BUG, etc comment
|
-- Finds and lists all of the TODO, HACK, BUG, etc comment
|
||||||
{
|
{
|
||||||
"folke/todo-comments.nvim",
|
"folke/todo-comments.nvim",
|
||||||
lazy = false,
|
event = "VimEnter",
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
config = true,
|
config = true,
|
||||||
opts = {
|
opts = {
|
||||||
|
signs = false,
|
||||||
keywords = {
|
keywords = {
|
||||||
HACK = { alt = { "TIP" } },
|
HACK = { alt = { "TIP" } },
|
||||||
},
|
},
|
||||||
@@ -245,13 +244,11 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>o", "<cmd>Trouble symbols toggle preview.type=main focus=true<cr>", desc = "Code: Toggle Symbol Outline" },
|
|
||||||
|
|
||||||
{ "<leader>dd", "<cmd>Trouble project_errors toggle focus=true<cr>", desc = "Trouble: Document Diagnostics" },
|
{ "<leader>dd", "<cmd>Trouble project_errors toggle focus=true<cr>", desc = "Trouble: Document Diagnostics" },
|
||||||
{ "<leader>dw", "<cmd>Trouble most_severe toggle focus=true<cr>", desc = "Trouble: List Project Diagnostics" },
|
{ "<leader>dw", "<cmd>Trouble most_severe toggle focus=true<cr>", desc = "Trouble: List Project Diagnostics" },
|
||||||
{ "<leader>dl", "<cmd>Trouble loclist toggle focus=true<cr>", desc = "Trouble: Location List" },
|
{ "<leader>dl", "<cmd>Trouble loclist toggle focus=true<cr>", desc = "Trouble: Location List" },
|
||||||
{ "<leader>dq", "<cmd>Trouble quickfix toggle focus=true<cr>", desc = "Trouble: Quickfix List" },
|
{ "<leader>dq", "<cmd>Trouble quickfix toggle focus=true<cr>", desc = "Trouble: Quickfix List" },
|
||||||
{ "gr", "<cmd>Trouble lsp_references toggle focus=true<cr>", desc = "Code: List References" },
|
{ "gr", "<cmd>Trouble lsp_references toggle focus=true<cr>", desc = "Code: List References" },
|
||||||
{
|
{
|
||||||
"[q",
|
"[q",
|
||||||
function()
|
function()
|
||||||
@@ -333,8 +330,10 @@ return {
|
|||||||
})
|
})
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>cR", "<cmd>Lspsaga finder<cr>", { desc = "Code: Goto References" })
|
vim.keymap.set("n", "<leader>cR", "<cmd>Lspsaga finder<cr>", { desc = "Code: Goto References" })
|
||||||
vim.keymap.set("n", "<leader>cd", "<cmd>Lspsaga peek_definition<cr>", { desc = "Code: Peek definition: Function" })
|
vim.keymap.set("n", "<leader>cd", "<cmd>Lspsaga peek_definition<cr>",
|
||||||
vim.keymap.set("n", "<leader>cD", "<cmd>Lspsaga peek_type_definition<cr>", { desc = "Code: Peek definition: Class" })
|
{ desc = "Code: Peek definition: Function" })
|
||||||
|
vim.keymap.set("n", "<leader>cD", "<cmd>Lspsaga peek_type_definition<cr>",
|
||||||
|
{ desc = "Code: Peek definition: Class" })
|
||||||
|
|
||||||
vim.keymap.set("n", "K", "<cmd>Lspsaga hover_doc<cr>", { desc = "Hover Documentation" })
|
vim.keymap.set("n", "K", "<cmd>Lspsaga hover_doc<cr>", { desc = "Hover Documentation" })
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ return {
|
|||||||
},
|
},
|
||||||
config = true,
|
config = true,
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>gg", "<cmd>Neogit<cr>", desc = "Git: Open Neogit", mode = { "n" } },
|
{ "<leader>gg", "<cmd>Neogit<cr>", desc = "Git: Open Neogit", mode = { "n" } },
|
||||||
{ "<leader>gL", "<cmd>Neogit log<cr>", desc = "Git: Open Neogit Log", mode = { "n" } },
|
{ "<leader>gL", "<cmd>Neogit log<cr>", desc = "Git: Open Log", mode = { "n" } },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -20,9 +20,9 @@ return {
|
|||||||
"sindrets/diffview.nvim",
|
"sindrets/diffview.nvim",
|
||||||
keys = {
|
keys = {
|
||||||
|
|
||||||
{ "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "Git: Open Diffview", mode = { "n" } },
|
{ "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "Git: Open Diffview", mode = { "n" } },
|
||||||
{ "<leader>gD", "<cmd>DiffviewOpen<cr>", desc = "Git: Open Diffview against master", mode = { "n" } },
|
{ "<leader>gD", "<cmd>DiffviewOpen<cr>", desc = "Git: Open Diffview against master", mode = { "n" } },
|
||||||
{ "<leader>gh", "<cmd>DiffviewFileHistory<cr>", desc = "Git: Show file history", mode = { "n" } },
|
{ "<leader>gh", "<cmd>DiffviewFileHistory<cr>", desc = "Git: Show file history", mode = { "n" } },
|
||||||
},
|
},
|
||||||
-- TODO:
|
-- TODO:
|
||||||
-- Toggle Diffview keymap
|
-- Toggle Diffview keymap
|
||||||
@@ -116,7 +116,8 @@ return {
|
|||||||
-- FIX: Open files do NOT get replaced with the changed branch
|
-- FIX: Open files do NOT get replaced with the changed branch
|
||||||
require("telescope").load_extension("git_worktree")
|
require("telescope").load_extension("git_worktree")
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>gw", "<cmd> lua require('telescope').extensions.git_worktree.git_worktrees()<CR>")
|
vim.keymap.set("n", "<leader>gw",
|
||||||
|
"<cmd> lua require('telescope').extensions.git_worktree.git_worktrees()<CR>")
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,9 @@ return {
|
|||||||
|
|
||||||
-- Useful status updates for LSP
|
-- Useful status updates for LSP
|
||||||
{ "j-hui/fidget.nvim", opts = {} },
|
{ "j-hui/fidget.nvim", opts = {} },
|
||||||
|
|
||||||
|
-- Allows extra capabilities provided by nvim-cmp
|
||||||
|
'hrsh7th/cmp-nvim-lsp',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -156,10 +156,10 @@ return {
|
|||||||
},
|
},
|
||||||
window = {
|
window = {
|
||||||
position = "left",
|
position = "left",
|
||||||
width = 30, -- Saner window size
|
width = 30, -- Saner window size
|
||||||
mappings = {
|
mappings = {
|
||||||
["s"] = "open_split", -- horizontal split
|
["s"] = "open_split", -- horizontal split
|
||||||
["v"] = "open_vsplit", -- vertical split
|
["v"] = "open_vsplit", -- vertical split
|
||||||
["Y"] = function(state) -- Copy file's path to + register
|
["Y"] = function(state) -- Copy file's path to + register
|
||||||
local node = state.tree:get_node()
|
local node = state.tree:get_node()
|
||||||
local path = node:get_id()
|
local path = node:get_id()
|
||||||
@@ -169,7 +169,7 @@ return {
|
|||||||
},
|
},
|
||||||
default_component_configs = {
|
default_component_configs = {
|
||||||
indent = {
|
indent = {
|
||||||
indent_size = 2, -- Compact tree display
|
indent_size = 2, -- Compact tree display
|
||||||
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
|
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
|
||||||
expander_collapsed = "",
|
expander_collapsed = "",
|
||||||
expander_expanded = "",
|
expander_expanded = "",
|
||||||
@@ -189,7 +189,7 @@ return {
|
|||||||
local events = require("neo-tree.events")
|
local events = require("neo-tree.events")
|
||||||
opts.event_handlers = opts.event_handlers or {}
|
opts.event_handlers = opts.event_handlers or {}
|
||||||
vim.list_extend(opts.event_handlers, {
|
vim.list_extend(opts.event_handlers, {
|
||||||
{ event = events.FILE_MOVED, handler = on_move },
|
{ event = events.FILE_MOVED, handler = on_move },
|
||||||
{ event = events.FILE_RENAMED, handler = on_move },
|
{ event = events.FILE_RENAMED, handler = on_move },
|
||||||
})
|
})
|
||||||
require("neo-tree").setup(opts)
|
require("neo-tree").setup(opts)
|
||||||
@@ -259,7 +259,8 @@ return {
|
|||||||
pcall(require("telescope").load_extension, "fzf")
|
pcall(require("telescope").load_extension, "fzf")
|
||||||
|
|
||||||
-- Special Things: Telescope
|
-- Special Things: Telescope
|
||||||
vim.keymap.set("n", "<leader>nc", require("telescope.builtin").colorscheme, { desc = "List Neovim Colorschemes (with preview)" })
|
vim.keymap.set("n", "<leader>nc", require("telescope.builtin").colorscheme,
|
||||||
|
{ desc = "List Neovim Colorschemes (with preview)" })
|
||||||
|
|
||||||
-- Grep things -> Search
|
-- Grep things -> Search
|
||||||
vim.keymap.set("n", "<leader>sb", function()
|
vim.keymap.set("n", "<leader>sb", function()
|
||||||
|
|||||||
@@ -288,7 +288,7 @@ return {
|
|||||||
},
|
},
|
||||||
|
|
||||||
lualine_y = {
|
lualine_y = {
|
||||||
{ "progress", separator = " ", padding = { left = 1, right = 0 } },
|
{ "progress", separator = " ", padding = { left = 1, right = 0 } },
|
||||||
{ "location", padding = { left = 0, right = 1 } },
|
{ "location", padding = { left = 0, right = 1 } },
|
||||||
},
|
},
|
||||||
lualine_z = {
|
lualine_z = {
|
||||||
|
|||||||
@@ -19,10 +19,10 @@ return {
|
|||||||
"monaqa/dial.nvim",
|
"monaqa/dial.nvim",
|
||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
keys = {
|
keys = {
|
||||||
{ "<C-a>", function() return M.dial(true) end, expr = true, desc = "Increment", mode = {"n", "v"} },
|
{ "<C-a>", function() return M.dial(true) end, expr = true, desc = "Increment", mode = { "n", "v" } },
|
||||||
{ "<C-x>", function() return M.dial(false) end, expr = true, desc = "Decrement", mode = {"n", "v"} },
|
{ "<C-x>", function() return M.dial(false) end, expr = true, desc = "Decrement", mode = { "n", "v" } },
|
||||||
{ "g<C-a>", function() return M.dial(true, true) end, expr = true, desc = "Increment", mode = {"n", "v"} },
|
{ "g<C-a>", function() return M.dial(true, true) end, expr = true, desc = "Increment", mode = { "n", "v" } },
|
||||||
{ "g<C-x>", function() return M.dial(false, true) end, expr = true, desc = "Decrement", mode = {"n", "v"} },
|
{ "g<C-x>", function() return M.dial(false, true) end, expr = true, desc = "Decrement", mode = { "n", "v" } },
|
||||||
},
|
},
|
||||||
opts = function()
|
opts = function()
|
||||||
local augend = require("dial.augend")
|
local augend = require("dial.augend")
|
||||||
@@ -114,13 +114,13 @@ return {
|
|||||||
},
|
},
|
||||||
groups = {
|
groups = {
|
||||||
default = {
|
default = {
|
||||||
augend.integer.alias.decimal, -- nonnegative decimal number (0, 1, 2, 3, ...)
|
augend.integer.alias.decimal, -- nonnegative decimal number (0, 1, 2, 3, ...)
|
||||||
augend.integer.alias.hex, -- nonnegative hex number (0x01, 0x1a1f, etc.)
|
augend.integer.alias.hex, -- nonnegative hex number (0x01, 0x1a1f, etc.)
|
||||||
augend.date.alias["%Y/%m/%d"], -- date (2022/02/19, etc.)
|
augend.date.alias["%Y/%m/%d"], -- date (2022/02/19, etc.)
|
||||||
},
|
},
|
||||||
typescript = {
|
typescript = {
|
||||||
augend.integer.alias.decimal, -- nonnegative and negative decimal number
|
augend.integer.alias.decimal, -- nonnegative and negative decimal number
|
||||||
augend.constant.alias.bool, -- boolean value (true <-> false)
|
augend.constant.alias.bool, -- boolean value (true <-> false)
|
||||||
logical_alias,
|
logical_alias,
|
||||||
augend.constant.new({ elements = { "let", "const" } }),
|
augend.constant.new({ elements = { "let", "const" } }),
|
||||||
ordinal_numbers,
|
ordinal_numbers,
|
||||||
@@ -144,14 +144,14 @@ return {
|
|||||||
},
|
},
|
||||||
json = {
|
json = {
|
||||||
augend.integer.alias.decimal, -- nonnegative and negative decimal number
|
augend.integer.alias.decimal, -- nonnegative and negative decimal number
|
||||||
augend.semver.alias.semver, -- versioning (v1.1.2)
|
augend.semver.alias.semver, -- versioning (v1.1.2)
|
||||||
},
|
},
|
||||||
lua = {
|
lua = {
|
||||||
augend.integer.alias.decimal, -- nonnegative and negative decimal number
|
augend.integer.alias.decimal, -- nonnegative and negative decimal number
|
||||||
augend.constant.alias.bool, -- boolean value (true <-> false)
|
augend.constant.alias.bool, -- boolean value (true <-> false)
|
||||||
augend.constant.new({
|
augend.constant.new({
|
||||||
elements = { "and", "or" },
|
elements = { "and", "or" },
|
||||||
word = true, -- if false, "sand" is incremented into "sor", "doctor" into "doctand", etc.
|
word = true, -- if false, "sand" is incremented into "sor", "doctor" into "doctand", etc.
|
||||||
cyclic = true, -- "or" is incremented into "and".
|
cyclic = true, -- "or" is incremented into "and".
|
||||||
}),
|
}),
|
||||||
ordinal_numbers,
|
ordinal_numbers,
|
||||||
@@ -234,24 +234,62 @@ return {
|
|||||||
dependencies = {
|
dependencies = {
|
||||||
"echasnovski/mini.icons",
|
"echasnovski/mini.icons",
|
||||||
},
|
},
|
||||||
config = function()
|
opts = {
|
||||||
-- document existing key chains
|
defaults = {
|
||||||
require("which-key").add({
|
["<leader>r"] = { name = "+refactor" },
|
||||||
|
},
|
||||||
|
icons = {
|
||||||
|
-- set icon mappings to true if you have a Nerd Font
|
||||||
|
mappings = vim.g.have_nerd_font,
|
||||||
|
-- If you are using a Nerd Font: set icons.keys to an empty table which will use the
|
||||||
|
-- default which-key.nvim defined Nerd Font icons, otherwise define a string table
|
||||||
|
keys = vim.g.have_nerd_font and {} or {
|
||||||
|
Up = '<Up> ',
|
||||||
|
Down = '<Down> ',
|
||||||
|
Lefj = '<Left> ',
|
||||||
|
Right = '<Right> ',
|
||||||
|
C = '<C-…> ',
|
||||||
|
M = '<M-…> ',
|
||||||
|
D = '<D-…> ',
|
||||||
|
S = '<S-…> ',
|
||||||
|
CR = '<CR> ',
|
||||||
|
Esc = '<Esc> ',
|
||||||
|
ScrollWheelDown = '<ScrollWheelDown> ',
|
||||||
|
ScrollWheelUp = '<ScrollWheelUp> ',
|
||||||
|
NL = '<NL> ',
|
||||||
|
BS = '<BS> ',
|
||||||
|
Space = '<Space> ',
|
||||||
|
Tab = '<Tab> ',
|
||||||
|
F1 = '<F1>',
|
||||||
|
F2 = '<F2>',
|
||||||
|
F3 = '<F3>',
|
||||||
|
F4 = '<F4>',
|
||||||
|
F5 = '<F5>',
|
||||||
|
F6 = '<F6>',
|
||||||
|
F7 = '<F7>',
|
||||||
|
F8 = '<F8>',
|
||||||
|
F9 = '<F9>',
|
||||||
|
F10 = '<F10>',
|
||||||
|
F11 = '<F11>',
|
||||||
|
F12 = '<F12>',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Document existing key chains
|
||||||
|
spec = {
|
||||||
{ "<leader>c", group = "Code" },
|
{ "<leader>c", group = "Code" },
|
||||||
{ "<leader>b", group = "Buffer Operations" },
|
{ "<leader>b", group = "Buffer Operations" },
|
||||||
{ "<leader>d", group = "Diagnostics" },
|
{ "<leader>d", group = "Diagnostics" },
|
||||||
{ "<leader>f", group = "File Operations" },
|
{ "<leader>f", group = "File Operations" },
|
||||||
{ "<leader>g", group = "Git" },
|
{ "<leader>g", group = "Git" },
|
||||||
{ "<leader>h", group = "Harpoon" },
|
{ "<leader>f", group = "Find and List Things" },
|
||||||
{ "<leader>l", group = "List Things" },
|
|
||||||
{ "<leader>n", group = "NVIM Things" },
|
{ "<leader>n", group = "NVIM Things" },
|
||||||
{ "<leader>q", group = "Database Query" },
|
{ "<leader>q", group = "Database Query" },
|
||||||
{ "<leader>r", group = "Refactor Code" },
|
|
||||||
{ "<leader>s", group = "Search/Grep Things" },
|
{ "<leader>s", group = "Search/Grep Things" },
|
||||||
{ "<leader>t", group = "Unit Test Operations" },
|
{ "<leader>t", group = "Unit Test Operations" },
|
||||||
{ "<leader>x", group = "Delete/Remove Something" },
|
{ "<leader>x", group = "Delete/Remove Something" },
|
||||||
})
|
},
|
||||||
end,
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Session management. Saves your session in the background
|
-- Session management. Saves your session in the background
|
||||||
|
|||||||
Reference in New Issue
Block a user