Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The lualine and NvimTree plugin has a problem. #330

Closed
RobertMiguel opened this issue Mar 2, 2024 · 3 comments
Closed

The lualine and NvimTree plugin has a problem. #330

RobertMiguel opened this issue Mar 2, 2024 · 3 comments

Comments

@RobertMiguel
Copy link

RobertMiguel commented Mar 2, 2024

When only NvimTree is open, lualina disappears, and only returns when I open a file again. I thought it was NvimTree itself, but I checked and changed some things until the default configuration remained and the problem appeared again, can anyone help me?

My file :

local status_ok, lualine = pcall(require, "lualine")
if not status_ok then
	return
end

local hide_in_width = function()
	return vim.fn.winwidth(0) > 80
end

local diagnostics = {
	"diagnostics",
	sources = { "nvim_diagnostic" },
	sections = { "error", "warn" },
	symbols = { error = "", warn = "" },
	colored = false,
	update_in_insert = false,
	always_visible = true,
}

local diff = {
	"diff",
	colored = false,
	symbols = { added = "", modified = "", removed = "" }, -- changes diff symbols
  cond = hide_in_width
}

local mode = {
	"mode",
	fmt = function(str)
		return "-- " .. str .. " --"
	end,
}

local filetype = {
	"filetype",
	icons_enabled = false,
	icon = nil,
}

local branch = {
	"branch",
	icons_enabled = true,
	icon = "",
}

local location = {
	"location",
	padding = 0,
}

-- cool function for progress
local progress = function()
	local current_line = vim.fn.line(".")
	local total_lines = vim.fn.line("$")
	local chars = { "__", "▁▁", "▂▂", "▃▃", "▄▄", "▅▅", "▆▆", "▇▇", "██" }
	local line_ratio = current_line / total_lines
	local index = math.ceil(line_ratio * #chars)
	return chars[index]
end

local spaces = function()
	return "spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth")
end

lualine.setup({
	options = {
		icons_enabled = true,
		theme = "auto",
		component_separators = { left = "", right = "" },
		section_separators = { left = "", right = "" },
		disabled_filetypes = { "alpha", "dashboard", "NvimTree", "Outline" },
		always_divide_middle = true,
	},
	sections = {
		lualine_a = { branch, diagnostics },
		lualine_b = { mode },
		lualine_c = {},
		-- lualine_x = { "encoding", "fileformat", "filetype" },
		lualine_x = { diff, spaces, "encoding", filetype },
		lualine_y = { location },
		lualine_z = { progress },
	},
	inactive_sections = {
		lualine_a = {},
		lualine_b = {},
		lualine_c = { "filename" },
		lualine_x = { "location" },
		lualine_y = {},
		lualine_z = {},
	},
	tabline = {},
	extensions = {},
})

This is the same configuration in the repository.

@notoyz
Copy link

notoyz commented May 28, 2024

In the lualine.setup options you have the line:

disabled_filetypes = { "alpha", "dashboard", "NvimTree", "Outline" },

Remove "NvimTree", if you want lualine to remain visible when you enter NvimTree

@RobertMiguel
Copy link
Author

Thank you very much man, thank you it worked!

@notoyz
Copy link

notoyz commented May 30, 2024

Another thing I've noticed, you probably want to change the line

return "spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth")

and replace it with

return "spaces: " .. vim.api.nvim_get_option_value("shiftwidth", { buf = 0 })

this is because vim.api.nvim_buf_get_option will soon be deprecated. I just had to change this myself so thought I'd give you the heads up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants