{"id":28376640,"url":"https://github.com/astronvim/astroui","last_synced_at":"2025-10-23T22:53:45.185Z","repository":{"id":182811184,"uuid":"669130231","full_name":"AstroNvim/astroui","owner":"AstroNvim","description":" UI Configuration Engine built for AstroNvim ","archived":false,"fork":false,"pushed_at":"2025-06-06T15:42:33.000Z","size":391,"stargazers_count":30,"open_issues_count":0,"forks_count":11,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-22T23:16:07.542Z","etag":null,"topics":["astronvim","astrovim","lua","neovim","neovim-lua-plugin","neovim-plugin","neovim-ui"],"latest_commit_sha":null,"homepage":"https://AstroNvim.com","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AstroNvim.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-21T12:17:13.000Z","updated_at":"2025-06-17T02:37:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"e6d017d6-e125-4f85-8fec-e86694b53d6c","html_url":"https://github.com/AstroNvim/astroui","commit_stats":null,"previous_names":["astronvim/astroui"],"tags_count":48,"template":false,"template_full_name":null,"purl":"pkg:github/AstroNvim/astroui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstroNvim%2Fastroui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstroNvim%2Fastroui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstroNvim%2Fastroui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstroNvim%2Fastroui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AstroNvim","download_url":"https://codeload.github.com/AstroNvim/astroui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstroNvim%2Fastroui/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262084674,"owners_count":23256285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["astronvim","astrovim","lua","neovim","neovim-lua-plugin","neovim-plugin","neovim-ui"],"created_at":"2025-05-30T00:07:28.926Z","updated_at":"2025-10-23T22:53:40.152Z","avatar_url":"https://github.com/AstroNvim.png","language":"Lua","readme":"# 🎨 AstroUI\n\nAstroUI provides a simple API for configuring and setting up the user interface in [AstroNvim](https://github.com/AstroNvim/AstroNvim).\n\n## ✨ Features\n\n- Unified interface for configuring icons (with and without Nerd Fonts)\n- Easily modify highlight groups of any and all colorschemes\n- An extensive `status` API for building custom status lines (Relies on [`astrocore`][astrocore])\n\n## ⚡️ Requirements\n\n- Neovim \u003e= 0.10\n- [astrocore][astrocore]\n\n## 📦 Installation\n\nInstall the plugin with your plugin manager of choice:\n\n[**lazy.nvim**][lazy]\n\n```lua\n{\n  \"AstroNvim/astroui\",\n  lazy = false, -- disable lazy loading\n  priority = 10000, -- load AstroUI first\n  opts = {\n    -- set configuration options  as described below\n  }\n  specs = {\n    {\n      \"AstroNvim/astrocore\",\n      opts = {},\n    }\n  }\n}\n```\n\n[**packer.nvim**](https://github.com/wbthomason/packer.nvim)\n\n```lua\nuse \"AstroNvim/astrocore\"\nuse \"AstroNvim/astroui\"\n\nrequire(\"astroui\").setup {\n  -- set configuration options  as described below\n}\nrequire(\"astrocore\").setup() -- setup AstroCore after AstroUI\n```\n\n## ⚙️ Configuration\n\n**AstroUI** comes with the no defaults, but can be configured fully through the `opts` table in lazy or through calling `require(\"astroui\").setup({})`. Here are descriptions of the options and some example usages:\n\n```lua\n---@type AstroUIConfig\n{\n  -- Colorscheme set on startup, a string that is used with `:colorscheme astrodark`\n  colorscheme = \"astrodark\",\n  -- Configure how folding works\n  folding = {\n    -- whether a buffer should have folding can be true/false for global enable/disable or fun(bufnr:integer):boolean\n    enabled = function(bufnr) return require(\"astrocore.buffer\").is_valid(bufnr) end,\n    -- a priority list of fold methods to try using, available methods are \"lsp\", \"treesitter\", and \"indent\"\n    methods = { \"lsp\", \"treesitter\", \"indent\" },\n  },\n  -- Override highlights in any colorscheme\n  -- Keys can be:\n  --   `init`: table of highlights to apply to all colorschemes\n  --   `\u003ccolorscheme_name\u003e` override highlights in the colorscheme with name: `\u003ccolorscheme_name\u003e`\n  highlights = {\n    -- this table overrides highlights in all colorschemes\n    init = {\n      Normal = { bg = \"#000000\" },\n    },\n    -- a table of overrides/changes when applying astrotheme\n    astrotheme = {\n      Normal = { bg = \"#000000\" },\n    },\n  },\n  -- A table of icons in the UI using NERD fonts\n  icons = {\n    GitAdd = \"\",\n  },\n  -- A table of only text \"icons\" used when icons are disabled\n  text_icons = {\n    GitAdd = \"[+]\",\n  },\n  -- Configuration options for the AstroNvim lines and bars built with the `status` API.\n  status = {\n    -- Configure attributes of components defined in the `status` API. Check the AstroNvim documentation for a complete list of color names, this applies to colors that have `_fg` and/or `_bg` names with the suffix removed (ex. `git_branch_fg` as attributes from `git_branch`).\n    attributes = {\n      git_branch = { bold = true },\n    },\n    -- Configure colors of components defined in the `status` API. Check the AstroNvim documentation for a complete list of color names.\n    colors = {\n      git_branch_fg = \"#ABCDEF\",\n    },\n    -- Configure which icons that are highlighted based on context\n    icon_highlights = {\n      -- enable or disable breadcrumb icon highlighting\n      breadcrumbs = false,\n      -- Enable or disable the highlighting of filetype icons both in the statusline and tabline\n      file_icon = {\n        tabline = function(self) return self.is_active or self.is_visible end,\n        statusline = true,\n      },\n    },\n    -- Configure characters used as separators for various elements\n    separators = {\n      none = { \"\", \"\" },\n      left = { \"\", \"  \" },\n      right = { \"  \", \"\" },\n      center = { \"  \", \"  \" },\n      tab = { \"\", \"\" },\n      breadcrumbs = \"  \",\n      path = \"  \",\n    },\n    -- Configure enabling/disabling of winbar\n    winbar = {\n      enabled = { -- whitelist buffer patterns\n        filetype = { \"gitsigns.blame\" },\n      },\n      disabled = { -- blacklist buffer patterns\n        buftype = { \"nofile\", \"terminal\" },\n      },\n    },\n  },\n  -- Configure theming of Lazygit, set to `false` to disable\n  lazygit = {\n    theme_path = vim.fs.normalize(vim.fn.stdpath \"cache\" .. \"/lazygit-theme.yml\"),\n    theme = {\n      [241] = { fg = \"Special\" },\n      activeBorderColor = { fg = \"MatchParen\", bold = true },\n      cherryPickedCommitBgColor = { fg = \"Identifier\" },\n      cherryPickedCommitFgColor = { fg = \"Function\" },\n      defaultFgColor = { fg = \"Normal\" },\n      inactiveBorderColor = { fg = \"FloatBorder\" },\n      optionsTextColor = { fg = \"Function\" },\n      searchingActiveBorderColor = { fg = \"MatchParen\", bold = true },\n      selectedLineBgColor = { bg = \"Visual\" },\n      unstagedChangesColor = { fg = \"DiagnosticError\" },\n    },\n  },\n}\n```\n\n## 📦 API\n\n**AstroUI** provides a Lua API with utility functions. This can be viewed with `:h astroui` or in the repository at [doc/api.md](doc/api.md)\n\n## 🚀 Contributing\n\nIf you plan to contribute, please check the [contribution guidelines](https://github.com/AstroNvim/.github/blob/main/CONTRIBUTING.md) first.\n\n[astrocore]: https://github.com/AstroNvim/astrocore\n[lazy]: https://github.com/folke/lazy.nvim\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastronvim%2Fastroui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastronvim%2Fastroui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastronvim%2Fastroui/lists"}