summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.md26
-rw-r--r--Cargo.lock89
-rw-r--r--README.md6
-rw-r--r--assets/plugins/status-bar.wasmbin413147 -> 413293 bytes
-rw-r--r--assets/plugins/strider.wasmbin517217 -> 517363 bytes
-rw-r--r--assets/plugins/tab-bar.wasmbin407053 -> 407199 bytes
-rwxr-xr-xbuild-all.sh25
-rwxr-xr-xpublish.sh23
8 files changed, 70 insertions, 99 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 45af4a8cb..9f12bc7fe 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -14,16 +14,30 @@ Before contributing please read our [Code of Conduct](CODE_OF_CONDUCT.md) which
all contributors are expected to adhere to.
## Building
-To work around a [Cargo bug][https://github.com/rust-lang/cargo/issues/7004], you'll need to use the included `build-all.sh` script.
+To build Zellij, we're using cargo-make – you can install it by running `cargo install --force cargo-make`.
+
+Here are some of the commands currently supported by the build system:
```sh
-# An unoptimized debug build
-./build-all.sh
-# A fully optimized release build
-./build-all.sh --release
+# Format code, build, then run tests
+cargo make
+# You can also perform these actions individually
+cargo make format
+cargo make build
+cargo make test
+# Run Zellij (optionally with a non-default layout)
+cargo make run
+cargo make run strider
+# Run Clippy (potentially with additional options)
+cargo make clippy
+cargo make clippy -W clippy::pedantic
+# Install Zellij to some directory
+cargo make install /path/of/zellij/binary
+# Publish the zellij and zellij-tile crates
+cargo make publish
```
-The build script has an optional dependency on `binaryen --version` > 97, for it's command `wasm-opt`.
+To run `install` or `publish`, you'll need `binaryen --version` > 97, for it's command `wasm-opt`.
## Looking for something to work on?
diff --git a/Cargo.lock b/Cargo.lock
index 5dd1133c6..792a355e3 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,5 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
+version = 3
+
[[package]]
name = "addr2line"
version = "0.14.1"
@@ -130,7 +132,7 @@ dependencies = [
"event-listener",
"futures-lite",
"once_cell",
- "signal-hook 0.3.7",
+ "signal-hook 0.3.8",
"winapi",
]
@@ -207,11 +209,10 @@ dependencies = [
[[package]]
name = "bincode"
-version = "1.3.2"
+version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d175dfa69e619905c4c3cdb7c3c203fa3bdd5d51184e3afdb2742c0280493772"
+checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
dependencies = [
- "byteorder",
"serde",
]
@@ -255,9 +256,9 @@ checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"
[[package]]
name = "byteorder"
-version = "1.3.4"
+version = "1.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "cache-padded"
@@ -407,9 +408,9 @@ dependencies = [
[[package]]
name = "crossbeam-channel"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775"
+checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-utils",
@@ -462,9 +463,9 @@ dependencies = [
[[package]]
name = "darling"
-version = "0.12.2"
+version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06d4a9551359071d1890820e3571252b91229e0712e7c36b08940e603c5a8fc"
+checksum = "e9d6ddad5866bb2170686ed03f6839d31a76e5407d80b1c334a2c24618543ffa"
dependencies = [
"darling_core",
"darling_macro",
@@ -472,9 +473,9 @@ dependencies = [
[[package]]
name = "darling_core"
-version = "0.12.2"
+version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b443e5fb0ddd56e0c9bfa47dc060c5306ee500cb731f2b91432dd65589a77684"
+checksum = "a9ced1fd13dc386d5a8315899de465708cf34ee2a6d9394654515214e67bb846"
dependencies = [
"fnv",
"ident_case",
@@ -486,9 +487,9 @@ dependencies = [
[[package]]
name = "darling_macro"
-version = "0.12.2"
+version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0220073ce504f12a70efc4e7cdaea9e9b1b324872e7ad96a208056d7a638b81"
+checksum = "0a7a1445d54b2f9792e3b31a3e715feabbace393f38dc4ffd49d94ee9bc487d5"
dependencies = [
"darling_core",
"quote",
@@ -599,9 +600,9 @@ checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
[[package]]
name = "futures"
-version = "0.3.13"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f55667319111d593ba876406af7c409c0ebb44dc4be6132a783ccf163ea14c1"
+checksum = "a9d5813545e459ad3ca1bff9915e9ad7f1a47dc6a91b627ce321d5863b7dd253"
dependencies = [
"futures-channel",
"futures-core",
@@ -614,9 +615,9 @@ dependencies = [
[[package]]
name = "futures-channel"
-version = "0.3.13"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c2dd2df839b57db9ab69c2c9d8f3e8c81984781937fe2807dc6dcf3b2ad2939"
+checksum = "ce79c6a52a299137a6013061e0cf0e688fce5d7f1bc60125f520912fdb29ec25"
dependencies = [
"futures-core",
"futures-sink",
@@ -624,15 +625,15 @@ dependencies = [
[[package]]
name = "futures-core"
-version = "0.3.13"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15496a72fabf0e62bdc3df11a59a3787429221dd0710ba8ef163d6f7a9112c94"
+checksum = "098cd1c6dda6ca01650f1a37a794245eb73181d0d4d4e955e2f3c37db7af1815"
[[package]]
name = "futures-executor"
-version = "0.3.13"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "891a4b7b96d84d5940084b2a37632dd65deeae662c114ceaa2c879629c9c0ad1"
+checksum = "10f6cb7042eda00f0049b1d2080aa4b93442997ee507eb3828e8bd7577f94c9d"
dependencies = [
"futures-core",
"futures-task",
@@ -641,9 +642,9 @@ dependencies = [
[[package]]
name = "futures-io"
-version = "0.3.13"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71c2c65c57704c32f5241c1223167c2c3294fd34ac020c807ddbe6db287ba59"
+checksum = "365a1a1fb30ea1c03a830fdb2158f5236833ac81fa0ad12fe35b29cddc35cb04"
[[package]]
name = "futures-lite"
@@ -662,9 +663,9 @@ dependencies = [
[[package]]
name = "futures-macro"
-version = "0.3.13"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea405816a5139fb39af82c2beb921d52143f556038378d6db21183a5c37fbfb7"
+checksum = "668c6733a182cd7deb4f1de7ba3bf2120823835b3bcfbeacf7d2c4a773c1bb8b"
dependencies = [
"proc-macro-hack",
"proc-macro2",
@@ -674,21 +675,21 @@ dependencies = [
[[package]]
name = "futures-sink"
-version = "0.3.13"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85754d98985841b7d4f5e8e6fbfa4a4ac847916893ec511a2917ccd8525b8bb3"
+checksum = "5c5629433c555de3d82861a7a4e3794a4c40040390907cfbfd7143a92a426c23"
[[package]]
name = "futures-task"
-version = "0.3.13"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa189ef211c15ee602667a6fcfe1c1fd9e07d42250d2156382820fba33c9df80"
+checksum = "ba7aa51095076f3ba6d9a1f702f74bd05ec65f555d70d2033d55ba8d69f581bc"
[[package]]
name = "futures-util"
-version = "0.3.13"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1812c7ab8aedf8d6f2701a43e1243acdbcc2b36ab26e2ad421eb99ac963d96d1"
+checksum = "3c144ad54d60f23927f0a6b6d816e4271278b64f005ad65e4e35291d2de9c025"
dependencies = [
"futures-channel",
"futures-core",
@@ -936,9 +937,9 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.92"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56d855069fafbb9b344c0f962150cd2c1187975cb1c22c1522c240d8c4986714"
+checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"
[[package]]
name = "libloading"
@@ -958,9 +959,9 @@ checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
[[package]]
name = "lock_api"
-version = "0.4.2"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312"
+checksum = "5a3c91c24eae6777794bb1997ad98bbb87daf92890acab859f7eaa4320333176"
dependencies = [
"scopeguard",
]
@@ -992,9 +993,9 @@ checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
[[package]]
name = "memmap2"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04e3e85b970d650e2ae6d70592474087051c11c54da7f7b4949725c5735fbcc6"
+checksum = "397d1a6d6d0563c0f5462bbdae662cf6c784edf5e828e40c7257f85d82bf56dd"
dependencies = [
"libc",
]
@@ -1417,9 +1418,9 @@ dependencies = [
[[package]]
name = "signal-hook"
-version = "0.3.7"
+version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6aa894ef3fade0ee7243422f4fbbd6c2b48e6de767e621d37ef65f2310f53cea"
+checksum = "ef33d6d0cd06e0840fba9985aab098c147e67e05cee14d412d3345ed14ff30ac"
dependencies = [
"libc",
"signal-hook-registry",
@@ -1566,9 +1567,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "1.0.68"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ce15dd3ed8aa2f8eeac4716d6ef5ab58b6b9256db41d7e1a0224c2788e8fd87"
+checksum = "48fe99c6bd8b1cc636890bcc071842de909d902c81ac7dab53ba33c421ab8ffb"
dependencies = [
"proc-macro2",
"quote",
@@ -2119,9 +2120,9 @@ checksum = "87cc2fe6350834b4e528ba0901e7aa405d78b89dc1fa3145359eb4de0e323fcf"
[[package]]
name = "wast"
-version = "35.0.1"
+version = "35.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a5800e9f86a1eae935e38bea11e60fd253f6d514d153fb39b3e5535a7b37b56"
+checksum = "2ef140f1b49946586078353a453a1d28ba90adfc54dde75710bc1931de204d68"
dependencies = [
"leb128",
]
diff --git a/README.md b/README.md
index f9bc9fe04..004ac9eab 100644
--- a/README.md
+++ b/README.md
@@ -30,12 +30,16 @@ Zellij was initially called "Mosaic".
## How to use it?
* Clone the project
-* In the project folder, run: `./build-all.sh && cargo run`
+* Install cargo-make with `cargo install --force cargo-make`
+* Make sure that the `~/.cargo/bin` directory is on your PATH
+* In the project folder, run: `cargo make run`
(note that right now Zellij only supports linux and mac)
The status bar on the bottom should guide you through the possible keyboard shortcuts in the app.
+For more build commands, take a look at [`Contributing.md`](CONTRIBUTING.md).
+
# What is the current status of the project?
Zellij is in the last stages of being VT compatible. As much as modern terminals are.
diff --git a/assets/plugins/status-bar.wasm b/assets/plugins/status-bar.wasm
index 0fa4505a7..7650d577c 100644
--- a/assets/plugins/status-bar.wasm
+++ b/assets/plugins/status-bar.wasm
Binary files differ
diff --git a/assets/plugins/strider.wasm b/assets/plugins/strider.wasm
index 3a6adf4f9..085e11f1a 100644
--- a/assets/plugins/strider.wasm
+++ b/assets/plugins/strider.wasm
Binary files differ
diff --git a/assets/plugins/tab-bar.wasm b/assets/plugins/tab-bar.wasm
index d35ec6d44..141e47ba4 100644
--- a/assets/plugins/tab-bar.wasm
+++ b/assets/plugins/tab-bar.wasm
Binary files differ
diff --git a/build-all.sh b/build-all.sh
deleted file mode 100755
index f267b1102..000000000
--- a/build-all.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-total=5
-
-# This is temporary while https://github.com/rust-lang/cargo/issues/7004 is open
-
-echo "Building status-bar (1/$total)..."
-cd default-tiles/status-bar
-cargo build --release --target-dir ../../target
-
-echo "Building strider (2/$total)..."
-cd ../strider
-cargo build --release --target-dir ../../target
-
-echo "Building tab-bar (3/$total)..."
-cd ../tab-bar
-cargo build --release --target-dir ../../target
-
-echo "Optimising WASM executables (4/$total)..."
-cd ../..
-wasm-opt -O target/wasm32-wasi/release/status-bar.wasm -o target/status-bar.wasm || cp target/wasm32-wasi/release/status-bar.wasm target/status-bar.wasm
-wasm-opt -O target/wasm32-wasi/release/strider.wasm -o target/strider.wasm || cp target/wasm32-wasi/release/strider.wasm target/strider.wasm
-wasm-opt -O target/wasm32-wasi/release/tab-bar.wasm -o target/tab-bar.wasm || cp target/wasm32-wasi/release/tab-bar.wasm target/tab-bar.wasm
-echo "Building zellij (5/$total)..."
-cargo build --target-dir target $@
diff --git a/publish.sh b/publish.sh
deleted file mode 100755
index d6e22da8b..000000000
--- a/publish.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-total=6
-
-echo "Building zellij-tile (1/$total)..."
-cd zellij-tile
-cargo build --release
-echo "Building status-bar (2/$total)..."
-cd ../default-tiles/status-bar
-cargo build --release
-echo "Building strider (3/$total)..."
-cd ../strider
-cargo build --release
-echo "Building tab-bar (4/$total)..."
-cd ../tab-bar
-cargo build --release
-echo "Optimising WASM executables (5/$total)..."
-cd ../..
-wasm-opt -O target/wasm32-wasi/release/status-bar.wasm -o assets/plugins/status-bar.wasm
-wasm-opt -O target/wasm32-wasi/release/strider.wasm -o assets/plugins/strider.wasm
-wasm-opt -O target/wasm32-wasi/release/tab-bar.wasm -o assets/plugins/tab-bar.wasm
-echo "Publishing zellij (6/$total)..."
-cargo publish --features publish $@