#file-path #directory #absolute #prints #cli-tool #cli

app reelpath

CLI tool that prints the absolute path for a given file or directory

7 stable releases

1.2.2 Oct 30, 2021
1.2.1 Aug 2, 2021
1.1.0 Mar 19, 2021
1.0.2 Mar 16, 2021

#32 in #absolute

Apache-2.0

8KB

reelpath

tag crates.io license

reelpath is a CLI application that prints the absolute path for a given file or directory.

user at host in ~/github.com/nickgerace/reelpath
% reelpath README.md
/home/user/github.com/nickgerace/reelpath/README.md

Motivation

Could this exist as a shell function? Probably. Did I want a cross-platform method to get the absolute path for a given file or directory? Yes.

Since reelpath does not use any external dependencies, it supports all platforms that Rust supports. Please file an issue if you encounter an error on your platform of choice.

Usage

You can supply multiple arguments to the CLI, use pipes with xargs, and use wildcards in a single argument.

reelpath file
reelpath directory
reelpath ../relative/path/to/file
reelpath ../relative/path/to/directory
reelpath $(ls)
reelpath file.* file.extension directory/*
ls | xargs reelpath

Installation

There are two primary methods for installing reelpath.

Homebrew (macOS only)

You can use Homebrew to install the tap.

brew install nickgerace/nickgerace/reelpath

Note: the tap may not work with Linuxbrew.

You can use cargo to install the crate on almost any platform.

cargo install reelpath

Keeping the crate up to date is easy with cargo-update.

cargo install cargo-update
cargo install-update -a

Additional Notes

Where is CHANGELOG.md?

This project adheres to Semantic Versioning, but does not leverage popular changelog formats, like Keep a Changelog, because of its tiny size and purpose. Using GitHub to compare two tags, commits, etc. should suffice for this project.

https://github.com/nickgerace/reelpath/compare/<one-tag>...<another-tag>
https://github.com/nickgerace/reelpath/compare/<latest-tag>...HEAD

Where is the continuous integration?

Local developer testing suffices for this project due to its tiny size and purpose. Continuous integration would be wasteful, but this is subject to change.

Code of Conduct

This repository follows and enforces the Rust programming language's Code of Conduct.

No runtime deps