Warpdrive


View On GitHub

Introduction

It occurs to most of us while travelling through this huge space of directories, the frustration, the pain, and especially the time in order to get to your beloved files. But fear no more, Warpdrive is here to make sure you get to your files with unprecedented speed.

-- Stop Commercial --

In all seriousness, we (developers, sysadmins, ...) probably all had this feeling when we had to edit a common configuration file, or go to a specific project or folder in which we frequently work. There are probably a bunch of projects which do something similar, but the only one which suited my needs, and was rather minimalistic was Jumper created by Jeroen Janssens. However, several features are missing in my opinion which would make it really convenient to use. For example, one needs to specify the correct tag in order to remove the tag. In order to demonstrate this, imagine you are in a directory which is currently tagged with a specific but unknown tag (marks in his terminology). In order to get the required tagname, you first need to execute the marks command in order to retrieve this information. Wouldn't it be much simpler if we could simply untag the directory without specifying the correct tagname since the tagname can be derived? Of course, this is not very difficult to implement, but this is in my opinion functionality which makes life a lot simpler.

Usage

Warpdrive has 4 main commands; warp, tag, untag, and tags. In the following subsections we will demonstrate all main commands in order to give you an indication how to use these commands. In the image below we give a short overview of the core functionalities within Warpdrive and show how they can be used.

Usage of Warpdrive

warp

Warps to the location of the specified tag.

        warp tagname
      

tag

Tags the directory with a specific tagname. If no tagname has been specified, it will use the name of the current directory of the tag.

        tag [tagname]
      

untag

Untags the specified tagname. If no tagname has been specified it will untag the current directory if it is tagged.

        untag [tagname]
      

tags

Displays a list of all available tags with their destinations.

        tags