Major changes including better ui and more keybinds :)

This commit is contained in:
2023-02-15 23:11:33 -05:00
parent 74c846a7b6
commit 70abc1f30f
24 changed files with 664 additions and 118 deletions

View File

@ -0,0 +1,260 @@
local present, alpha = pcall(require, "alpha")
if not present then
return
end
local pepe = {
{
[[⠄⠄⠄⠄⠄⠄⠄⢀⣠⣶⣾⣿⣶⣦⣤⣀⠄⢀⣀⣤⣤⣤⣤⣄⠄⠄⠄⠄⠄⠄]],
[[⠄⠄⠄⠄⠄⢀⣴⣿⣿⣿⡿⠿⠿⠿⠿⢿⣷⡹⣿⣿⣿⣿⣿⣿⣷⠄⠄⠄⠄⠄]],
[[⠄⠄⠄⠄⠄⣾⣿⣿⣿⣯⣵⣾⣿⣿⡶⠦⠭⢁⠩⢭⣭⣵⣶⣶⡬⣄⣀⡀⠄⠄]],
[[⠄⠄⠄⡀⠘⠻⣿⣿⣿⣿⡿⠟⠩⠶⠚⠻⠟⠳⢶⣮⢫⣥⠶⠒⠒⠒⠒⠆⠐⠒]],
[[⠄⢠⣾⢇⣿⣿⣶⣦⢠⠰⡕⢤⠆⠄⠰⢠⢠⠄⠰⢠⠠⠄⡀⠄⢊⢯⠄⡅⠂⠄]],
[[⢠⣿⣿⣿⣿⣿⣿⣿⣏⠘⢼⠬⠆⠄⢘⠨⢐⠄⢘⠈⣼⡄⠄⠄⡢⡲⠄⠂⠠⠄]],
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣥⣀⡁⠄⠘⠘⠘⢀⣠⣾⣿⢿⣦⣁⠙⠃⠄⠃⠐⣀]],
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣋⣵⣾⣿⣿⣿⣿⣦⣀⣶⣾⣿⣿⡉⠉⠉]],
[[⣿⣿⣿⣿⣿⣿⣿⠟⣫⣥⣬⣭⣛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠄]],
[[⣿⣿⣿⣿⣿⣿⣿⠸⣿⣏⣙⠿⣿⣿⣶⣦⣍⣙⠿⠿⠿⠿⠿⠿⠿⠿⣛⣩⣶⠄]],
[[⣛⣛⣛⠿⠿⣿⣿⣿⣮⣙⠿⢿⣶⣶⣭⣭⣛⣛⣛⣛⠛⠛⠻⣛⣛⣛⣛⣋⠁⢀]],
[[⣿⣿⣿⣿⣿⣶⣬⢙⡻⠿⠿⣷⣤⣝⣛⣛⣛⣛⣛⣛⣛⣛⠛⠛⣛⣛⠛⣡⣴⣿]],
[[⣛⣛⠛⠛⠛⣛⡑⡿⢻⢻⠲⢆⢹⣿⣿⣿⣿⣿⣿⠿⠿⠟⡴⢻⢋⠻⣟⠈⠿⠿]],
[[⣿⡿⡿⣿⢷⢤⠄⡔⡘⣃⢃⢰⡦⡤⡤⢤⢤⢤⠒⠞⠳⢸⠃⡆⢸⠄⠟⠸⠛⢿]],
[[⡟⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢸]],
},
{
[[⠄⠄⠄⠄⠄⠄⠄⠄⠄⣾⣿⣿⣿⣿⡄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄]],
[[⠄⠄⠄⠄⠄⠄⠄⠄⣼⣿⣿⣿⣿⣿⣿⣧⠄⠄⠄⠄⠄⣀⣀⠄⠄⠄⠄⠄⠄⠄]],
[[⠄⠄⠄⠄⠄⠄⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣧⠄⠄⠄⣾⠛⠛⣷⢀⣾⠟⠻⣦⠄]],
[[⠄⠄⠄⠄⠄⠄⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠄⠄⢰⡿⠋⠄⠄⣠⡾⠋⠄]],
[[⠄⠄⠄⠄⠄⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠄⣬⡄⠄⠄⠄⣭⡅⠄⠄]],
[[⠄⠄⠄⠄⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠄⠄⠄⠄⠄⠄⠄⠄⠄]],
[[⠄⠄⠄⠄⢛⣛⣛⣛⣛⣛⣛⣛⣛⡛⢋⣉⣭⣭⣥⣬⣤⣤⣀⠄⠄⠄⠄⠄⠄⠄]],
[[⠄⠄⣴⣵⣿⣟⡉⣥⣶⣶⠶⠶⠬⣉⡂⠹⣟⡫⠽⠟⢒⣒⠒⠆⠄⠄⠄⠄⠄⠄]],
[[⠄⣼⣿⣿⣿⣿⣿⣶⣭⣃⡈⠄⠄⠘⠃⡰⢶⣶⣿⠏⠄⠄⠙⡛⠄⠄⠄⠄⠄⠄]],
[[⢰⣿⣿⣿⣿⣿⣿⣿⣯⣉⣉⣩⣭⣶⣿⡿⠶⠶⠶⠶⠶⠾⣋⠄⠄⠄⠄⠄⠄⠄]],
[[⢾⣿⣿⣿⣿⣿⣿⣿⢩⣶⣒⠒⠶⢖⣒⣚⡛⠭⠭⠭⠍⠉⠁⠄⠄⠄⣀⣀⡀⠄]],
[[⠘⢿⣿⣿⣿⣿⣿⣿⣧⣬⣭⣭⣭⣤⡤⠤⠶⠟⣋⣀⣀⡀⢀⣤⣾⠟⠋⠈⢳⠄]],
[[⣴⣦⡒⠬⠭⣭⣭⣭⣙⣛⠋⠭⡍⠁⠈⠙⠛⠛⠛⠛⢻⠛⠉⢻⠁⠄⠄⠄⢸⡀]],
[[⣿⣿⣿⣿⣷⣦⣤⠤⢬⢍⣼⣦⡾⠛⠄⠄⠄⠄⠄⠄⠈⡇⠄⢸⠄⠄⠄⢦⣄⣇]],
[[⣿⣿⡿⣋⣭⣭⣶⣿⣶⣿⣿⣿⠟⠛⠃⠄⠄⠄⠄⠄⢠⠃⠄⡜⠄⠄⠄⠔⣿⣿]],
},
{
[[⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠔⠊⠉⠉⠉⠉⠉⠐⢦⡄⠄⠄⠄⠄⠄⠄⠄⠄]],
[[⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⡐⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠘⣆⠄⠄⠄⠄⠄⠄⠄]],
[[⠄⠄⠄⠄⠄⠄⠄⠄⢀⠖⠁⢀⣾⣆⡰⠶⡷⠶⣀⣾⣄⠄⠈⣆⠄⠄⠄⠄⠄⠄]],
[[⠄⠄⡄⠄⠠⢤⣤⠔⠃⠄⠄⠄⠄⠘⢧⣤⢣⣤⠋⠄⠄⠄⠄⠈⠣⢤⡠⠄⠄⠄]],
[[⠄⠄⠘⠦⡀⠄⠄⠄⠄⠄⠄⠄⢻⡟⠻⣿⣿⡿⠻⡟⠃⠄⠄⠄⠄⠄⠄⠄⡀⠞]],
[[⠄⠄⠄⠄⠉⢢⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⡠⠊⠄⠄]],
[[⠄⠄⠄⠄⠄⠄⠈⠢⣤⣤⣴⣶⡶⢶⣶⣶⣶⣆⢒⣤⣤⠄⢠⠤⠤⠚⠄⠄⠄⠄]],
[[⠄⠄⠄⠄⠄⢀⣠⣾⣿⣿⣿⣿⣎⢻⣿⠁⡀⣿⡎⣿⣿⣀⣃⠧⡀⠄⠄⠄⠄⠄]],
[[⠄⠄⣠⣶⣾⣿⣿⣿⣿⣿⣿⣿⡹⡼⢿⣠⠵⠿⣑⢿⣟⣛⠤⣩⡁⠄⠄⠄⠄⠄]],
[[⢠⣿⣿⣿⢏⡜⡻⣷⡽⣿⣷⣭⣿⣮⣽⣯⣽⣿⣿⣷⣤⣾⡿⠟⠃⠄⠄⠄⠄⠄]],
[[⠻⣿⣿⣿⣌⢷⣙⠾⠯⣒⡿⠭⣝⣛⣛⣛⣛⠛⠭⠭⠟⢣⠌⠄⠄⠄⠄⠄⠄⠄]],
[[⠄⠻⣿⣿⣿⣮⣟⠷⣦⣤⣝⣛⠲⠶⠶⠒⢂⣀⠠⠄⠐⠁⠄⠄⠄⠄⠄⠄⠄⠄]],
[[⠄⠄⠄⠙⠿⠿⢿⣿⡷⠶⠭⠭⠭⠵⠶⠒⠋⠉⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄]],
},
{
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]],
[[⣿⣿⣿⣿⣿⣿⣿⠛⢩⣴⣶⣶⣶⣌⠙⠫⠛⢋⣭⣤⣤⣤⣤⡙⣿⣿⣿⣿⣿⣿]],
[[⣿⣿⣿⣿⣿⡟⢡⣾⣿⠿⣛⣛⣛⣛⣛⡳⠆⢻⣿⣿⣿⠿⠿⠷⡌⠻⣿⣿⣿⣿]],
[[⣿⣿⣿⣿⠏⣰⣿⣿⣴⣿⣿⣿⡿⠟⠛⠛⠒⠄⢶⣶⣶⣾⡿⠶⠒⠲⠌⢻⣿⣿]],
[[⣿⣿⠏⣡⢨⣝⡻⠿⣿⢛⣩⡵⠞⡫⠭⠭⣭⠭⠤⠈⠭⠒⣒⠩⠭⠭⣍⠒⠈⠛]],
[[⡿⢁⣾⣿⣸⣿⣿⣷⣬⡉⠁⠄⠁⠄⠄⠄⠄⠄⠄⠄⣶⠄⠄⠄⠄⠄⠄⠄⠄⢀]],
[[⢡⣾⣿⣿⣿⣿⣿⣿⣿⣧⡀⠄⠄⠄⠄⠄⠄⠄⢀⣠⣿⣦⣤⣀⣀⣀⣀⠄⣤⣾]],
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⡶⢇⣰⣿⣿⣟⠿⠿⠿⠿⠟⠁⣾⣿⣿]],
[[⣿⣿⣿⣿⣿⣿⣿⡟⢛⡛⠿⠿⣿⣧⣶⣶⣿⣿⣿⣿⣿⣷⣼⣿⣿⣿⣧⠸⣿⣿]],
[[⠘⢿⣿⣿⣿⣿⣿⡇⢿⡿⠿⠦⣤⣈⣙⡛⠿⠿⠿⣿⣿⣿⣿⠿⠿⠟⠛⡀⢻⣿]],
[[⠄⠄⠉⠻⢿⣿⣿⣷⣬⣙⠳⠶⢶⣤⣍⣙⡛⠓⠒⠶⠶⠶⠶⠖⢒⣛⣛⠁⣾⣿]],
[[⠄⠄⠄⠄⠄⠈⠛⠛⠿⠿⣿⣷⣤⣤⣈⣉⣛⣛⣛⡛⠛⠛⠿⠿⠿⠟⢋⣼⣿⣿]],
[[⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠈⠉⠉⣻⣿⣿⣿⣿⡿⠿⠛⠃⠄⠙⠛⠿⢿⣿]],
[[⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢬⣭⣭⡶⠖⣢⣦⣀⠄⠄⠄⠄⢀⣤⣾⣿]],
[[⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢰⣶⣶⣶⣾⣿⣿⣿⣿⣷⡄⠄⢠⣾⣿⣿⣿]],
},
}
-- dynamic header padding
local fn = vim.fn
local marginTopPercent = 0.2
local Padding = fn.max { 2, fn.floor(fn.winheight(0) * marginTopPercent) }
local header = {
type = "text",
val = pepe[math.random(#pepe)],
opts = {
position = "center",
hl = "AlphaAscii",
},
}
local plugins = require('lazy').stats().count
local date = os.date("%d/%m/%y(%a)%X")
math.randomseed(os.time())
local id = math.random(10000000, 99999999)
local id1 = math.random(10000000, 99999999)
local id2 = math.random(10000000, 99999999)
local chan = {
[[based!!!]],
[[in other words, 4chan is better because
everyone gets to be an idiot.]],
[[NOOOOOOO YOU CANT PUBLISH BENCHMARKS FOR
OUR ANCIENT OS]],
[[This is the beginning of the end. AI has
finally won. Tech is no longer a viable job.]],
[[And Wikipedia is bloat because of html,
mathml, rich text, etc. Using modern codecs
and a simpler form of wiki we could store
the entire "human knowledge-base" and plain
text references (books, papers, articles,
websites) inside a single μSD card]],
[[My arch install broke again]],
[[Why are stdout, stderr and stdin already
opened when I start my program? Who opened
them and what is he doing in my computer?]],
[[YES BOYCOTT!
SPREAD THIS MESSAGE
EVERYONE QUIT USING THE SITE, THEY CANNOT
IGNORE US ANYMORE. FROM THIS DAY ONWARDS
THEIR PRODUCT WILL NOT BE ABLE TO HOLD UP
WITHOUT US]],
[[COMPANY A BETTER THAN COMPANY B]],
[[Nah, ignore this anon. If you want to
REALLY learn programming, you need to
learn with punch cards. Once you've
got that under your belt, move on
up to assembly.]],
}
local phrase = chan[math.random(#chan)]
local heading = {
type = "text",
val = "  Anonymous " .. date .. " No." .. id .. "",
opts = {
position = "center",
hl = "AlphaButtons",
},
}
local post_buttons = {
type = "text",
val = "They don't get it. For me, it's nvim. ",
opts = {
position = "center",
hl = "AlphaFooter",
},
}
local pre_foot = {
type = "text",
val = ">>" .. id2 .. "(OP) ",
opts = {
position = "center",
hl = "AlphaEmphasis",
},
}
local footer = {
type = "text",
val = " I've " .. plugins .. " plugins, it launches instantly kek.",
opts = {
position = "center",
hl = "AlphaFooter",
},
}
local pre_foot_2 = {
type = "text",
val = ">>" .. id1 .. " ",
opts = {
position = "center",
hl = "AlphaEmphasis",
},
}
local footer_2 = {
type = "text",
val = " " .. phrase,
opts = {
position = "left",
hl = "AlphaFooter",
},
}
local function button(sc, txt, keybind)
local sc_ = sc:gsub("%s", ""):gsub("SPC", "<leader>")
local opts = {
position = "center",
text = txt,
shortcut = sc,
cursor = 0,
width = 44,
align_shortcut = "right",
hl_shortcut = "AlphaShortcuts",
hl = "AlphaHeader",
}
if keybind then
opts.keymap = { "n", sc_, keybind, { noremap = true, silent = true } }
end
return {
type = "button",
val = txt,
on_press = function()
local key = vim.api.nvim_replace_termcodes(sc_, true, false, true)
vim.api.nvim_feedkeys(key, "normal", false)
end,
opts = opts,
}
end
local buttons = {
type = "group",
val = {
button("LDR e", " >open new file", ":ene<CR>"),
button("LDR h", " >open oldfiles", ":Telescope oldfiles<CR>"),
button("LDR f", " >fuzzy search", ":Telescope find_files<CR>"),
button("LDR y", " >browse folders" , ":Telescope file_browser path=%:p:h<CR>"),
button("LDR /", " >regex search", ":Telescope live_grep<CR>"),
button("LDR u", " >update plugins", ":lua require('lazy').update()<CR>"),
},
opts = {
spacing = 0,
},
}
local section = {
header = header,
buttons = buttons,
heading = heading,
post_buttons = post_buttons,
pre_foot = pre_foot,
footer = footer,
pre_foot_2 = pre_foot_2,
footer_2 = footer_2,
}
local opts = {
layout = {
{ type = "padding", val = Padding},
{ type = "padding", val = 1 },
section.header,
{ type = "padding", val = 1 },
section.heading,
{ type = "padding", val = 1 },
section.buttons,
section.post_buttons,
{ type = "padding", val = 1 },
section.pre_foot,
section.footer,
{ type = "padding", val = 1 },
section.pre_foot_2,
section.footer_2,
{ type = "padding", val = Padding },
},
opts = {
margin = 50,
},
}
alpha.setup(opts)

View File

@ -34,33 +34,7 @@ cmp.setup {
formatting = {
fields = { "kind", "abbr", "menu" },
format = function(entry, vim_item)
local kind_icons = {
Text = 'Tx',
Snippet = '<>',
Method = '',
Function = '{}',
Constructor = '',
Field = '""',
Variable = 'x=',
Class = '~{',
Interface = '.h',
Module = '',
Property = '@p',
Unit = '',
Value = '',
Enum = 'E#',
Keyword = '$1',
Color = '',
File = '#`',
Reference = '',
Folder = '',
EnumMember = '',
Constant = '',
Struct = '',
Event = '',
Operator = '',
TypeParameter = '',
}
local kind_icons = lspicons
local menu_items = {
buffer = "buffer",
nvim_lsp = "LSP",

View File

@ -12,6 +12,7 @@ codewindow.setup({
"vim",
"Trouble",
"alpha",
"NvimTree",
},
})
codewindow.apply_default_keybinds()

View File

@ -0,0 +1,18 @@
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 = true,
title = true
}

View File

@ -8,15 +8,15 @@ require('core.overrides.whichkey')
require('core.overrides.neoclip')
require('core.overrides.smartsplits')
require('core.overrides.treesitter')
require('core.overrides.treesittercontext')
require('core.overrides.treesj')
require('core.overrides.colorizer')
require('core.overrides.trouble')
require('core.overrides.lspzero')
require('core.overrides.cmp')
require('core.overrides.luasnip')
require('core.overrides.snip')
require('core.overrides.lspkind')
require('core.overrides.cmpluasnipchoice')
require('core.overrides.noneckpain')
require('core.overrides.alpha')
require('core.overrides.notify')
require('core.overrides.nvim-lsp-notify')
require('core.overrides.hover')

View File

@ -68,6 +68,10 @@ local function diff_source()
end
end
local function maximize_status()
return vim.t.maximized and '[M]' or '[]='
end
require('lualine').setup {
options = {
icons_enabled = false,
@ -85,20 +89,20 @@ require('lualine').setup {
always_divide_middle = false,
globalstatus = true,
refresh = {
statusline = 100,
statusline = 500,
tabline = 1000,
winbar = 1000,
}
},
sections = {
lualine_a = {'mode'},
lualine_b = {
lualine_a = {
{ 'mode' },
{ 'filetype',
color = { fg = colors.white, bg = colors.grey },
},
{ 'filename',
filestatus = true,
path = 1,
path = 0,
symbols = {
modified = '[+]',
@ -108,18 +112,21 @@ require('lualine').setup {
}
}
},
lualine_c = { { 'diff', source = diff_source } },
lualine_b = {},
lualine_c = {
{ 'diff',
source = diff_source,
},
},
lualine_x = {
{ 'fileformat',
color = { gui = 'bold' }
}
},
lualine_y = {'progress'},
lualine_z = {
{ 'location',
padding = 1,
}
}
lualine_y = {
{ maximize_status },
},
lualine_z = { 'progress' }
},
inactive_sections = {
lualine_x = {'location'},

View File

@ -1,15 +1,18 @@
require('modicator').setup {
require('modicator').setup({
show_warnings = true,
highlights = {
defaults = {
bold = true,
},
modes = {
['i'] = colors.green,
['v'] = colors.purple,
['V'] = colors.purple,
['<EFBFBD>'] = colors.purple,
['s'] = colors.yellow,
['S'] = colors.yellow,
['R'] = colors.orange,
['c'] = colors.red,
}
}
}
['i'] = { foreground = colors.green, },
['v'] = { foreground = colors.purple, },
['V'] = { foreground = colors.purple, },
[''] = { foreground = colors.purple, },
['s'] = { foreground = colors.purple, },
['S'] = { foreground = colors.yellow, },
['R'] = { foreground = colors.orange, },
['c'] = { foreground = colors.red, },
},
},
})

View File

@ -0,0 +1,6 @@
require('no-neck-pain').setup({
width = 120,
buffers = {
blend = -1,
},
})

View File

@ -0,0 +1,14 @@
require('notify').setup(
{
icons = {
DEBUG = "B",
ERROR = "x",
INFO = "i",
TRACE = "t",
WARN = "!"
},
minimum_width = 35,
max_width = 80,
render = "compact",
}
)

View File

@ -0,0 +1,9 @@
local ls = require('luasnip')
ls.config.set_config {
-- return back into snippet
history = true,
-- update on text insert
updateevents = "TextChanged,TextChangedI"
}

View File

@ -1,8 +1,6 @@
local telescope = require('telescope')
local actions = require('telescope.actions')
telescope.load_extension('undo')
telescope.load_extension('file_browser')
telescope.setup {
defaults = {
borderchars = { " ", " ", " ", " ", " ", " ", " ", " " },
@ -27,6 +25,8 @@ telescope.setup {
},
}
}
telescope.load_extension('undo')
telescope.load_extension('file_browser')
a.nvim_create_autocmd('User', {
pattern = 'TelescopePreviewerLoaded',

View File

@ -1,5 +1,6 @@
require('nvim-treesitter.configs').setup {
ensure_installed = { 'help',
ensure_installed = {
'help',
'c',
'lua',
'norg',

View File

@ -1,9 +0,0 @@
require('treesitter-context').setup {
enable = true,
max_lines = 1,
patterns = {
default = {
'function',
},
},
}

View File

@ -0,0 +1,3 @@
require('treesj').setup({
use_default_keymaps = false,
})