mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 13:21:19 +08:00 
			
		
		
		
	added pj.plugin
This commit is contained in:
		
							parent
							
								
									615e41b0ec
								
							
						
					
					
						commit
						631a8473e2
					
				
							
								
								
									
										42
									
								
								plugins/pj/pj.plugin.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								plugins/pj/pj.plugin.zsh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
			
		||||
#!/bin/zsh
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Original idea by DefV (Jan De Poorter)
 | 
			
		||||
# Source: https://gist.github.com/pjaspers/368394#comment-1016
 | 
			
		||||
#
 | 
			
		||||
# Usage:
 | 
			
		||||
#  - Set `$PROJECT_PATHS` in your ~/.zshrc
 | 
			
		||||
#    e.g.: PROJECT_PATHS=(~/src ~/work)
 | 
			
		||||
#  - In ZSH you now can open a project directory with the command: `pj my-project`
 | 
			
		||||
#    the plugin will locate the `my-project` directory in one of the $PROJECT_PATHS
 | 
			
		||||
#    Also tab completion is supported.
 | 
			
		||||
#  - `pjo my-project` will open the directory in $EDITOR
 | 
			
		||||
# 
 | 
			
		||||
 | 
			
		||||
function pj() {
 | 
			
		||||
    cmd="cd"
 | 
			
		||||
    file=$1
 | 
			
		||||
 | 
			
		||||
    if [[ "open" == "$file" ]] then
 | 
			
		||||
        file=$2
 | 
			
		||||
        cmd=(${(s: :)EDITOR})
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    for project in $PROJECT_PATHS; do
 | 
			
		||||
        if [[ -d $project/$file ]] then
 | 
			
		||||
            $cmd "$project/$file"
 | 
			
		||||
            unset project # Unset project var
 | 
			
		||||
            return
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    echo "No such project $1"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
alias pjo="pj open"
 | 
			
		||||
 | 
			
		||||
function _pj () {
 | 
			
		||||
    compadd `/bin/ls -l $PROJECT_PATHS 2>/dev/null | awk '{ print $9 }'`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
compdef _pj pj
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user