8 releases (5 breaking)

0.6.0 Mar 29, 2022
0.5.1 Dec 29, 2021
0.4.1 Dec 26, 2021
0.3.0 Oct 28, 2021
0.1.0 Oct 24, 2021

#1067 in Filesystem

Download history 17/week @ 2024-02-19 3/week @ 2024-02-26 3/week @ 2024-03-11 135/week @ 2024-04-01

138 downloads per month

GPL-3.0 license

27KB
402 lines

DIPSE (Directory Independent Project Script Executor)

dipse <cmd1> <cmd2> <cmd3> ...

Use your same "aliases" for all your projects

Installation

crates.io

  • cargo install dipse

Manual

  • Clone the repository: git clone https://github.com/DevHyperCoder/dipse.git

  • Change Directory into dipse: cd dipse/

  • Run the code: cargo run -- <your options>

  • Build the code: cargo build --release

  • Install it: cargo install --path .

Eventually, dipse will be available on the AUR

Features

  • Simple to use TOML config file
  • Works if you are inside a child directory
  • Global config file
  • Specify multiple commands at once to execute.
  • Add paramaters to aliases (See example below)

Options

  • -f: Specify which config file to use
  • -d: Debug flag. Print out the command to execute
  • -n: Do not execute the command. Use in combination with -d

Subcommands

  • add: Add a new alias
  • update: Update a alias
  • delete: Delete a alias
  • list: Lists all the aliases for current dir. Optionally specify a name to see the command of that alias
  • edit: Edit the config file for current dir. If -f is provided, it will edit that instead. Uses your $EDITOR variable, please set it before you run this command

Configuration

Each project can have its own .d.toml file.

["/rust/project"]
f = "cargo fmt"
r = "cargo run"
b = "cargo build"


["/node/project"]
f = "npm run format"
r = "npm run dev"
b = "npm run build"

See how in the above example, the aliases work for both /rust/project and /node/project. Path can also be relative.

NOTE: Each path and command needs to be inside ""

dipse will traverse up the directory structure to find a .d.toml file. If none is found, it will create a config file in $XDG_CONFIG_HOME/dipse/

Example

CRUD operation


# Add
dipse add "alias name" "command to execute"

# List specific
dipse list "alias name"

# List all
dipse list 

dipse update "alias name" "command to execute"

dipse delete "alias name"

Running multiple commands

You can execute multiple aliases at once like this:

dipse alias1 alias2 alias3 alias4

Each alias will be executed after the previous one is finished.

Arguments / Parameters

Seperate the arguments from the alias name like this:

dipse alias_name -- --option-you-want "param1"

In case you wish to run multiple aliases at the same time, dipse will apply the arguments to the last alias only.

dipse alias1 alias2 -- "a" In this case, "a" is passed only to alias2, alias1 is executed without any changes.

Contributions

Pull Requests and Issues are accepted.

LICENSE

dipse is licensed under the GNU General Public License 3. Our copy of GPL-3 can be found here

Dependencies

~2.4–3.5MB
~60K SLoC