mirror of
https://github.com/wez/wezterm.git
synced 2024-12-23 21:32:13 +03:00
e4ae8a844d
Brief usage notes here: ```lua local wezterm = require 'wezterm' local a_plugin = wezterm.plugin.require "https://github.com/owner/repo" local config = wezterm.config_builder() a_plugin.apply_to_config(config) return config ``` The referenced repo is expected to have a `plugin/init.lua` file, and by convention, return a module that exports an `apply_to_config` function that accepts at least a config builder parameter, but may pass other parameters, or a lua table with a `config` field that maps to a config build parameter. `wezterm.plugin.require` will clone the repo if it doesn't already exist and store it in the runtime dir under `plugins/NAME` where `NAME` is derived from the repo URL. Once cloned, the repo is NOT automatically updated. Only HTTP (or local filesystem) repos are allowed for the git URL; we cannot currently use ssh for this due to conflicting version requirements that I'll take a look at later. `wezterm.plugin.require` will then perform `require "NAME"`, and since the default `package.path` now includes the appropriate location from the runtime dir, the module should load. Two other functions are available: `wezterm.plugin.list()` will list the plugin repos. `wezterm.plugin.update_all()` will attempt to fast-forward or `pull --rebase` each of the repos it finds. It doesn't currently do anything proactive to reload the configuration afterwards; the user will need to do that themselves.
50 lines
1.4 KiB
TOML
50 lines
1.4 KiB
TOML
[package]
|
|
name = "config"
|
|
version = "0.1.0"
|
|
authors = ["Wez Furlong <wez@wezfurlong.org>"]
|
|
edition = "2018"
|
|
build = "build.rs"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dev-dependencies]
|
|
env_logger = "0.10"
|
|
|
|
[build-dependencies]
|
|
git2 = { version = "0.16", default-features = false }
|
|
|
|
[features]
|
|
distro-defaults = []
|
|
|
|
[dependencies]
|
|
anyhow = "1.0"
|
|
bitflags = "1.3"
|
|
colorgrad = "0.6"
|
|
dirs-next = "2.0"
|
|
enum-display-derive = "0.1"
|
|
hostname = "0.3"
|
|
lazy_static = "1.4"
|
|
libc = "0.2"
|
|
log = "0.4"
|
|
luahelper = { path = "../luahelper" }
|
|
mlua = {version="0.8.3", features=["vendored", "lua54", "async", "send"]}
|
|
# file change notification
|
|
notify = "5.0.0"
|
|
ordered-float = { version = "3.0", features = ["serde"] }
|
|
portable-pty = { path = "../pty", features = ["serde_support"]}
|
|
promise = { path = "../promise" }
|
|
serde = {version="1.0", features = ["rc", "derive"]}
|
|
shlex = "1.1"
|
|
smol = "1.2"
|
|
termwiz = { path = "../termwiz", features=["use_serde"] }
|
|
toml = "0.7"
|
|
umask = { path = "../umask" }
|
|
wezterm-config-derive = { version="0.1", path="derive" }
|
|
wezterm-dynamic = { path = "../wezterm-dynamic" }
|
|
wezterm-bidi = { path = "../bidi" }
|
|
wezterm-input-types = { path = "../wezterm-input-types" }
|
|
wezterm-term = { path = "../term", features=["use_serde"] }
|
|
|
|
[target."cfg(windows)".dependencies]
|
|
winapi = { version = "0.3", features = ["winuser"]}
|