Skip to content

Latest commit

 

History

History
125 lines (101 loc) · 3.35 KB

README.md

File metadata and controls

125 lines (101 loc) · 3.35 KB

gomi

License GitHub Releases
Website GitHub Releases Go version

🗑️ Replacement for UNIX rm command!

gomi (ごみ/go-mi means a trash in Japanese) is a simple trash tool that works on CLI, written in Go

The concept of the trashcan does not exist in Command-line interface (CLI). If you have deleted an important file by mistake with the rm command, it would be difficult to restore. Then, it's this gomi. Unlike rm command, it is possible to easily restore deleted files because gomi have the trashcan for the CLI.

Features

  • Like a rm command but not unlink (delete) in fact (just move to another place)
  • Easy to restore, super intuitive
  • Compatible with rm command, e.g. -r, -f options
  • Nice UI, awesome CLI UX
  • Easy to see what gomi does with setting GOMI_LOG=[trace|debug|info|warn|error]

Usage

$ alias rm=gomi
$ rm -rf important-dir
$ rm --restore
Search: █
Which to restore?
  ▸ important-dir
    main_test.go
    main.go
    test-dir
↓   validate_test.rego

Name:             important-dir
Path:             /Users/b4b4r07/src/github.com/b4b4r07/important-dir
DeletedAt:        5 days ago
Content:            (directory)
  -rw-r--r--  important-file-1
  -rw-r--r--  important-file-2
  drwxr-xr-x  important-subdir-1
  drwxr-xr-x  important-subdir-2
  ...

Installation

Download the binary from GitHub Releases and drop it in your $PATH.

For macOS / Homebrew user:

brew install b4b4r07/tap/gomi

Using afx, package manager for CLI:

github:
- name: b4b4r07/gomi
  description: Trash can in CLI
  owner: b4b4r07
  repo: gomi
  release:
    name: gomi
    tag: v1.1.5 ## NEED UPDATE!
  command:
    link:
    - from: gomi
      to: gomi
    alias:
      rm: gomi ## --> alias rm=gomi

AUR users:

https://aur.archlinux.org/packages/gomi/

Versus

License

MIT