Customowe funkcje dostępne w terminalu
#Customowe funkcje dostępne w terminalu
Funkcje należy umieścić w pliku ~/.zshrc
##take
take dirname
Tworzy katalog o nazwie dirname
i wchodzi do niego.
Source:
function take(){
mkdir $1
cd $1
}
##godev
godev [dirname]
Workspace/Php
. Jesli podano opcjonalnie dirname
, to idzie do katalogu Workspace/Php/{dirname}
.Source:
function godev(){
cd ~/Dropbox/Workspace/Php/$1
ls -1
}
##create_project
create_project proj_type proj_name
Workspace/Php/{proj_type}
, gdzie proj_type = {clients|private}
katalog o nazwie proj_name
.[proj_name].sublime-project
w katalogu Workspace/Php/_sublime_projects
Source:
# wywołanie: create_project {project_type} {project_name}
# gdzie:
# {project_type} - clients lub private, co odzwierciedla
# strukturę katalogów w /Users/michalbarys/Dropbox/Workspace/Php/:
# /Users/michalbarys/Dropbox/Workspace/Php/clients, oraz
# /Users/michalbarys/Dropbox/Workspace/Php/private
#
# {proj_name} - nazwa projektu, bez spacji, będąca jednoczesnie
# nazwą katalogu z projektem
function create_project(){
PROJECTS_DIR=~/Dropbox/Workspace/Php/
SUBLIME_PROJECTS_DIR=/Users/michalbarys/Dropbox/Workspace/Php/_sublime_projects/
TERMINAL_TOOLS_DIR=/Users/michalbarys/Dropbox/Workspace/Php/_terminal_tools/
if [ ! "$1" = "clients" ] && [ ! "$1" = "private" ] ; then
echo "Podaj poprawny typ projektu: create_project {private|clients} {project_name}"
else
# przejdź do katalogu "private" lub "clients"
cd $PROJECTS_DIR$1
# utwórz katalog projektu
take $2
# zainicjuj git
git init
# utwórz projekt dla Sublime Text
php ${TERMINAL_TOOLS_DIR}create_project.php $1 $2
# otwórz katalog z projektem w Finderze
open .
# otwórz projekt w Sublime Text
subl $SUBLIME_PROJECTS_DIR$2.sublime-project
fi
}
Source for create_project.php:
<?php
$projectsDir = '/Users/michalbarys/Dropbox/Workspace/Php/' . $argv[1] . '/';
$sublProjDir = '/Users/michalbarys/Dropbox/Workspace/Php/_sublime_projects/';
$source = array(
'folders' => array(
array('path' => $projectsDir . $argv[2])
)
);
file_put_contents( $sublProjDir . $argv[2] . '.sublime-project', json_encode( $source, JSON_PRETTY_PRINT ) );
?>
##open_project
open_project {proj_type} {proj_name}
~/Dropbox/Workspace/Php/{proj_type}/{proj_name}
/Users/michalbarys/Dropbox/Workspace/Php/_sublime_projects/{proj_name}.sublime-project
Source:
# Otwiera istniejący projekt
#
# wywołanie:
# open_project {project_type} {project_name}
#
# gdzie:
# {project_type} - clients lub private, co odzwierciedla
# strukturę katalogów w /Users/michalbarys/Dropbox/Workspace/Php/:
# /Users/michalbarys/Dropbox/Workspace/Php/clients, oraz
# /Users/michalbarys/Dropbox/Workspace/Php/private
#
# {proj_name} - nazwa projektu, bez spacji, będąca jednoczesnie
# nazwą katalogu z projektem
#
function open_project(){
PROJECTS_DIR=~/Dropbox/Workspace/Php/
SUBLIME_PROJECTS_DIR=/Users/michalbarys/Dropbox/Workspace/Php/_sublime_projects/
TERMINAL_TOOLS_DIR=/Users/michalbarys/Dropbox/Workspace/Php/_terminal_tools/
# sprawdź, czy katalog z projektem istnieje
if [ ! -d $PROJECTS_DIR$1$2 ] ; then
# wejdź do katalogu
cd $PROJECTS_DIR$1"/"$2
# otwórz katalog z projektem w Finderze
open .
# sprawdź czy plik z projektem dla Sublime Text istnieje
if [ ! -f $SUBLIME_PROJECTS_DIR$2.sublime-project ] ; then
# jesli nie istenie, to utwórz projekt dla Sublime Text
php ${TERMINAL_TOOLS_DIR}create_sublime_project.php $1 $2
fi
# otwórz projekt w Sublime Text
subl $SUBLIME_PROJECTS_DIR$2.sublime-project
else
echo "Brak katalogu "$PROJECTS_DIR$1"/"$2
fi
}