quickswitch 0.2.3

A terminal-based tool for quickly switching between directories and files.
Documentation
name: CI

on:
  push:
    branches: [main, master, develop]
  pull_request:
    branches: [main, master, develop]

env:
  CARGO_INCREMENTAL: 0
  RUST_BACKTRACE: short

jobs:
  test:
    name: Test
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Rust setup
        uses: dtolnay/rust-toolchain@stable

      - name: Rust cache
        uses: swatinem/rust-cache@v2
        with:
          workspaces: ". -> target"

      - name: Check formatting
        run: cargo fmt --all -- --check

      - name: Run clippy
        run: cargo clippy --all-targets --all-features -- -D warnings

      - name: Run tests
        run: cargo test --verbose

      - name: Build
        run: cargo build --verbose

  build-check:
    name: Build Check (${{ matrix.platform }})
    runs-on: ${{ matrix.platform }}
    strategy:
      matrix:
        platform: [ubuntu-22.04, windows-latest, macos-latest]

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Install dependencies (ubuntu only)
        if: matrix.platform == 'ubuntu-22.04'
        run: |
          sudo apt-get update
          sudo apt-get install -y build-essential

      - name: Rust setup
        uses: dtolnay/rust-toolchain@stable

      - name: Rust cache
        uses: swatinem/rust-cache@v2
        with:
          workspaces: ". -> target"
          key: ${{ matrix.platform }}-build-check

      - name: Build
        run: cargo build --release