diff --git a/SublimeText2.PackageControl/SublimeText2.PackageControl.nuspec b/SublimeText2.PackageControl/SublimeText2.PackageControl.nuspec index 150fb02..5ad457f 100644 --- a/SublimeText2.PackageControl/SublimeText2.PackageControl.nuspec +++ b/SublimeText2.PackageControl/SublimeText2.PackageControl.nuspec @@ -25,5 +25,6 @@ + diff --git a/SublimeText2.PackageControl/tools/ChocolateyInstall.ps1 b/SublimeText2.PackageControl/tools/ChocolateyInstall.ps1 index f09b780..f14b834 100644 --- a/SublimeText2.PackageControl/tools/ChocolateyInstall.ps1 +++ b/SublimeText2.PackageControl/tools/ChocolateyInstall.ps1 @@ -1,19 +1,16 @@ +function Get-CurrentDirectory +{ + $thisName = $MyInvocation.MyCommand.Name + [IO.Path]::GetDirectoryName((Get-Content function:$thisName).File) +} + try { $package = 'SublimeText2.PackageControl' - # install package control - $installPath = Join-Path $Env:ProgramFiles 'Sublime Text 2' - $sublimeDataPath = Join-Path ([Environment]::GetFolderPath('ApplicationData')) 'Sublime Text 2' - $packagesPath = Join-Path $sublimeDataPath 'Installed Packages' - if (!(Test-Path $packagesPath)) { New-Item $packagesPath -Type Directory } - $packageControl = Join-Path $packagesPath 'Package Control.sublime-package' + $current = Get-CurrentDirectory + . (Join-Path $current 'SublimeHelpers.ps1') - if (!(Test-Path $packageControl)) - { - # http://wbond.net/sublime_packages/package_control/installation - $packageUrl = 'http://sublime.wbond.net/Package%20Control.sublime-package' - Get-ChocolateyWebFile -url $packageUrl -fileFullPath $packageControl - } + Install-SublimePackageControl Write-ChocolateySuccess $package } catch { diff --git a/core/SublimeHelpers.ps1 b/core/SublimeHelpers.ps1 index 39dfcca..8ae0909 100644 --- a/core/SublimeHelpers.ps1 +++ b/core/SublimeHelpers.ps1 @@ -1,10 +1,17 @@ # uses functions in JsonHelpers.ps1 +function Get-SublimeInstallPath +{ + Join-Path $Env:ProgramFiles 'Sublime Text 2' +} + +function Get-SublimeSettingsPath +{ + Join-Path ([Environment]::GetFolderPath('ApplicationData')) 'Sublime Text 2' +} function Get-SublimePackagesPath { - $installPath = Join-Path $Env:ProgramFiles 'Sublime Text 2' - $settingsPath = Join-Path ([Environment]::GetFolderPath('ApplicationData')) 'Sublime Text 2' - $packagesPath = Join-Path $settingsPath 'Packages' + $packagesPath = Join-Path (Get-SublimeSettingsPath) 'Packages' if (!(Test-Path $packagesPath)) { New-Item $packagesPath -Type Directory } return $packagesPath @@ -17,6 +24,21 @@ function Get-SublimeUserPath return $path } +function Install-SublimePackageControl +{ + # install package control + $packagesPath = Join-Path (Get-SublimeSettingsPath) 'Installed Packages' + if (!(Test-Path $packagesPath)) { New-Item $packagesPath -Type Directory } + $packageControl = Join-Path $packagesPath 'Package Control.sublime-package' + + if (!(Test-Path $packageControl)) + { + # http://wbond.net/sublime_packages/package_control/installation + $packageUrl = 'http://sublime.wbond.net/Package%20Control.sublime-package' + Get-ChocolateyWebFile -url $packageUrl -fileFullPath $packageControl + } +} + function Merge-PackageControlSettings { [CmdletBinding()]