goto-project

Easy and fast project switching in your shell!


Keywords
project, shell, management, cli, goto, project-management, projectile, python3, switching, utility
License
MIT
Install
pip install goto-project==0.1.2

Documentation

goto-project

Easy and fast project switching in your shell!

This is a like workon for python, but more powerfull and not only for python.

Build Status Coverage Status Python versions PyPi

Installation

Install it in your user-space with

pip3 install goto-project --user  # or pip if python3 is your default interpreter

You can install zsh completion with antigen

antigen bundle sivakov512/goto-project completions/zsh

Now type gt, then press and you will see all available projects.

If you have project names awesome-project you can type gt aw, press and get gt awesome-project.

Configuration and usage

Specify your project in ~/.goto-project.yaml file.

goto-project:  # this is a project name
  path: ~/Devel/Projects/goto-project/  # path project
  instructions:  # any instructions to call when you switch project
    - source ~/Devel/Envs/py3_goto-project/bin/activate
  command: vim  # command to run when project opened
  clear_on_exit: false  # if specified as false then terminal output will not be cleared on project close

To list all available projects call

gt

To open project call gt with project name as argument

gt goto-project

To close project press C-D. When you close project all changes will be breaked. For example, $PATH will be restored if you extend it.

Usage example

For example you have a project named awesome-nuxt-blog placed at ~/Projects/awesome-nuxt-blog. You need to extend your $PATH with .mode_modules/.bin, source .env/bin/activate and show git status when project opened.

Create ~/.goto-project.yaml with this content:

awesome-nuxt-blog:
  path: ~/Projects/awesome-nuxt-blog
  instructions:
    - source .env/bin/activate
    - export PATH=".node_modules/.bin:$PATH"
    - git status

Now you at ~/. Type gt awesome-nuxt-blog. Now you at ~/Projects/awesome-nuxt-blog.

All your instructions are executed. Also you see git status output in your shell.

Type C-D and now you in ~/.

Screencast

...available here