$package = 'EthanBrown.SublimeText2.GitPackages' function Get-CurrentDirectory { $thisName = $MyInvocation.MyCommand.Name [IO.Path]::GetDirectoryName((Get-Content function:$thisName).File) } try { $current = Get-CurrentDirectory . (Join-Path $current 'JsonHelpers.ps1') . (Join-Path $current 'SublimeHelpers.ps1') $sublimeUserDataPath = Get-SublimeUserPath #straight file copies 'Git Commit Message.sublime-settings', 'GitHub.sublime-settings', 'SideBarGit.sublime-settings' | % { $params = @{ Path = Join-Path $current $_; Destination = Join-Path $sublimeUserDataPath $_; Force = $true } Copy-Item @params } $packageCache = Join-Path (Get-CurrentDirectory) 'PackageCache' Install-SublimePackagesFromCache -Directory $packageCache -Version 2 Install-SublimePackageControl -PreRelease -Version 2 $packageControl = Join-Path $current 'Package Control.sublime-settings' Merge-PackageControlSettings -FilePath $packageControl $preferences = Join-Path $current 'Preferences.sublime-settings' Merge-Preferences -FilePath $preferences if (Get-Process -Name sublime_text -ErrorAction SilentlyContinue) { Write-Warning 'Please close and re-open Sublime Text to force packages to update' } Write-Host @' To take advantage of the GitHub Gist plugin, generate an OAuth token. In Powershell this can be done by copying the following code into the shell: function Setup-SublimeGitHub { $userName = Read-Host -Prompt "Enter GitHub Username" $password = Read-Host -Prompt "Enter GitHub Password" $postData = @{ scopes = @("repo"); note = "Sublime Plugin Token" } $params = @{ Uri = "https://api.github.com/authorizations"; Method = "POST"; Headers = @{ Authorization = "Basic " + [Convert]::ToBase64String( [Text.Encoding]::ASCII.GetBytes("$($userName):$($password)")); } ContentType = "application/json"; Body = (ConvertTo-Json $postData -Compress) } $GITHUB_API_OUTPUT = Invoke-RestMethod @params $token = $GITHUB_API_OUTPUT | Select -ExpandProperty Token Write-Host "New OAuth token is $token" $configFile = "$ENV:APPDATA\Sublime Text 2\Packages\User\GitHub.sublime-settings" $json = (Get-Content $configFile) -join "" | ConvertFrom-Json $json.accounts.GitHub.github_token = $token $json | ConvertTo-Json | Out-File $configFile -Force } Setup-SublimeGitHub '@ Write-ChocolateySuccess $package } catch { Write-ChocolateyFailure $package "$($_.Exception.Message)" throw }