Giter Club home page Giter Club logo

chaivim's Introduction

chaivim

๐Ÿต easily configurable neovim system with solid defaults and a cozy editor experience.

dash

telescope__config

โœจ Features

Lazy plugin management

chaivim uses lazy.nvim to manage plugins.

integrated plugins

  • ๐Ÿ”ญ telescope - a highly extendable fuzzy finder.
  • ๐ŸŒฒ treesitter - treesitter configurations and abstraction layer for neovim.
  • ๐Ÿ“ none-ls - abstraction layer for lsp diagnostics, code actions, and formatters.
  • ๐Ÿ’ป keymaps - a keymap manager for neovim.
  • โœˆ๏ธ lualine - a blazing fast and easy to configure neovim statusline plugin.
  • ๐Ÿ“ cmp - a completion plugin for neovim.
  • โœ‚๏ธ luasnip with friendly-snippets - a snippet engine for neovim.
  • ๐Ÿ”จ mini.nvim - the "swiss army knife" among neovim plugins.
  • ๐Ÿšฆ gitsigns - git integration for neovim.
  • ๐Ÿ“œ which-key - a keymap ui for neovim.
  • ๐Ÿ“Œ todo-comments - highlight, list and search todo comments in your projects.
  • ๐Ÿšง trouble - a diagnostics manager.
  • ๐ŸŽˆ incline - floating statuslines for neovim.
  • ๐Ÿ“ indent-blankline - indent guides for neovim.

๐Ÿ”’ requirements

  • Neovim >= 0.10.0 (needs to be built with LuaJIT)
  • git >= 2.19.0 (for partial clones support)
  • a Nerd Font (optional)

๐Ÿ“ฆ installation

chaivim can be installed manually or through the installer:

curl -fsSL https://github.com/comfysage/chaivim/raw/mega/utils/installer/install.sh | sh

manual install

-- init.lua
local rootpath = vim.fn.stdpath("data") .. "/core"
local chaipath = rootpath .. "/chai"

if not vim.loop.fs_stat(chaipath) then
  vim.system({
    "git",
    "clone",
    "--filter=blob:none",
    "https://github.com/comfysage/chaivim.git",
    chaipath,
  }):wait()
end

vim.opt.rtp:prepend(chaipath)

๐Ÿš€ usage

-- init.lua
require 'core'.setup('custom.config', 'custom.modules')

-- lua/custom/config.lua
return {
    ui = {
        colorscheme = 'evergarden',
        transparent_background = false,
    },
}

-- lua/custom/modules.lua
return {
    core = {
        {
            'options',
            opts = {
                cursorline = false,
                tab_width = 2,
                scrolloff = 5,
            },
        },
        {
            'dash',
            opts = {
                open_on_startup = true,
            },
        },
    },
    custom = {
        -- your custom modules (in `lua/custom/`)
    },
}

or call require 'core'.setup 'custom' to load a custom configuration from lua/custom/init.lua:

-- init.lua
require 'core'.setup 'custom'

-- lua/custom/init.lua
return {
    ui = {
        colorscheme = 'evergarden',
    },
    modules = {
        core = {
            { 'options' },
            { 'base' },
        },
    },
}

all config fields can be overwritten after setup():

core.config.ui.colorscheme = 'tokyonight'

โš™๏ธ config modules

view example configurations for modules here.

๐Ÿ“ท screenshots

nix-config

chaivim's People

Contributors

comfysage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

chaivim's Issues

require multiple restarts

errors multiple times before working.

errors in order:

  • core module not found at core.setup
  • attempt to index local module (nil) when booting keymaps
  • telescope not found

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.