Giter Club home page Giter Club logo

astroui's Introduction

๐ŸŽจ AstroUI - TEST COMMIT

AstroUI provides a simple API for configuring and setting up the user interface in AstroNvim.

โœจ Features

  • Unified interface for configuring icons (with and without Nerd Fonts)
  • Easily modify highlight groups of any and all colorschemes
  • An extensive status API for building custom status lines (Relies on astrocore)

โšก๏ธ Requirements

๐Ÿ“ฆ Installation

Install the plugin with your plugin manager of choice:

lazy.nvim

{
  "AstroNvim/astroui",
  lazy = false, -- disable lazy loading
  priority = 10000, -- load AstroUI first
  opts = {
    -- set configuration options  as described below
  }
}

packer.nvim

use {
  "AstroNvim/astroui",
}

require("astroui").setup {
  -- set configuration options  as described below
}

โš™๏ธ Configuration

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:

---@type AstroUIConfig
{
  -- Colorscheme set on startup, a string that is used with `:colorscheme astrodark`
  colorscheme = "astrodark",
  -- Override highlights in any colorscheme
  -- Keys can be:
  --   `init`: table of highlights to apply to all colorschemes
  --   `<colorscheme_name>` override highlights in the colorscheme with name: `<colorscheme_name>`
  highlights = {
    -- this table overrides highlights in all colorschemes
    init = {
      Normal = { bg = "#000000" },
    },
    -- a table of overrides/changes when applying astrotheme
    astrotheme = {
      Normal = { bg = "#000000" },
    },
  },
  -- A table of icons in the UI using NERD fonts
  icons = {
    GitAdd = "๏ƒพ",
  },
  -- A table of only text "icons" used when icons are disabled
  text_icons = {
    GitAdd = "[+]",
  },
  -- Configuration options for the AstroNvim lines and bars built with the `status` API.
  status = {
    -- 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`).
    attributes = {
      git_branch = { bold = true },
    },
    -- Configure colors of components defined in the `status` API. Check the AstroNvim documentation for a complete list of color names.
    colors = {
      git_branch_fg = "#ABCDEF",
    },
    -- Configure which icons that are highlighted based on context
    icon_highlights = {
      -- enable or disable breadcrumb icon highlighting
      breadcrumbs = false,
      -- Enable or disable the highlighting of filetype icons both in the statusline and tabline
      file_icon = {
        tabline = function(self) return self.is_active or self.is_visible end,
        statusline = true,
      },
    },
    -- Configure characters used as separators for various elements
    separators = {
      none = { "", "" },
      left = { "", "  " },
      right = { "  ", "" },
      center = { "  ", "  " },
      tab = { "๎‚บ", "๎‚ธ" },
      breadcrumbs = " ๎‚ฑ ",
      path = " ๎‚ฑ ",
    },
  },
}

๐Ÿ“ฆ API

AstroUI provides a Lua API with utility functions. This can be viewed with :h astroui or in the repository at doc/api.md

๐Ÿš€ Contributing

If you plan to contribute, please check the contribution guidelines first.

astroui's People

Contributors

astronvimbot avatar github-actions[bot] avatar mehalter avatar wroyca avatar

Watchers

 avatar

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.