Add powershell profile.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/powershell/Profile.ps1 Mon Jan 23 07:21:24 2017 -0500
@@ -0,0 +1,132 @@
+function Remove-Directory
+{
+ param(
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+ [switch]$Force
+ )
+ # [io.directory]::Delete($Path, $Force)
+ if ($Force) {
+ cmd /C rd /s /q $Path
+ } else {
+ cmd /C rd /s $Path
+ }
+}
+
+function Get-VirtualEnv
+{
+ dir $env:WORKON_HOME | select Name, FullName
+}
+
+function Activate-VirtualEnv
+{
+ param([string]$venv)
+ if ($venv)
+ {
+ . "$env:WORKON_HOME\$venv\Scripts\activate.ps1"
+ }
+ else
+ {
+ Get-VirtualEnv
+ }
+}
+
+function Get-Project
+{
+ dir $env:PROJECT_REPO | select Name, FullName
+}
+
+function Activate-Project
+{
+ param([string]$project)
+ if ($project)
+ {
+ if (!$env:SAVED_PATH)
+ {
+ $env:SAVED_PATH=$env:Path
+ }
+ $env:PROJECT_ACTIVE = $project
+ $env:Path = "$env:PROJECT_REPO\$project\bin;$env:SAVED_PATH"
+ set-alias py python
+ Activate-VirtualEnv $project
+ cd $env:PROJECT_REPO\$project
+ }
+ else
+ {
+ Get-Project
+ }
+}
+
+function Quit-Project
+{
+ if ($env:PROJECT_ACTIVE)
+ {
+ Write-Verbose "Quitting $env:PROJECT_ACTIVE"
+ del Env:\PROJECT_ACTIVE
+ deactivate
+ if ($env:SAVED_PATH)
+ {
+ $env:PATH=$env:SAVED_PATH
+ }
+ remove-item alias:py
+ }
+ else
+ {
+ Write-Verbose "No project active"
+ }
+}
+
+function Create-Project
+{
+ param(
+ [string]$Project,
+ [string]$Repo = "prototype",
+ [string]$Revision = "default"
+ )
+
+ if ($Project)
+ {
+ hg clone -u $Revision ssh://hg@bitbucket.org/genvidtech/$Repo $env:PROJECT_REPO\$Project
+ setvenv $Project
+ }
+ else
+ {
+ Get-Project
+ }
+}
+
+function Remove-Project
+{
+ param([string]$project)
+ if ($project)
+ {
+ $path = (Get-Project | Where-Object { $_.Name -eq $project }).FullName
+ $venv = "$env:WORKON_HOME\$project"
+ Remove-Directory -Path $path -Force
+ Remove-Directory -Path $venv -Force
+ }
+ else
+ {
+ Get-Project
+ }
+
+}
+
+function Activate-Docker
+{
+ param([string]$docker)
+
+ if (!$docker)
+ {
+ $docker = $env:DOCKER_MACHINE_NAME
+ }
+
+ & docker-machine env $docker | Invoke-Expression
+}
+
+remove-item alias:curl
+remove-item alias:wget
+remove-item alias:rd
+set-alias workon Activate-Project
+set-alias which Get-Command
+set-alias rd Remove-Directory
\ No newline at end of file