GithubHelp home page GithubHelp logo

mikesmithgh / git-prompt-string-lualine.nvim Goto Github PK

View Code? Open in Web Editor NEW
18.0 2.0 0.0 44 KB

๐Ÿ“Add git-prompt-string to your Neovim statusline!

License: Apache License 2.0

Lua 94.83% Shell 4.18% Makefile 0.99%
git lua lualine neovim neovim-statusline nvim statusline

git-prompt-string-lualine.nvim's Issues

bug: non-english LOCAL causes errors is non-git directories

  • git-prompt.lua
return {
    {
        "mikesmithgh/git-prompt-string-lualine.nvim",
        lazy = true,
    },
    {
        "nvim-lualine/lualine.nvim",
        optional = true,
        opts = function(_, opts)
            return vim.tbl_deep_extend("force", opts, {
                sections = {
                    lualine_b = { "git_prompt_string" },
                },
            })
        end,
    },
}
  • lualine.lua
    {
        "nvim-lualine/lualine.nvim",
        event = "VeryLazy",
        init = function()
            vim.g.lualine_laststatus = vim.o.laststatus
            if vim.fn.argc(-1) > 0 then
                vim.o.statusline = " "
            else
                vim.o.laststatus = 0
            end
        end,
        opts = function()
            local lualine_require = require("lualine_require")
            lualine_require.require = require

            local icons = require("core.icons").icons

            vim.o.laststatus = vim.g.lualine_laststatus

            return {
                options = {
                    theme = "auto",
                    globalstatus = true,
                    disabled_filetypes = { statusline = { "dashboard", "alpha", "starter" } },
                },
                sections = {
                    lualine_a = { "mode" },
                    lualine_b = { "branch" },

                    lualine_c = {
                        GionVim.lualine.root_dir(),
                        {
                            "diagnostics",
                            symbols = {
                                error = icons.diagnostics.Error,
                                warn = icons.diagnostics.Warn,
                                info = icons.diagnostics.Info,
                                hint = icons.diagnostics.Hint,
                            },
                        },
                        { "filetype", icon_only = true, separator = "", padding = { left = 1, right = 0 } },
                        { GionVim.lualine.pretty_path() },
                    },
                    lualine_x = {
                        {
                            function()
                                return require("noice").api.status.command.get()
                            end,
                            cond = function()
                                return package.loaded["noice"] and require("noice").api.status.command.has()
                            end,
                            color = GionVim.ui.fg("Statement"),
                        },
                        {
                            function()
                                return require("noice").api.status.mode.get()
                            end,
                            cond = function()
                                return package.loaded["noice"] and require("noice").api.status.mode.has()
                            end,
                            color = GionVim.ui.fg("Constant"),
                        },
                        {
                            require("lazy.status").updates,
                            cond = require("lazy.status").has_updates,
                            color = GionVim.ui.fg("Special"),
                        },
                        {
                            "diff",
                            symbols = {
                                added = icons.git.added,
                                modified = icons.git.modified,
                                removed = icons.git.removed,
                            },
                            source = function()
                                local gitsigns = vim.b.gitsigns_status_dict
                                if gitsigns then
                                    return {
                                        added = gitsigns.added,
                                        modified = gitsigns.changed,
                                        removed = gitsigns.removed,
                                    }
                                end
                            end,
                        },
                    },
                    lualine_y = {
                        { "encoding", separator = "|" },
                        { "progress", separator = " ", padding = { left = 1, right = 0 } },
                        { "location", padding = { left = 0, right = 1 } },
                    },
                    lualine_z = {
                        function()
                            return "๏บ " .. os.date("%R")
                        end,
                    },
                },
                extensions = { "neo-tree", "lazy" },
            }
        end,
    },
  • An error message appears when opening files in a folder without a '.git' directory
  • message: git-prompt-string-lualine.nvim: ERROR git-prompt-string error(read file HEAD): "open HEAD: no such file or directory".

Got this error on neovim nightly with archBTW

๎ช‡ Error 22ๆ™‚25ๅˆ†00็ง’ msg_show.lua_error Error executing vim.schedule lua callback: ...share/nvim/lazy/lualine.nvim/lua/lualine/utils/utils.lua:211: lualine: Failed to refresh statusline:
...zeng/.local/share/nvim/lazy/lualine.nvim/lua/lualine.lua:429: Error executing lua: Vim:E475: Invalid value for argument cmd: 'git-prompt-string' is not executable
stack traceback:
[C]: in function 'jobstart'
...ring-lualine.nvim/lua/git-prompt-string-lualine/init.lua:49: in function 'git_prompt_string_json'
...ualine.nvim/lua/lualine/components/git_prompt_string.lua:57: in function 'update_status'
...l/share/nvim/lazy/lualine.nvim/lua/lualine/component.lua:273: in function 'draw'
...are/nvim/lazy/lualine.nvim/lua/lualine/utils/section.lua:26: in function 'draw_section'
...zeng/.local/share/nvim/lazy/lualine.nvim/lua/lualine.lua:170: in function 'statusline'
...zeng/.local/share/nvim/lazy/lualine.nvim/lua/lualine.lua:298: in function <...zeng/.local/share/nvim/lazy/lualine.nvim/lua/lualine.lua:279>
[C]: in function 'nvim_win_call'
...zeng/.local/share/nvim/lazy/lualine.nvim/lua/lualine.lua:429: in function 'refresh'
...zeng/.local/share/nvim/lazy/lualine.nvim/lua/lualine.lua:524: in function <...zeng/.local/share/nvim/lazy/lualine.nvim/lua/lualine.lua:523>
[C]: in function 'pcall'
...share/nvim/lazy/lualine.nvim/lua/lualine/utils/utils.lua:214: in function ''
vim/_editor.lua: in function <vim/_editor.lua:0>
stack traceback:
[C]: in function 'error'
...share/nvim/lazy/lualine.nvim/lua/lualine/utils/utils.lua:211: in function ''
vim/_editor.lua: in function <vim/_editor.lua:0>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.