diff --git a/EthanBrown.SublimeText2.GitPackages/EthanBrown.SublimeText2.GitPackages.nuspec b/EthanBrown.SublimeText2.GitPackages/EthanBrown.SublimeText2.GitPackages.nuspec new file mode 100644 index 0000000..417ba0e --- /dev/null +++ b/EthanBrown.SublimeText2.GitPackages/EthanBrown.SublimeText2.GitPackages.nuspec @@ -0,0 +1,70 @@ + + + + EthanBrown.SublimeText2.GitPackages + Sublime Text 2 - Git Integration Packages + 0.0.1 + Various + Ethan Brown + A number of packages helpful for increased editor productivity when using Git. + Includes a number of very useful packages for Sublime Text 2. + + Included + =========================================================================== + + - EditorConfig + https://github.com/sindresorhus/editorconfig-sublime + + - Git + https://github.com/kemayo/sublime-text-2-git + + - GitHubinator + https://github.com/ehamiter/ST2-GitHubinator + + - Modific + https://github.com/gornostal/Modific + + - SideBarGit + https://github.com/SublimeText/SideBarGit + + - sublime-github (Github Gists) + https://github.com/bgreenlee/sublime-github + + Customized Key Bindings + =========================================================================== + https://github.com/Iristyle/SublimeKeyMap.Git + + Additional Package Preferences + =========================================================================== + Git - Commit message rules + Github Gists - Generates an OAuth token automatically + SideBarGit - disables branch since Git already supplies it + + Additional User Preferences + =========================================================================== + Rules for + - drawing whitespace + - ensuring newline at eof + - rulers at 50, 72, 80 and 120 + - use spaces everywhere + - trim whitespace on save + + http://github.com/Iristyle/ChocolateyPackages/ + SublimeText package editor + + false + https://raw.github.com/Iristyle/ChocolateyPackages/master/SublimeText2.app/Sublime_Text.png + + + + + + + + + + + + diff --git a/EthanBrown.SublimeText2.GitPackages/tools/Git Commit Message.sublime-settings b/EthanBrown.SublimeText2.GitPackages/tools/Git Commit Message.sublime-settings new file mode 100644 index 0000000..efd3a4c --- /dev/null +++ b/EthanBrown.SublimeText2.GitPackages/tools/Git Commit Message.sublime-settings @@ -0,0 +1,3 @@ +{ + "rulers": [50, 72] +} diff --git a/EthanBrown.SublimeText2.GitPackages/tools/GitHub.sublime-settings b/EthanBrown.SublimeText2.GitPackages/tools/GitHub.sublime-settings new file mode 100644 index 0000000..d0dc0cf --- /dev/null +++ b/EthanBrown.SublimeText2.GitPackages/tools/GitHub.sublime-settings @@ -0,0 +1,8 @@ +{ + "accounts": { + "GitHub": { + "base_uri": "https://api.github.com", + "github_token": "" + } + } +} diff --git a/EthanBrown.SublimeText2.GitPackages/tools/Package Control.sublime-settings b/EthanBrown.SublimeText2.GitPackages/tools/Package Control.sublime-settings new file mode 100644 index 0000000..f53395e --- /dev/null +++ b/EthanBrown.SublimeText2.GitPackages/tools/Package Control.sublime-settings @@ -0,0 +1,19 @@ +{ + "installed_packages": + [ + "EditorConfig", + "Git", + "GitHubinator", + "Modific", + "SideBarGit", + "sublime-github", + "ZZZ.EthanBrown.SublimeKeyMap.Git" + ], + "package_name_map": { + "SublimeKeyMap.Git": "ZZZ.EthanBrown.SublimeKeyMap.Git" + }, + "repositories": + [ + "https://github.com/Iristyle/SublimeKeyMap.Git" + ] +} diff --git a/EthanBrown.SublimeText2.GitPackages/tools/Preferences.sublime-settings b/EthanBrown.SublimeText2.GitPackages/tools/Preferences.sublime-settings new file mode 100644 index 0000000..ed79a1c --- /dev/null +++ b/EthanBrown.SublimeText2.GitPackages/tools/Preferences.sublime-settings @@ -0,0 +1,13 @@ +{ + "draw_white_space": "all", + "ensure_newline_at_eof_on_save": true, + "rulers": + [ + 50, + 72, + 80, + 120 + ], + "translate_tabs_to_spaces": true, + "trim_trailing_white_space_on_save": true +} diff --git a/EthanBrown.SublimeText2.GitPackages/tools/SideBarGit.sublime-settings b/EthanBrown.SublimeText2.GitPackages/tools/SideBarGit.sublime-settings new file mode 100644 index 0000000..f29d647 --- /dev/null +++ b/EthanBrown.SublimeText2.GitPackages/tools/SideBarGit.sublime-settings @@ -0,0 +1,3 @@ +{ + "statusbar_branch" : false +} diff --git a/EthanBrown.SublimeText2.GitPackages/tools/chocolateyInstall.ps1 b/EthanBrown.SublimeText2.GitPackages/tools/chocolateyInstall.ps1 new file mode 100644 index 0000000..61cbd88 --- /dev/null +++ b/EthanBrown.SublimeText2.GitPackages/tools/chocolateyInstall.ps1 @@ -0,0 +1,81 @@ +$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 + } + + $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 +}