rust-switcher 0.1.21

Windows keyboard layout switcher and text conversion utility
#:schema https://dystroy.org/bacon/.bacon.schema.json

default_job = "dev-long"

env.CARGO_TERM_COLOR = "always"
env.RUSTFLAGS = "-D warnings"
env.RUST_LOG = "trace"

[jobs.dev-long]
command = ["powershell", "-NoProfile", "-Command", """
  $ErrorActionPreference = 'Stop'

  cargo +nightly fmt --check
  if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

  cargo +nightly clippy --all-targets --all-features -- `
    -D warnings `
    -D clippy::all `
    -D clippy::style `
    -D clippy::complexity `
    -D clippy::perf `
    -D clippy::cargo `
    -D clippy::unwrap_used `
    -D clippy::expect_used `
    -D clippy::todo `
    -D clippy::unimplemented `
    -D clippy::dbg_macro `
    -A clippy::multiple_crate_versions
  if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

  cargo +nightly build --features debug-tracing
  if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

  .\\target\\debug\\rust-switcher.exe
  """]
kill = [
  "powershell",
  "-NoProfile",
  "-Command",
  "Get-Process rust-switcher -ErrorAction SilentlyContinue | ForEach-Object { $_.CloseMainWindow() | Out-Null }; Start-Sleep -Milliseconds 200; Get-Process rust-switcher -ErrorAction SilentlyContinue | Stop-Process -Force",
]

need_stdout = true
allow_warnings = false
background = false
on_change_strategy = "kill_then_restart"

[jobs.release-long]
command = ["powershell", "-NoProfile", "-Command", """
  $ErrorActionPreference = 'Stop'

  cargo +nightly fmt --check
  if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

  cargo +nightly clippy --all-targets --all-features -- `
    -D warnings `
    -D clippy::all `
    -D clippy::style `
    -D clippy::complexity `
    -D clippy::perf `
    -D clippy::cargo `
    -D clippy::unwrap_used `
    -D clippy::expect_used `
    -D clippy::todo `
    -D clippy::unimplemented `
    -D clippy::dbg_macro `
    -A clippy::multiple_crate_versions
  if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

  cargo +nightly build --release --locked
  if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

  .\\target\\release\\rust-switcher.exe
  """]
kill = [
  "powershell",
  "-NoProfile",
  "-Command",
  "Get-Process rust-switcher -ErrorAction SilentlyContinue | ForEach-Object { $_.CloseMainWindow() | Out-Null }; Start-Sleep -Milliseconds 200; Get-Process rust-switcher -ErrorAction SilentlyContinue | Stop-Process -Force",
]
need_stdout = true
allow_warnings = false
background = false
on_change_strategy = "kill_then_restart"

[jobs.test-long]
env.RUST_TEST_NOCAPTURE = "1"
command = ["powershell", "-NoProfile", "-Command", """
  $ErrorActionPreference = 'Stop'

  cargo +nightly fmt --check
  if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

  cargo +nightly clippy --all-targets --all-features -- `
    -D warnings `
    -D clippy::all `
    -D clippy::style `
    -D clippy::complexity `
    -D clippy::perf `
    -D clippy::cargo `
    -D clippy::unwrap_used `
    -D clippy::expect_used `
    -D clippy::todo `
    -D clippy::unimplemented `
    -D clippy::dbg_macro `
    -A clippy::multiple_crate_versions
  if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

  cargo +nightly test -- --nocapture
  if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
  """]
need_stdout = true
allow_warnings = false
background = false
on_change_strategy = "kill_then_restart"

[jobs.dushnota]
command = ["powershell", "-NoProfile", "-Command", """
  $ErrorActionPreference = 'Stop'

  cargo +nightly fmt --check
  if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

  cargo +nightly clippy --all-targets --all-features -- `
    -D warnings `
    -D clippy::all `
    -D clippy::style `
    -D clippy::complexity `
    -D clippy::perf `
    -D clippy::cargo `
    -D clippy::unwrap_used `
    -D clippy::expect_used `
    -D clippy::todo `
    -D clippy::unimplemented `
    -D clippy::dbg_macro `
    -D clippy::pedantic `
    -D clippy::panic `
    -A clippy::multiple_crate_versions
  if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
  """]
need_stdout = true
allow_warnings = false
background = false
on_change_strategy = "kill_then_restart"

[keybindings]
d = "job:dev-long"
r = "job:release-long"
t = "job:test-long"
p = "job:dushnota"