17 releases (10 stable)

1.4.0 Oct 2, 2024
1.3.0 May 14, 2024
1.2.3 Feb 28, 2024
1.2.0 Aug 2, 2023
0.4.0 Jul 12, 2023

#381 in Development tools

Download history 1/week @ 2024-07-29 126/week @ 2024-08-12 10/week @ 2024-09-16 4/week @ 2024-09-23 240/week @ 2024-09-30 8/week @ 2024-10-07

1,099 downloads per month

MIT/Apache

18KB
330 lines

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

Dependencies

~7–17MB
~243K SLoC