85 lines
2.6 KiB
PowerShell
85 lines
2.6 KiB
PowerShell
$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
|
|
}
|