Heirline separators, leap.nvim, better binds
This commit is contained in:
parent
1263ea6a42
commit
7afdcaf81a
37
init.lua
37
init.lua
|
@ -1,19 +1,26 @@
|
||||||
local config = {
|
local config = {
|
||||||
updater = {
|
updater = {
|
||||||
remote = "origin",
|
remote = "origin",
|
||||||
channel = "stable",
|
channel = "stable",
|
||||||
version = "latest",
|
version = "latest",
|
||||||
branch = "nightly",
|
branch = "nightly",
|
||||||
commit = nil,
|
commit = nil,
|
||||||
pin_plugins = nil,
|
pin_plugins = nil,
|
||||||
skip_prompts = false,
|
skip_prompts = false,
|
||||||
show_changelog = true,
|
show_changelog = true,
|
||||||
auto_quit = false,
|
auto_quit = false,
|
||||||
remotes = {}
|
remotes = {}
|
||||||
},
|
},
|
||||||
colorscheme = "catppuccin",
|
colorscheme = "catppuccin",
|
||||||
polish = function()
|
heirline = {
|
||||||
end
|
separators = {
|
||||||
|
left = { "", " " }, -- separator for the left side of the statusline
|
||||||
|
right = { " ", " " }, -- separator for the right side of the statusline
|
||||||
|
tab = { "", "" },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
polish = function()
|
||||||
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
return config
|
return config
|
||||||
|
|
|
@ -1,15 +1,20 @@
|
||||||
return {
|
return {
|
||||||
n = {
|
n = {
|
||||||
["<C-h>"] = {"db", desc = "Ctrl+Backspace to delete a word backwards"},
|
["<C-h>"] = {"db", desc = "Ctrl+Backspace to delete a word backwards"},
|
||||||
|
["<C-BS>"] = {"db", desc = "Ctrl+Backspace to delete a word backwards (Neovide)"},
|
||||||
["<C-Del>"] = {"dw", desc = "Ctrl+Delete to delete a word forwards"},
|
["<C-Del>"] = {"dw", desc = "Ctrl+Delete to delete a word forwards"},
|
||||||
["<leader><F2>"] = {":Neotree close<CR>:UndotreeToggle<CR>", desc = "Toggle undo tree"},
|
["<leader><F2>"] = {":Neotree close<CR>:UndotreeToggle<CR>", desc = "Toggle undo tree"},
|
||||||
["<leader><Left>"] = {"<C-W>h", desc = "Go to the window left"},
|
["<leader><Left>"] = {"<C-W>h", desc = "Go to the window left"},
|
||||||
["<leader><Right>"] = {"<C-W>l", desc = "Go to the window right"},
|
["<leader><Right>"] = {"<C-W>l", desc = "Go to the window right"},
|
||||||
["<leader><Up>"] = {"<C-W>k", desc = "Go to the window up"},
|
["<leader><Up>"] = {"<C-W>k", desc = "Go to the window up"},
|
||||||
["<leader><Down>"] = {"<C-W>j", desc = "Go to the window down"}
|
["<leader><Down>"] = {"<C-W>j", desc = "Go to the window down"},
|
||||||
|
["K"] = {require("hover").hover, desc = "Show hover.nvim popup"},
|
||||||
|
["<C-B>"] = {":Telescope buffers<CR>", desc = "Show Telescope for open buffers"},
|
||||||
|
["<C-P>"] = {":Telescope registers<CR>", desc = "Show Telescope for register paste"}
|
||||||
},
|
},
|
||||||
i = {
|
i = {
|
||||||
["\b"] = {"<C-O>db", desc = "Ctrl+Backspace to delete a word backwards"},
|
["\b"] = {"<C-O>db", desc = "Ctrl+Backspace to delete a word backwards"},
|
||||||
|
["<C-BS>"] = {"<C-O>db", desc = "Ctrl+Backspace to delete a word backwards (Neovide)"},
|
||||||
["<C-Del>"] = {"<C-O>dw", desc = "Ctrl+Delete to delete a word forwards"}
|
["<C-Del>"] = {"<C-O>dw", desc = "Ctrl+Delete to delete a word forwards"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
10
options.lua
10
options.lua
|
@ -5,6 +5,16 @@ local options = function(local_vim)
|
||||||
local_vim.expandtab = {}
|
local_vim.expandtab = {}
|
||||||
local_vim.smartindent = {}
|
local_vim.smartindent = {}
|
||||||
local_vim.autoindent = {}
|
local_vim.autoindent = {}
|
||||||
|
-- Neovide
|
||||||
|
local_vim.opt.guifont = "Monaspace Radon:h11"
|
||||||
|
local_vim.g.neovide_cursor_vfx_mode = "pixiedust"
|
||||||
|
local_vim.g.neovide_cursor_vfx_particle_density = 14.0
|
||||||
|
|
||||||
|
-- Currently buggy, needs an edit to trigger
|
||||||
|
local_vim.g.inlay_hints_enabled = true
|
||||||
|
|
||||||
|
-- Grey out the search area for leap.nvim
|
||||||
|
vim.api.nvim_set_hl(0, 'LeapBackdrop', { fg = "#888888" })
|
||||||
|
|
||||||
return local_vim
|
return local_vim
|
||||||
end
|
end
|
||||||
|
|
89
plugins.lua
89
plugins.lua
|
@ -185,4 +185,93 @@ return {{
|
||||||
-- return the new table to be used
|
-- return the new table to be used
|
||||||
return opts
|
return opts
|
||||||
end,
|
end,
|
||||||
|
}, {
|
||||||
|
"lewis6991/hover.nvim",
|
||||||
|
name = "hover",
|
||||||
|
config = function()
|
||||||
|
require("hover").setup {
|
||||||
|
init = function()
|
||||||
|
-- Require providers
|
||||||
|
require("hover.providers.lsp")
|
||||||
|
-- require('hover.providers.gh')
|
||||||
|
-- require('hover.providers.gh_user')
|
||||||
|
-- require('hover.providers.jira')
|
||||||
|
-- require('hover.providers.man')
|
||||||
|
-- require('hover.providers.dictionary')
|
||||||
|
end,
|
||||||
|
preview_opts = {
|
||||||
|
border = 'single'
|
||||||
|
},
|
||||||
|
-- Whether the contents of a currently open hover window should be moved
|
||||||
|
-- to a :h preview-window when pressing the hover keymap.
|
||||||
|
preview_window = false,
|
||||||
|
title = true,
|
||||||
|
mouse_providers = {
|
||||||
|
'LSP'
|
||||||
|
},
|
||||||
|
mouse_delay = 1000
|
||||||
|
}
|
||||||
|
end
|
||||||
|
}, {
|
||||||
|
"ggandor/leap.nvim",
|
||||||
|
name = "leap",
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
local leap = require('leap')
|
||||||
|
leap.setup {
|
||||||
|
highlight_unlabeled_phase_one_targets = true
|
||||||
|
}
|
||||||
|
leap.create_default_mappings()
|
||||||
|
|
||||||
|
-- Magic trick from https://github.com/ggandor/leap.nvim/issues/65#issuecomment-1637749795
|
||||||
|
-- to highlight already matched parts
|
||||||
|
local function highlight_unlabeled_phase_one_targets(targets, first_idx, last_idx)
|
||||||
|
local hl = require('leap.highlight')
|
||||||
|
for i = first_idx or 1, last_idx or #targets do
|
||||||
|
local target = targets[i]
|
||||||
|
if target.chars then
|
||||||
|
local bufnr = target.wininfo.bufnr
|
||||||
|
local id = vim.api.nvim_buf_set_extmark(
|
||||||
|
bufnr, hl.ns, target.pos[1] - 1, target.pos[2] - 1,
|
||||||
|
{
|
||||||
|
virt_text = { { table.concat(target.chars), "LeapMatch" } },
|
||||||
|
virt_text_pos = "overlay",
|
||||||
|
hl_mode = "combine",
|
||||||
|
priority = hl.priority.label,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
-- This way Leap automatically cleans up your stuff together with its own.
|
||||||
|
table.insert(hl.extmarks, { bufnr, id })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- Continue with Leap's native function body.
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
leap.opts.on_beacons = highlight_unlabeled_phase_one_targets
|
||||||
|
end
|
||||||
|
}, {
|
||||||
|
"rebelot/heirline.nvim",
|
||||||
|
opts = function(_, opts)
|
||||||
|
-- Config override from: https://docs.astronvim.com/recipes/status#default-statusline-with-mode-text
|
||||||
|
local status = require("astronvim.utils.status")
|
||||||
|
opts.statusline = { -- statusline
|
||||||
|
hl = { fg = "fg", bg = "bg" },
|
||||||
|
status.component.mode { mode_text = { padding = { left = 1, right = 1 } } }, -- add the mode text
|
||||||
|
status.component.git_branch(),
|
||||||
|
status.component.file_info { filetype = {}, filename = false, file_modified = false },
|
||||||
|
status.component.git_diff(),
|
||||||
|
status.component.diagnostics(),
|
||||||
|
status.component.fill(),
|
||||||
|
status.component.cmd_info(),
|
||||||
|
status.component.fill(),
|
||||||
|
status.component.lsp(),
|
||||||
|
status.component.treesitter(),
|
||||||
|
status.component.nav(),
|
||||||
|
-- remove the 2nd mode indicator on the right
|
||||||
|
}
|
||||||
|
|
||||||
|
-- return the final configuration table
|
||||||
|
return opts
|
||||||
|
end,
|
||||||
}}
|
}}
|
||||||
|
|
Loading…
Reference in New Issue