An open API service indexing awesome lists of open source software.

https://github.com/akaruiyami/navtar

A simple workspace directory management in CLI powered by Rust.
https://github.com/akaruiyami/navtar

cli cli-tool developer-tools directory-management powershell rust

Last synced: 9 months ago
JSON representation

A simple workspace directory management in CLI powered by Rust.

Awesome Lists containing this project

README

          

# \[Navtar\] Workspace Directory Manager

A simple CLI to jump between registered directories using short names.

## Usage

- `wm` -> Will display the available command.
- `wm blog` -> Navigate to the directory registered under the name 'blog'.
- `wm add blog .` -> Registered the current working directory under the name 'blog'.
- `wm list` -> Show all workspaces
- `wm remove blog` -> Delete workspace entry
- `wm rename blog fog` -> Rename blog to fog

## Manual Installation

1. Edit `wrapper.ps1` to point toward `navtar.exe`. Using absolute path is recommended.

```
$wspExe = "path\to\navtar.exe"
```

> [!NOTE]
> In case you wonder where the heck is the navtar.exe, well... you have to build it first using `cargo build --release`

2. Place `wrapper.ps1` anywhere you like but take not the path. Recommended to put it inside your PowerShell profile directory.
3. Then edit your PowerShell profile by adding the following line:

```Microsoft.PowerShell_profile.ps1
. \wrapper.ps1
```

4. Then restart your terminal/powershell or source the profile by using this command: `. $PROFILE`.

> [!NOTE]
> You can find your PowerShell profile by using command `echo $PROFILE`

## Future Plan

- [ ] Create an installer or helper script to quickly setup this thing without the need of manual installation.
- [ ] Make it available for Linux (?)
- [ ] Implement name autocomplete/suggestion

Well, this is my attempt to build something using Rust. There might be things that I will add later on. I do have similar tools
but written in Python. However, I find it a bit slow especially to list the registered workspace. I call it workspace instead of directory
because that what I used this thing for. To quickly `cd` into my playground that scattered around.