update
This commit is contained in:
		
							parent
							
								
									962807aa70
								
							
						
					
					
						commit
						76d9c95927
					
				
					 1 changed files with 75 additions and 3 deletions
				
			
		
							
								
								
									
										78
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								init.lua
									
									
									
									
									
								
							|  | @ -186,7 +186,78 @@ local TablineFileName = { | ||||||
| 	end, | 	end, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | local TablineFileFlags = { | ||||||
|  | 	{ | ||||||
|  | 		condition = function(self) | ||||||
|  | 			return vim.api.nvim_buf_get_option(self.bufnr, "modified") | ||||||
|  | 		end, | ||||||
|  | 		provider = "[+]", | ||||||
|  | 		hl = { fg = "green" }, | ||||||
|  | 	}, | ||||||
|  | 	{ | ||||||
|  | 		condition = function(self) | ||||||
|  | 			return not vim.api.nvim_buf_get_option(self.bufnr, "modifiable") | ||||||
|  | 				or vim.api.nvim_buf_get_option(self.bufnr, "readonly") | ||||||
|  | 		end, | ||||||
|  | 		provider = function(self) | ||||||
|  | 			if vim.api.nvim_buf_get_option(self.bufnr, "buftype") == "terminal" then | ||||||
|  | 				return "  " | ||||||
|  | 			else | ||||||
|  | 				return "" | ||||||
|  | 			end | ||||||
|  | 		end, | ||||||
|  | 		hl = { fg = "orange" }, | ||||||
|  | 	}, | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local FileIcon = { | ||||||
|  | 	init = function(self) | ||||||
|  | 		local filename = self.filename | ||||||
|  | 		local extension = vim.fn.fnamemodify(filename, ":e") | ||||||
|  | 		self.icon, self.icon_color = | ||||||
|  | 			require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) | ||||||
|  | 	end, | ||||||
|  | 	provider = function(self) | ||||||
|  | 		return self.icon and (self.icon .. " ") | ||||||
|  | 	end, | ||||||
|  | 	hl = function(self) | ||||||
|  | 		return { fg = self.icon_color } | ||||||
|  | 	end, | ||||||
|  | } | ||||||
|  | 
 | ||||||
| local TablineFileNameBlock = { | local TablineFileNameBlock = { | ||||||
|  | 	init = function(self) | ||||||
|  | 		self.filename = vim.api.nvim_buf_get_name(self.bufnr) | ||||||
|  | 	end, | ||||||
|  | 	hl = function(self) | ||||||
|  | 		if self.is_active then | ||||||
|  | 			return "TabLineSel" | ||||||
|  | 		else | ||||||
|  | 			return "TabLine" | ||||||
|  | 		end | ||||||
|  | 	end, | ||||||
|  | 	on_click = { | ||||||
|  | 		callback = function(_, minwid, _, _) | ||||||
|  | 			vim.api.nvim_win_set_buf(0, minwid) | ||||||
|  | 		end, | ||||||
|  | 		minwid = function(self) | ||||||
|  | 			return self.bufnr | ||||||
|  | 		end, | ||||||
|  | 		name = "termline_buffer_callback", | ||||||
|  | 	}, | ||||||
|  | 	FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! | ||||||
|  | 	TablineFileName, | ||||||
|  | 	TablineFileFlags, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! | ||||||
|  | } | ||||||
|  | local TablineBufferBlock = utils.surround({ "", "" }, function(self) | ||||||
|  | 	if self.is_active then | ||||||
|  | 		return utils.get_highlight("TabLineSel").bg | ||||||
|  | 	else | ||||||
|  | 		return utils.get_highlight("TabLine").bg | ||||||
|  | 	end | ||||||
|  | end, { TablineFileNameBlock }) | ||||||
|  | 
 | ||||||
|  | local TerminalLineFileNameBlock = { | ||||||
| 	init = function(self) | 	init = function(self) | ||||||
| 		self.filename = vim.api.nvim_buf_get_name(self.bufnr) | 		self.filename = vim.api.nvim_buf_get_name(self.bufnr) | ||||||
| 	end, | 	end, | ||||||
|  | @ -208,13 +279,14 @@ local TablineFileNameBlock = { | ||||||
| 	}, | 	}, | ||||||
| 	TablineFileName, | 	TablineFileName, | ||||||
| } | } | ||||||
| local TablineBufferBlock = utils.surround({ "", "" }, function(self) | local TerminalLineBufferBlock = utils.surround({ "", "" }, function(self) | ||||||
| 	if self.is_active then | 	if self.is_active then | ||||||
| 		return utils.get_highlight("TabLineSel").bg | 		return utils.get_highlight("TabLineSel").bg | ||||||
| 	else | 	else | ||||||
| 		return utils.get_highlight("TabLine").bg | 		return utils.get_highlight("TabLine").bg | ||||||
| 	end | 	end | ||||||
| end, { TablineFileNameBlock }) | end, { TerminalLineFileNameBlock }) | ||||||
|  | 
 | ||||||
| local function get_terminal_bufs() | local function get_terminal_bufs() | ||||||
| 	return vim.tbl_filter(function(bufnr) | 	return vim.tbl_filter(function(bufnr) | ||||||
| 		return vim.api.nvim_buf_get_option(bufnr, "buftype") == "terminal" | 		return vim.api.nvim_buf_get_option(bufnr, "buftype") == "terminal" | ||||||
|  | @ -235,7 +307,7 @@ local TerminalLine = { | ||||||
| 			buftype = { "terminal" }, | 			buftype = { "terminal" }, | ||||||
| 		}) | 		}) | ||||||
| 	end, | 	end, | ||||||
| 	utils.make_buflist(TablineBufferBlock, nil, nil, get_terminal_bufs), | 	utils.make_buflist(TerminalLineBufferBlock, nil, nil, get_terminal_bufs), | ||||||
| } | } | ||||||
| local BufferLine = { | local BufferLine = { | ||||||
| 	utils.make_buflist(TablineBufferBlock, nil, nil, get_non_terminal_bufs), | 	utils.make_buflist(TablineBufferBlock, nil, nil, get_non_terminal_bufs), | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue