All Projects → erf → vis-plug

erf / vis-plug

Licence: MIT license
A minimal plugin-manager for vis

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to vis-plug

Vim Packager
Vim plugin manager that utilizes "jobs" and "pack" features.
Stars: ✭ 197 (+1058.82%)
Mutual labels:  plugin-manager
gradejs
GradeJS analyzes production Webpack bundles without having access to the source code of a website. Instantly see vulnerabilities, outdated packages, and more just by entering a web application URL.
Stars: ✭ 362 (+2029.41%)
Mutual labels:  package-management
Harbol
Harbol is a collection of data structure and miscellaneous libraries, similar in nature to C++'s Boost, STL, and GNOME's GLib
Stars: ✭ 18 (+5.88%)
Mutual labels:  plugin-manager
purescript.nix
📦 PureScript package management with Nix
Stars: ✭ 12 (-29.41%)
Mutual labels:  package-management
holo-build
Cross-distribution system package compiler
Stars: ✭ 43 (+152.94%)
Mutual labels:  package-management
zit
minimal plugin manager for ZSH
Stars: ✭ 24 (+41.18%)
Mutual labels:  plugin-manager
Plugin Installation Manager Tool
Plugin Manager CLI tool for Jenkins
Stars: ✭ 138 (+711.76%)
Mutual labels:  plugin-manager
hookman
A plugin management system in python to applications (in totally or partially) written in C++.
Stars: ✭ 29 (+70.59%)
Mutual labels:  plugin-manager
renv
Creating virtual environments for R.
Stars: ✭ 18 (+5.88%)
Mutual labels:  package-management
pacwatch
A pacman wrapper which helps you watch important package updates.
Stars: ✭ 24 (+41.18%)
Mutual labels:  package-management
live-plugin-manager
Plugin manager and installer for Node.JS
Stars: ✭ 172 (+911.76%)
Mutual labels:  plugin-manager
rust
RustPräzi: Representing crates.io as a call-based dependency network
Stars: ✭ 77 (+352.94%)
Mutual labels:  package-management
swarm-pack
Package management for Docker Swarm
Stars: ✭ 22 (+29.41%)
Mutual labels:  package-management
NFive
NFive is a .NET plugin platform for FiveM
Stars: ✭ 53 (+211.76%)
Mutual labels:  plugin-manager
zgenom
A lightweight and fast plugin manager for ZSH
Stars: ✭ 240 (+1311.76%)
Mutual labels:  plugin-manager
Sheldon
A fast, configurable, shell plugin manager
Stars: ✭ 144 (+747.06%)
Mutual labels:  plugin-manager
pipfile-requirements
A CLI tool to covert Pipfile/Pipfile.lock to requirments.txt
Stars: ✭ 47 (+176.47%)
Mutual labels:  package-management
PackagesUI
This plugin provides you a comfortable interface for Sublime Text packages
Stars: ✭ 23 (+35.29%)
Mutual labels:  package-management
zcomet
zcomet - Fast, Simple Zsh Plugin Manager
Stars: ✭ 144 (+747.06%)
Mutual labels:  plugin-manager
ansible-role-yarn
Ansible Role - YARN Package Manager for Ubuntu/RHEL/CentOS https://galaxy.ansible.com/ocha/yarn/
Stars: ✭ 27 (+58.82%)
Mutual labels:  package-management

vis-plug 🍜

A minimal plugin-manager for vis

Configure plugins in your visrc and use Commands to install and more.

Plugins are installed using git (in the background) to a cache folder and required on init.

Install

git clone vis-plug and require it via your visrc. See Plugins.

Configure

Configure plugins in your visrc as a list of tables given to the plug.init method.

Example:

local plug = require('plugins/vis-plug')

-- configure plugins in an array of tables with git urls and options 
local plugins = {

	-- load a plugin given a url (defaults to https://github.com/) and expects a 'init.lua' file
	{ 'erf/vis-cursors' },

	-- first parameter is a shorthand for 'url'
	{ url = 'erf/vis-cursors' },

	-- specify the lua file to require (or theme to set) and give a ref (commit, branch, tag) to checkout
	{ 'erf/vis-test', file = 'init', ref = 'other' },

	-- specify an alias to later use to access plugin variables (see example below)
	{ 'erf/vis-highlight', alias = 'hi' },

	-- configure themes by setting 'theme = true'. The theme 'file' will be set on INIT
	{ 'samlwood/vis-gruvbox', theme = true, file = 'gruvbox' },
}

-- access plugins via alias
plug.plugins.hi.patterns[' +\n'] = { style = 'back:#444444' }

-- require and optionally install plugins on init
plug.init(plugins, true)

Each plugin table can have the following options:

  • url - the git url (defaults to https://github.com and https://)
  • file - the lua file to require on init (defaults to init) or the theme file to set on INIT (optional)
  • ref - checkout a spesific commit, branch or tag (optional)
  • alias - access plugins via plug.plugins.{alias} (optional)
  • theme - set theme = true if theme; will set theme on INIT event (optional)

Install on init

Pass true as second argument to init to install and checkout on init.

require('plugins/vis-plug').init(conf, true)

Install path

Plugins are by default installed to the default cache folder on your system: (XDG_CACHE_HOME|HOME/.cache)/vis-plug/{plugins|themes}/{plug-name}

plug-name is the git url last folder.

Use plug.set_path to set a custom install path:

plug.set_path('/Users/user/my-plugins')

Themes

Install themes using the { theme = true, file = 'acme' } option

The first theme in the config table is set on the INIT event.

Example theme:

local conf = {
	{ 'timoha/vis-acme', theme = true, file = 'acme' },
}

Commands

We support the following vis commands:

:plug-list - list plugins and themes in config table

:plug-install - install plugins (git clone)

:plug-update - update plugins (git pull)

:plug-outdated - check if plugins are up-to-date

:plug-upgrade - upgrade to latest vis-plug using git pull

:plug-remove - delete plugin by {name} (:plug-list for names)

:plug-clean - delete all plugins from disk (in conf)

:plug-checkout - checkout {name} {commit|branch|tag}

:plug-commands - list commands (these)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].