wspick

Crates.iowspick
lib.rswspick
version1.4.0
sourcesrc
created_at2023-06-24 13:35:48.132342
updated_at2024-10-02 07:10:20.288934
descriptionplatform independent workspace picker for the terminal
homepagehttps://github.com/MnlPhlp/wspick
repositoryhttps://github.com/MnlPhlp/wspick
max_upload_size
id898952
size55,488
Manuel Philipp (MnlPhlp)

documentation

README

wspick

terminal workspace picker

If you hate typing out all your long project paths in the terminal just to cd there or open them in an editor, this is for you.

❯ wspick
? select project:
> test1
  test2
  project
  [new project]
  [new dir]
  [edit]
[↑↓ to move, enter to select, type to filter]
❯ wspick
? select project: tes 
> test1
  test2
[↑↓ to move, enter to select, type to filter]

Installation

cargo install wspick

or just download a binary from the releases section


Usage

Calling wspick opens a selector with projects that can be opened in a configured editor. New projects can be added by selecting new project and specifing path and name or by selecting edit and editing the config directly. With new dir you can add a path and wspick will show all directories in that path as project.

wspick
? select project  
> [new project]
  [new dir]
  [edit]
[↑↓ to move, enter to select, type to filter]

Parameters

  • -p print the selected path instead of opening it. Useful for usage in scripts.

CD to projects

To use it on linux to cd to projects create the following alias:

alias cdws='cd $(wspick -p)'

Config

On first start a new configfile wspick.toml is generated and stored in an appropriate location. On linux this is ~/.config/wspick

dirs = []
open_cmd = ""
editor = "/usr/bin/helix"
sort = true
exclude_proj_dirs = true

[paths]
exercism-rust = "/home/manuel/programming/exercism/rust"
  • dirs: list of directories. All subdirectories will be shown as projects
  • open_cmd: command that is executed on selection. Empty means printing the selected path
  • editor: editor used when you select edit
  • sort: sort prjects alphabetically
  • paths: list of project names and paths
  • exclude_proj_dirs : exclude directories containing any already defined project from the autogenerated list
Commit count: 31

cargo fmt