Giter VIP home page Giter VIP logo

lunarline's Introduction

Lunarline

A neovim statusline written in lua

Out of the box

⭐Features

  1. Fast, beautiful, Customizable
  2. Components:
    • git branch
    • git diff
    • lsp diagnostics
    • active clients
    • file percentage
    • line column
  • Option to disable components which you think are of little use to you.

Requirements

Goals

  • Asynchronously load heavy components of the statusline.
  • No external dependencies on other plugins for features like git branch, git diffs, virtual environment.
  • Maintain a boundary between features and speed.
  • All famous themes will be included with Lunarline.

Installation

  • packer
use 'Murtaza-Udaipurwala/lunarline.nvim'
use 'kyazdani42/nvim-web-devicons'
  • vim-plug
Plug 'Murtaza-Udaipurwala/lunarline.nvim'
Plug 'kyazdani42/nvim-web-devicons'

Get started

This will load up lunarline with its default configuration

require('lunarline').setup()

Customisation

local palette = {
    red = "#f65866",
    light_blue = "#9CDCFE",
    vivid_blue = "#4FC1FF",
    green = "#98c379",
    orange = "#ff8800",
    purple = "#C586C0",
    yellow = "#e1be79",
    black = "#10151a",
    white = "#f9f5d7",
}

require('lunarline').setup({
    -- enable/disable components
    options = {
        filename = true,
        git_branch = true,
        active_clients = false,
        diagnostics = true,
        cursor_position = true,
        line_col = true,
    },

    -- theme = 'original', -- currently lunarline only has the original theme

    -- defining a custom theme
    colors = {
        active = {bg = palette.black, fg = palette.white},
        inactive = {bg = "NONE", fg = palette.white},
        mode_bar = {
            bg = palette.black,
            fg = {
                normal = palette.vivid_blue,
                insert = palette.red,
                visual = palette.yellow,
                command = palette.green,
                other = palette.black,
            }
        },
        filename = {fg = palette.purple, bg = palette.black},
        git_branch = {fg = palette.green, bg = palette.black, style = "bold"},
        git_diff = {
            bg = colors.black,
            fg = {
                added = colors.green,
                removed = colors.red,
            }
        },
        active_clients = {fg = palette.yellow, bg = palette.black},
        lsp_diagnostics = {
            bg = palette.black,
            fg = {
                error = palette.red,
                warning = palette.orange,
                info = palette.vivid_blue,
                hint = palette.green,
            }
        },
        cursor_position = {fg = palette.light_blue, bg = palette.black},
        line_col = {fg = palette.light_blue, bg = palette.black},
    }
})

TODO

  • Git diff
  • python virtualenv

Issues

If your statusline isn't correctly highlighted, make sure lunarline is setup() after your colorscheme.

lunarline's People

Contributors

murtaza-u avatar

Stargazers

Roman avatar

Watchers

James Cloos 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.