dotfiles/.config/nvim/lua/plugins/chrome.lua
2025-06-27 23:08:56 -07:00

129 lines
3.8 KiB
Lua

return {
{
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
require("lualine").setup({
options = {
--`theme=codedark,
component_separators = { left = "", right = "" },
section_separators = { left = "", right = "" },
},
sections = {
lualine_a = { "mode" },
lualine_b = { "branch", "diff", "diagnostics" },
lualine_c = {
{ "filename", path = 1 },
-- Determine class/function name
function()
local current_buff = vim.api.nvim_get_current_buf()
local current_node = vim.treesitter.get_node()
if not current_node then
return ""
end
local class = nil
local func = nil
local expr = current_node
while expr do
if expr:type() == "function_definition" then
func = expr
elseif expr:type() == "class_definition" then
class = expr
end
expr = expr:parent()
end
if not func then
return ""
end
for child in func:iter_children() do
if child:type() == "identifier" then
func = child
break
end
end
local func_text = vim.treesitter.get_node_text(func, current_buff)
if class then
for child in class:iter_children() do
if child:type() == "identifier" then
class = child
break
end
end
func_text = vim.treesitter.get_node_text(class, current_buff) .. ":" .. func_text
end
if vim.bo.filetype == "lua" then
-- Patch out invalid parsing of lua (and other?) files
return ""
end
return func_text
end,
},
lualine_x = { "encoding", "filetype" },
lualine_y = {
function()
-- Display an active Python virtual environment if active
local venv = os.getenv("VIRTUAL_ENV")
if venv then
return vim.fn.fnamemodify(venv, ":t")
-- Put other useful paths here as available
else
return ""
end
end,
},
lualine_z = { "location" },
},
})
end,
},
{
"romgrk/barbar.nvim",
tag = "v1.9.1",
init = function()
vim.g.barbar_auto_setup = false
end,
opts = {
animation = false,
},
},
{
"folke/which-key.nvim",
event = "VeryLazy",
keys = {
{
"<S-F1>",
function()
require("which-key").show()
end,
mode = { "n", "v", "i" },
},
},
},
{
"preservim/tagbar",
vim.keymap.set("n", "<leader>fs", ":TagbarToggle<CR>", { desc = "Toggle Tagbar" }),
},
{
"goolord/alpha-nvim",
dependencies = { "nvim-tree/nvim-web-devicons", "nvim-neo-tree/neo-tree.nvim" },
config = function()
local alpha = require("alpha")
local dashboard = require("alpha.themes.startify")
dashboard.section.header.val = {
" ",
" ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗ ",
" ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║ ",
" ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║ ",
" ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║ ",
" ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║ ",
" ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ ",
" ",
}
alpha.setup(dashboard.opts)
end,
},
}