| 
									
										
										
										
											2025-06-01 20:22:28 -07:00
										 |  |  | return { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:08:27 -07:00
										 |  |  | 	{ | 
					
						
							|  |  |  | 		"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 }, | 
					
						
							| 
									
										
										
										
											2025-06-01 20:22:28 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-27 23:08:27 -07:00
										 |  |  | 						-- 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 | 
					
						
							| 
									
										
										
										
											2025-06-13 09:23:01 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-27 23:08:27 -07:00
										 |  |  | 							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") | 
					
						
							| 
									
										
										
										
											2025-06-03 09:23:15 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-27 23:08:27 -07:00
										 |  |  | 			dashboard.section.header.val = { | 
					
						
							|  |  |  | 				"                                                     ", | 
					
						
							|  |  |  | 				"  ███╗   ██╗███████╗ ██████╗ ██╗   ██╗██╗███╗   ███╗ ", | 
					
						
							|  |  |  | 				"  ████╗  ██║██╔════╝██╔═══██╗██║   ██║██║████╗ ████║ ", | 
					
						
							|  |  |  | 				"  ██╔██╗ ██║█████╗  ██║   ██║██║   ██║██║██╔████╔██║ ", | 
					
						
							|  |  |  | 				"  ██║╚██╗██║██╔══╝  ██║   ██║╚██╗ ██╔╝██║██║╚██╔╝██║ ", | 
					
						
							|  |  |  | 				"  ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║ ", | 
					
						
							|  |  |  | 				"  ╚═╝  ╚═══╝╚══════╝ ╚═════╝   ╚═══╝  ╚═╝╚═╝     ╚═╝ ", | 
					
						
							|  |  |  | 				"                                                     ", | 
					
						
							|  |  |  | 			} | 
					
						
							| 
									
										
										
										
											2025-06-03 09:23:15 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-27 23:08:27 -07:00
										 |  |  | 			alpha.setup(dashboard.opts) | 
					
						
							|  |  |  | 		end, | 
					
						
							|  |  |  | 	}, | 
					
						
							| 
									
										
										
										
											2025-06-01 20:22:28 -07:00
										 |  |  | } |