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

38 lines
787 B
Lua

local async = require('lualine.async')
local branch
local git_branch = async:new({
cmd = 'git branch --show-current',
on_stdout = function(_, data)
if data then
branch = data:gsub('\n', '')
end
end
})
local timer = vim.loop.new_timer()
timer:start(0, 1000, vim.schedule_wrap(function()
git_branch:start()
end))
local function Branch()
if not branch or #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 .. ' ' .. branch
end
return branch
end
ok = (vim.fn.exists('*WebDevIconsGetFileTypeSymbol'))
if ok ~= 0 then
local icon = ''
return icon .. ' ' .. branch
end
return branch
end
return Branch