129 lines
		
	
	
	
		
			3.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			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,
 | |
| 	},
 | |
| }
 |