diff --git a/lua/lazyvim/plugins/extras/coding/copilot.lua b/lua/lazyvim/plugins/extras/coding/copilot.lua index 1c024a10..d6d3f7ab 100644 --- a/lua/lazyvim/plugins/extras/coding/copilot.lua +++ b/lua/lazyvim/plugins/extras/coding/copilot.lua @@ -10,6 +10,34 @@ return { panel = { enabled = false }, }, }, + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function(_, opts) + local Util = require("lazyvim.util") + local colors = { + [""] = Util.fg("Special"), + ["Normal"] = Util.fg("Special"), + ["Warning"] = Util.fg("DiagnosticWarn"), + ["InProgress"] = Util.fg("DiagnosticInfo"), + } + table.insert(opts.sections.lualine_x, 2, { + function() + local icon = require("lazyvim.config").icons.kinds.Copilot + local status = require("copilot.api").status.data + return icon .. (status.message or "") + end, + cond = function() + local clients = vim.lsp.get_active_clients({ name = "copilot", bufnr = 0 }) + return #clients > 0 + end, + color = function() + local status = require("copilot.api").status.data + return colors[status.status] or colors[""] + end, + }) + end, + }, -- copilot cmp source {