/zshing

Zsh plugin manager similar to VundleVim move to gitlab

Primary LanguageShellMIT LicenseMIT

zshing

Table of Contents

About

Zshing Zsh plugin manager similar to VundleVim

Zshing allows you to...

  • keep track of and configure your plugins right in the .zshrc
  • Install Zsh plugins from Github or Locally
  • Install zsh Plugins from Gitlab and BitBucket and other sites
  • Loas plugins from oh-my-zsh
  • Disable zsh Plugin by add "#" at first
    • this plugin wont be removed but wont be load when start zsh, its useful for themes
  • Update Zsh plugins
  • Clean unused plugins up
  • run the above actions in a single command

Zshing automatically...

  • manages the Source Plugins of your installed Plugins

Zshing is undergoing an interface change, please stay up to date to get latest changes.

zshing-installer

Quick Start

  1. Introduction:

    Installation requires :

    • Git triggers git clone for each configured repository to ~/zshing by default.
  2. Set up Zshing:

    mkdir -p ~/.zshing
    git clone https://gitlab.com/zakariaGatter/zshing.git ~/.zshing/zshing
    
  3. Zshing Manual:

    • Main Plugin Syntax
    #:Username/repo:branch:site:type:name
    | |             |      |    |    |
    | |             |      |    |    `- NAME: name option to add the same plugin or theme many time with different names
    | |             |      |    |             leave it empty to take repo name as repo
    | |             |      |    |
    | |             |      |    `- TYPE: What the type of this Plugin, default value: (plugin|theme|completion|rc)
    | |             |      |
    | |             |      `- SITE: Where to Download this repo from, default value: (gitlab|github|local|https://*)
    | |             |         you can set full url of website, the URL Need to support git clone
    | |             |         Local is for local plugins
    | |             |         leave it empty to take github as default
    | |             |
    | |             `- BRANCH: use any branch you like, leave it empty tp take Master as default
    | |
    | `- REPO: repo name can be as above or as a plugin dir, ex: ($HOME/path/to/plugin)
    |
    `- STAT: add # to disable this plugin, the plugin keep updating and will not remove but wont load with zsh
    
    Examples:
        ZSHING_PLUGINS=(
            # disable plugin, this plugin will update but won't load with zsh
            "#:zakariagatter/zshing:master:gitlab:plugin:zshing"
    
            # Gitlab Plugin
            ":zakariagatter/markgate:master:gitlab:plugin:"
    
            # load arch plugin from oh-my-zsh
            ":::oh-my-zsh:plugin:arch"
        )
    
    
    • Oh-my-zsh Syntax :
    #:::oh-my-zsh:(plugin|theme|lib):name
    | | |         |                  |
    | | |         |                  `- You can set plugin,theme or lib name
    | | |         |                     Ex : :::oh-my-zsh:plugin:arch
    | | |         |                     Note: if you want to use any theme i recomand you to active git lib (ex: ::master:oh-my-zsh:lib:git)
    | | |         |
    | | |         `- Set the Plugin Type
    | | |            if set Theme,lib just give the name no Extantions
    | | |
    | | `-  Leave it as it is
    | |
    | `- Just leave it Empty
    |
    `- Add # To Disable only this plugin
    
    Examples:
        ZSHING_PLUGINS=(
            # load arch plugin from oh-my-zsh
            ":::oh-my-zsh:plugin:arch"
        )
    
    
  4. Configure Plugins:

    Put this at the top of your .zshrc to use Zshing. Remove plugins you don't need, they are for illustration purposes.

     # Zshing Main Dir
     ZSHING_DIR="$HOME/.zshing"
    
     # Set Plugin configuration Before ZSHING_PLUGINS {{{
     ZSHING_PLUGINS=(
         # disable plugin, this plugin will update but won't load zsh
         "#:zakariagatter/zshing:master:gitlab:plugin:zshing"
     )
     # }}}
    
     # set here all plugins Settings and arguments before you source Zshing {{{
     #}}}
    
     # source zshing plugin
     source "$ZSHING_DIR/zshing/zshing.zsh"
  5. Note :

    • Add all plugins settings and Argument before You source Zshing

Using Zshing

    ZSHING ( 0.4 )
    Write by Zakaria Gatter (zakaria.gatter@gmail.com)

    Zsh Plugin to manage Plugin similar to VundleVim

    OPTS :
        zshing_install  [Install Plugin direct from Local or Online git Repos]
        zshing_update   [Update existing Plugins in your system]
        zshing_clean    [Clean and Remove unwanted Plugins]
        zshing_help     [Show this help Dialog]

TODO

Zshing is a work in progress, so any ideas and patches are appreciated.

  • Install Plugins from Github
  • Install Plugins Locally
  • Load plugin from oh-my-zsh
  • Update Plugins
  • Clean Unwanted Plugins
  • Disable Plugin and themes
  • Install Plugins From Gitlab