lualine.nvim/lua/lualine/components/branch.lua

38 lines
825 B
Lua

local async = require('lualine.async')
local git_branch
local get_git_branch = async:new({
cmd = 'git branch --show-current',
on_stdout = function(_, data)
if data then
git_branch = data:gsub('\n', '')
end
end
})
local timer = vim.loop.new_timer()
timer:start(0, 1000, vim.schedule_wrap(function()
get_git_branch:start()
end))
local function branch()
if not git_branch or #git_branch == 0 then return '' end
local ok,devicons = pcall(require,'nvim-web-devicons')
if ok then
local icon = devicons.get_icon('git')
if icon ~= nil then
return icon .. ' ' .. git_branch
end
return git_branch
end
ok = vim.fn.exists("*WebDevIconsGetFileTypeSymbol")
if ok ~= 0 then
local icon = ''
return icon .. ' ' .. git_branch
end
return git_branch
end
return branch