diff options
author | denis <denismaximov98@gmail.com> | 2021-05-01 13:45:01 +0300 |
---|---|---|
committer | denis <denismaximov98@gmail.com> | 2021-05-01 13:45:01 +0300 |
commit | eabecde90b1617ce4c29be9d5af3f52ccb67e45f (patch) | |
tree | 0d0dafa594269045f084383a9719f2a4995fe7ea | |
parent | a8adfdfd60c73109c5febf470f639862b331ed94 (diff) | |
parent | 325fc5620f07412381dd47dcf7cf9e141a3d66bf (diff) |
chore: painless merge this time
57 files changed, 2921 insertions, 702 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 5e6553c91..b5098a54b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,5 +1,26 @@ --- -name: Bug Report -about: Create a bug report +name: "\U0001F41B Bug Report" +about: "If something isn't working as expected." labels: bug --- +Thank you for taking the time to file an issue! +You can erase any parts of this template not applicable to your issue. + +## In Case of Graphical, or Performance Issues + +Please run `zellij --debug` and then recreate your issue. + +Please attach the files that were created in + +`/tmp/zellij/zellij-log/` + +To the extent you are comfortable with. + +Also please add the size in columns/lines of the terminal in which the bug happened. You can usually find these out with `tput lines` and `tput cols`. + +And the name and version of progams you interacted with as well as +the operating system. + +## Information + +`zellij --version`: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..d3733ddea --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,118 @@ +name: Release +on: + push: + tags: + - 'v*.*.*' + workflow_dispatch: + +jobs: + build-release: + needs: create-release + name: build-release + runs-on: ${{ matrix.os }} + env: + RUST_BACKTRACE: 1 + strategy: + matrix: + build: + - linux musl x64 + - linux musl aarch64 + - macos x64 + - macos aarch64 + include: + - build: linux musl x64 + os: ubuntu-latest + rust: beta + target: x86_64-unknown-linux-musl + - build: linux musl aarch64 + os: ubuntu-latest + rust: beta + target: aarch64-unknown-linux-musl + - build: macos x64 + os: macos-latest + rust: beta + target: x86_64-apple-darwin + - build: macos aarch64 + os: macos-latest + rust: beta + target: aarch64-apple-darwin + steps: + - name: Set release tag + run: | + if [ "$GITHUB_EVENT_NAME" == 'workflow_dispatch' ]; then + echo "RELEASE_TAG=main" >> $GITHUB_ENV + else + echo "RELEASE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + fi + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + profile: minimal + override: true + target: ${{ matrix.target }} + + - name: Add WASM target + run: rustup target add wasm32-wasi + + - name: Install cargo-make + run: cargo install --debug cargo-make + + - name: Install musl-tools + if: matrix.os == 'ubuntu-latest' + run: sudo apt-get install -y --no-install-recommends musl-tools + + - name: Install wasm-opt + run: brew install binaryen + + # Workaround for <https://github.com/actions/virtual-environments/issues/2557> + - name: Switch Xcode SDK + if: runner.os == 'macos' + run: | + cat <<EOF >> "$GITHUB_ENV" + SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk + EOF + + - name: Build release binary + run: cargo make ci-build-release ${{ matrix.target }} + + - name: Strip release binary + run: strip "target/${{ matrix.target }}/release/zellij" + + - name: Tar release + id: make-artifact + working-directory: ./target/${{ matrix.target }}/release + run: | + name="zellij-${{ matrix.target }}.tar.gz" + tar cvzf "${name}" "zellij" + echo "::set-output name=name::${name}" + - name: Upload release archive + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.create-release.outputs.upload_url }} + asset_path: ./target/${{ matrix.target }}/release/${{ steps.make-artifact.outputs.name }} + asset_name: zellij-${{matrix.target}}.tar.gz + asset_content_type: application/octet-stream + + create-release: + runs-on: ubuntu-latest + outputs: + upload_url: ${{ steps.create_release.outputs.upload_url }} + steps: + - name: create_release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.event_name == 'workflow_dispatch' && '' || github.ref }} + release_name: Release ${{ github.event_name == 'workflow_dispatch' && 'main' || github.ref }} + draft: ${{ github.event_name == 'workflow_dispatch' }} + prerelease: false + diff --git a/.gitignore b/.gitignore index a5d0f5fc4..f211f382b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ *.new .vscode .vim +.DS_Store
\ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index ed90c8a1d..76dd7497f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## [Unreleased] +* Fix the tab '(Sync)' suffix in named tabs (https://github.com/zellij-org/zellij/pull/410) +* Improve performance when multiple panes are open (https://github.com/zellij-org/zellij/pull/318) + +## [0.6.0] - 2021-04-29 * Doesn't quit anymore on single `q` press while in tab mode (https://github.com/zellij-org/zellij/pull/342) +* Completions are not assets anymore, but commands `option --generate-completion [shell]` (https://github.com/zellij-org/zellij/pull/369) +* Fixes in the default configuration `default.yaml` file. Adds initial tmux-compat keybindings `tmux.yaml` (https://github.com/zellij-org/zellij/pull/362) +* Added the `get_plugin_ids()` query function to the plugin API (https://github.com/zellij-org/zellij/pull/392) +* Implemented simple plugin timers via the `set_timeout()` call (https://github.com/zellij-org/zellij/pull/394) +* Added more configuration locations, changed `ZELLIJ_CONFIG` to `ZELLIJ_CONFIG_FILE` (https://github.com/zellij-org/zellij/pull/391) +* Improved keybind handling (https://github.com/zellij-org/zellij/pull/400) +* Added initial screen-compat keybinds `screen.yaml` (https://github.com/zellij-org/zellij/pull/399) +* Added the ability to synchronize input sent to panes (https://github.com/zellij-org/zellij/pull/395) +* Terminal fix: pass vttest 1 (https://github.com/zellij-org/zellij/pull/408) ## [0.5.1] - 2021-04-23 * Change config to flag (https://github.com/zellij-org/zellij/pull/300) diff --git a/Cargo.lock b/Cargo.lock index 7c5efaa07..4058fad7d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2217,7 +2217,7 @@ dependencies = [ [[package]] name = "zellij" -version = "0.6.0" +version = "0.7.0" dependencies = [ "ansi_term 0.12.1", "async-std", @@ -2252,7 +2252,7 @@ dependencies = [ [[package]] name = "zellij-tile" -version = "1.0.0" +version = "1.1.0" dependencies = [ "serde", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 618b49d9b..1988dffa3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "zellij" -version = "0.6.0" +version = "0.7.0" authors = ["Aram Drevekenin <aram@poor.dev>"] edition = "2018" description = "A terminal workspace with batteries included" license = "MIT" repository = "https://github.com/zellij-org/zellij" homepage = "https://zellij.dev" -include = ["src/**/*", "assets/plugins/*", "assets/layouts/*", "LICENSE.md", "README.md", "!**/*_test.*", "!**/tests/**/*"] +include = ["src/**/*", "assets/plugins/*", "assets/layouts/*", "assets/config/*", "LICENSE.md", "README.md", "!**/*_test.*", "!**/tests/**/*"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -38,7 +38,7 @@ wasmer-wasi = "1.0.0" interprocess = "1.0.1" xrdb = "0.1.1" colors-transform = "0.2.5" -zellij-tile = { path = "zellij-tile/", version = "1.0.0" } +zellij-tile = { path = "zellij-tile/", version = "1.1.0" } [dependencies.async-std] version = "1.3.0" diff --git a/Makefile.toml b/Makefile.toml index 83cdcb854..628899f9d 100644 --- a/Makefile.toml +++ b/Makefile.toml @@ -84,9 +84,10 @@ script = ''' plugins = glob_array ${CARGO_TARGET_DIR}/wasm32-wasi/release/*.wasm for plugin in ${plugins} + mkdir ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/assets/plugins/ plugin_name = basename ${plugin} plugin_out = set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/assets/plugins/${plugin_name} - if is_path_newer ${plugin} ${plugin_out} + if not is_path_exists ${plugin_out} or is_path_newer ${plugin} ${plugin_out} exec wasm-opt -O ${plugin} -o ${plugin_out} end end @@ -95,10 +96,14 @@ end # CI Releasing Zellij [tasks.ci-build-release] workspace = false -dependencies = ["build-plugins-release", "wasm-opt-plugins", "build-release"] -command = "cargo" +dependencies = ["setup-cross-compilation", "build-plugins-release", "wasm-opt-plugins"] +command = "cross" args = ["build", "--verbose", "--release", "--target", "${CARGO_MAKE_TASK_ARGS}"] +[tasks.setup-cross-compilation] +command = "cargo" +args = ["install", "cross"] + # Publishing Zellij [tasks.publish] clear = true diff --git a/assets/completions/_zellij b/assets/completions/_zellij deleted file mode 100644 index 774a28fa4..000000000 --- a/assets/completions/_zellij +++ /dev/null @@ -1,90 +0,0 @@ -#compdef zellij - -autoload -U is-at-least - -_zellij() { - typeset -A opt_args - typeset -a _arguments_options - local ret=1 - - if is-at-least 5.2; then - _arguments_options=(-s -S -C) - else - _arguments_options=(-s -C) - fi - - local context curcontext="$curcontext" state line - _arguments "${_arguments_options[@]}" \ -'-s+[Send "split (direction h == horizontal / v == vertical)" to active zellij session]' \ -'--split=[Send "split (direction h == horizontal / v == vertical)" to active zellij session]' \ -'-o+[Send "open file in new pane" to active zellij session]' \ -'--open-file=[Send "open file in new pane" to active zellij session]' \ -'--max-panes=[Maximum panes on screen, caution: opening more panes will close old ones]' \ -'--data-dir=[Change where zellij looks for layouts and plugins]' \ -'-l+[Path to a layout yaml file]' \ -'--layout=[Path to a layout yaml file]' \ -'-c+[Change where zellij looks for the configuration]' \ -'--config=[Change where zellij looks for the configuration]' \ -'-m[Send "move focused pane" to active zellij session]' \ -'--move-focus[Send "move focused pane" to active zellij session]' \ -'-d[]' \ -'--debug[]' \ -'-h[Prints help information]' \ -'--help[Prints help information]' \ -'-V[Prints version information]' \ -'--version[Prints version information]' \ -":: :_zellij_commands" \ -"*::: :->zellij" \ -&& ret=0 - case $state in - (zellij) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:zellij-command-$line[1]:" - case $line[1] in - (option) -_arguments "${_arguments_options[@]}" \ -'--clean[Disables loading of configuration file at default location]' \ |