Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
1945e645b6 |
@@ -3,7 +3,7 @@
|
||||
<metadata>
|
||||
<id>AWSTools.Powershell</id>
|
||||
<title>AWS Tools for Windows PowerShell</title>
|
||||
<version>1.1.1120.20130916</version>
|
||||
<version>1.0.0.20130405</version>
|
||||
<authors>Amazon Web Services</authors>
|
||||
<owners>Ethan Brown</owners>
|
||||
<summary>The AWS Tools for Windows PowerShell lets developers and administrators manage their AWS services from the Windows PowerShell scripting environment. Now you can manage your AWS resources with the same Windows PowerShell tools you use to manage your Windows environment.</summary>
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<metadata>
|
||||
<id>AdobeAIR</id>
|
||||
<title>Adobe AIR Runtime</title>
|
||||
<version>15.0.0.249</version>
|
||||
<version>3.7.0.1860</version>
|
||||
<authors>Adobe</authors>
|
||||
<owners>Ethan J Brown</owners>
|
||||
<summary>Adobe AIR runtime is necessary for AIR based applications.</summary>
|
||||
@@ -16,7 +16,7 @@
|
||||
<licenseUrl>http://www.adobe.com/products/eulas</licenseUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<iconUrl>https://github.com/Iristyle/ChocolateyPackages/raw/master/AdobeAIR/AdobeAIR.jpg</iconUrl>
|
||||
<releaseNotes>http://helpx.adobe.com/air/air-releasenotes.html</releaseNotes>
|
||||
<releaseNotes></releaseNotes>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="tools\**" target="tools" />
|
||||
|
@@ -1,5 +1,5 @@
|
||||
$package = 'AdobeAIR'
|
||||
$version = '15.0'
|
||||
$version = '3.7'
|
||||
|
||||
try {
|
||||
|
||||
@@ -7,7 +7,7 @@ try {
|
||||
PackageName = $package;
|
||||
FileType = 'exe';
|
||||
SilentArgs = '-silent -eulaAccepted';
|
||||
Url = "http://airdownload.adobe.com/air/win/download/$version/AdobeAIRInstaller.exe"
|
||||
Url = 'http://airdownload.adobe.com/air/win/download/3.7/AdobeAIRInstaller.exe'
|
||||
}
|
||||
|
||||
Install-ChocolateyPackage @params
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<metadata>
|
||||
<id>AndroidStudio</id>
|
||||
<title>Android Studio</title>
|
||||
<version>0.3.2.132893413</version>
|
||||
<version>0.1.130.677228</version>
|
||||
<authors>Google</authors>
|
||||
<owners>Ethan J Brown</owners>
|
||||
<summary>Android Studio is a new Android development environment based on IntelliJ IDEA.</summary>
|
||||
|
@@ -1,32 +1,12 @@
|
||||
$package = 'AndroidStudio'
|
||||
$majorVersion = '0.3.2'
|
||||
$buildVersion = 132.893413
|
||||
|
||||
try {
|
||||
|
||||
$build = Join-Path $Env:LOCALAPPDATA 'Android\android-studio\build.txt'
|
||||
|
||||
if ((Test-Path $build) -and ((Get-Content $build) -match '.*?(\d+\.\d+)'))
|
||||
{
|
||||
$installedVersion = [decimal]$Matches[1]
|
||||
if ($installedVersion -lt $buildVersion)
|
||||
{
|
||||
Write-Host "Uninstalling existing version $installedVersion"
|
||||
. .\chocolateyUninstall.ps1
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host "$package $installedVersion already installed!"
|
||||
exit
|
||||
}
|
||||
}
|
||||
|
||||
$params = @{
|
||||
PackageName = $package;
|
||||
FileType = 'exe';
|
||||
#uses NSIS installer - http://nsis.sourceforge.net/Docs/Chapter3.html
|
||||
SilentArgs = '/S';
|
||||
Url = "https://dl.google.com/android/studio/install/$majorVersion/android-studio-bundle-$buildVersion-windows.exe";
|
||||
Url = 'http://dl.google.com/android/studio/android-studio-bundle-130.677228-windows.exe';
|
||||
}
|
||||
|
||||
Install-ChocolateyPackage @params
|
||||
|
@@ -2,6 +2,11 @@ $package = 'AndroidStudio'
|
||||
|
||||
try
|
||||
{
|
||||
$installPath = (Join-Path "${Env:\ProgramFiles(x86)}" 'AndroidStudio'),
|
||||
(Join-Path 'Env:ProgramFiles' 'AndroidStudio') |
|
||||
? { Test-Path $_ } |
|
||||
Select -First 1
|
||||
|
||||
$uninstall = Join-Path $Env:LOCALAPPDATA 'Android\android-studio\uninstall.exe'
|
||||
|
||||
#uses NSIS installer - http://nsis.sourceforge.net/Docs/Chapter3.html
|
||||
|
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0"?>
|
||||
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<metadata>
|
||||
<id>Brackets</id>
|
||||
<title>Brackets Code Editor</title>
|
||||
<version>0.35</version>
|
||||
<version>0.1.25.7701</version>
|
||||
<authors>Adobe</authors>
|
||||
<owners>Ethan J Brown</owners>
|
||||
<summary>Brackets open-source code editor built with the web for the web.</summary>
|
||||
<summary>Brackets open-source code editor built with the web for the web - Milestone 25.</summary>
|
||||
<description>Brackets is an open-source editor for web design and development built on top of web technologies such as HTML, CSS and JavaScript. The project was created and is maintained by Adobe, and is released under an MIT License.
|
||||
|
||||
FOR THE WEB, BY THE WEB
|
||||
@@ -25,8 +25,17 @@ The browser is your design view. Brackets hooks up directly to the browser, allo
|
||||
<tags>editor web adobe javascript html css</tags>
|
||||
<licenseUrl>https://github.com/adobe/brackets/blob/master/LICENSE</licenseUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<iconUrl>https://upload.wikimedia.org/wikipedia/commons/4/4c/Brackets_Icon.svg</iconUrl>
|
||||
<releaseNotes></releaseNotes>
|
||||
<iconUrl>https://github.com/Iristyle/ChocolateyPackages/raw/master/Brackets/brackets_logo.png</iconUrl>
|
||||
<releaseNotes>New Features In Sprint 25
|
||||
|
||||
* Extension Manager: From the toolbar icon or File > Extension Manager… you can view, search and remove installed extensions. To install new extensions, use the Install from URL… button in the Extension Manager.
|
||||
* Delete Files/Folders: Files and folders can be deleted from the file tree using the context menu or File > Delete.
|
||||
* Show in OS: Right click on a file or folder and choose Show in OS to open the location in Mac Finder or Windows Explorer.
|
||||
* Refresh File Tree: Right-click on the file tree and choose Refresh to update the file list from disk.
|
||||
* Live Preview Reliability: On all platforms, if Live Preview is disconnected, Brackets will show a notification. On Windows, launching and finding Chrome is now more reliable.
|
||||
* JavaScript Code Intelligence Improvements: JavaScript Quick Edit now uses the Tern-based code intelligence engine for finding function definitions. Also, bug fixes and performance optimizations were made in JavaScript code hinting.
|
||||
* Typing Performance: A substantial typing performance regression has been fixed.
|
||||
</releaseNotes>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="tools\**" target="tools" />
|
||||
|
@@ -1,12 +1,11 @@
|
||||
$package = 'Brackets'
|
||||
$build = '35'
|
||||
|
||||
try {
|
||||
$params = @{
|
||||
PackageName = $package;
|
||||
FileType = 'msi';
|
||||
SilentArgs = '/q';
|
||||
Url = "http://download.brackets.io/file.cfm?platform=WIN&build=$build";
|
||||
Url = 'http://download.brackets.io/file.cfm?platform=WIN&build=25';
|
||||
}
|
||||
|
||||
Install-ChocolateyPackage @params
|
||||
|
@@ -2,9 +2,9 @@ $package = 'Brackets'
|
||||
|
||||
try {
|
||||
|
||||
# C:\Program Files (x86)\Brackets Sprint 25
|
||||
# http://stackoverflow.com/questions/450027/uninstalling-an-msi-file-from-the-command-line-without-using-msiexec
|
||||
$msiArgs = "/X{CA6586CA-1C03-488B-B791-2A4533C1B1C6} /qb-! REBOOT=ReallySuppress"
|
||||
Start-ChocolateyProcessAsAdmin "$msiArgs" 'msiexec'
|
||||
msiexec.exe '/X{37DF8424-BAF6-458B-A3F0-2A89D65628B2}' /qb-! REBOOT=ReallySuppress
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
} catch {
|
||||
|
@@ -1,34 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>CasperJS</id>
|
||||
<title>CasperJS</title>
|
||||
<version>1.1-beta1</version>
|
||||
<authors>Nicolas Perriault</authors>
|
||||
<owners>Ethan J. Brown</owners>
|
||||
<summary>CasperJS is a navigation scripting & testing utility for PhantomJS and SlimerJS written in Javascript</summary>
|
||||
<description>CasperJS is an open source navigation scripting & testing utility written in Javascript for the PhantomJS WebKit headless browser and SlimerJS (Gecko). It eases the process of defining a full navigation scenario and provides useful high-level functions, methods & syntactic sugar for doing common tasks such as:
|
||||
|
||||
* defining & ordering browsing navigation steps
|
||||
* filling & submitting forms
|
||||
* clicking & following links
|
||||
* capturing screenshots of a page (or part of it)
|
||||
* testing remote DOM
|
||||
* logging events
|
||||
* downloading resources, including binary ones
|
||||
* writing functional test suites, saving results as JUnit XML
|
||||
* scraping Web contents</description>
|
||||
<releaseNotes>https://github.com/n1k0/casperjs/releases/tag/1.1-beta1</releaseNotes>
|
||||
<projectUrl>http://casperjs.org/</projectUrl>
|
||||
<tags>casperjs javascript browser test webkit phantomjs slimerjs</tags>
|
||||
<licenseUrl>http://en.wikipedia.org/wiki/MIT_License</licenseUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<iconUrl>https://github.com/Iristyle/ChocolateyPackages/raw/master/CasperJS/casperjs_logo.jpg</iconUrl>
|
||||
<dependencies>
|
||||
<dependency id="PhantomJS" version="1.9.1"/>
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="tools\**" target="tools" />
|
||||
</files>
|
||||
</package>
|
Before Width: | Height: | Size: 4.6 KiB |
@@ -1,41 +0,0 @@
|
||||
$package = 'CasperJS'
|
||||
$version = '1.1-beta1'
|
||||
|
||||
try {
|
||||
$params = @{
|
||||
PackageName = $package;
|
||||
FileType = 'zip';
|
||||
Url = "https://github.com/n1k0/casperjs/zipball/$version";
|
||||
UnzipLocation = Join-Path $Env:TEMP "$package\$version";
|
||||
}
|
||||
|
||||
if (!(Test-Path($params.UnzipLocation)))
|
||||
{
|
||||
New-Item $params.UnzipLocation -Type Directory | Out-Null
|
||||
}
|
||||
|
||||
# unzip to a temporary location
|
||||
Install-ChocolateyZipPackage @params
|
||||
|
||||
# then move the sha1 named package over to tools\CasperJS
|
||||
$binRoot = Join-Path $Env:SystemDrive $Env:Chocolatey_Bin_Root
|
||||
$moveTo = if (Test-Path $binRoot) { $binRoot } `
|
||||
else { Join-Path $Env:SystemDrive 'tools' }
|
||||
$moveTo = Join-Path $moveTo $package
|
||||
|
||||
if (Test-Path $moveTo) { Remove-Item $moveTo -Recurse -ErrorAction SilentlyContinue }
|
||||
|
||||
Get-ChildItem $params.UnzipLocation |
|
||||
Select -First 1 |
|
||||
Move-Item -Destination $moveTo
|
||||
|
||||
$batchLocation = Get-ChildItem $moveTo -Filter 'casperjs.bat' -Recurse |
|
||||
Select -ExpandProperty 'DirectoryName' -First 1
|
||||
|
||||
Install-ChocolateyPath $batchLocation
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
} catch {
|
||||
Write-ChocolateyFailure $package "$($_.Exception.Message)"
|
||||
throw
|
||||
}
|
@@ -1,28 +0,0 @@
|
||||
$package = 'CasperJS'
|
||||
|
||||
try {
|
||||
$installPath = Join-Path $Env:SystemDrive $Env:Chocolatey_Bin_Root
|
||||
if (!(Test-Path $installPath))
|
||||
{
|
||||
$installPath = Join-Path $Env:SystemDrive 'tools'
|
||||
}
|
||||
$installPath = Join-Path $installPath 'casperjs'
|
||||
|
||||
if (Test-Path $installPath)
|
||||
{
|
||||
Remove-Item $installPath -Recurse -Force
|
||||
}
|
||||
|
||||
$binLocation = $installPath -replace '\\', '\\'
|
||||
|
||||
$userPaths = [Environment]::GetEnvironmentVariable('Path', 'User') -split ';' |
|
||||
? { ($_ -notmatch $binLocation) -and (![String]::IsNullOrEmpty($_)) } |
|
||||
Select-Object -Unique
|
||||
|
||||
[Environment]::SetEnvironmentVariable('Path', ($userPaths -join ';'), 'User')
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
} catch {
|
||||
Write-ChocolateyFailure $package "$($_.Exception.Message)"
|
||||
throw
|
||||
}
|
@@ -1,44 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>ConEmu</id>
|
||||
<version>14.9.23.0</version>
|
||||
<authors>Maximus5</authors>
|
||||
<owners>Xavier Decoster, Ethan J. Brown</owners>
|
||||
<licenseUrl>http://opensource.org/licenses/BSD-3-Clause</licenseUrl>
|
||||
<projectUrl>http://code.google.com/p/conemu-maximus5/</projectUrl>
|
||||
<iconUrl>http://code.google.com/p/conemu-maximus5/logo?cct=1340271535</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<summary>ConEmu-Maximus5 is a Windows console emulator with tabs, which presents multiple consoles and simple GUI applications as one customizable GUI window with various features.</summary>
|
||||
<description>ConEmu starts a console program in a hidden console window, and provides an alternative customizable GUI window with various features:
|
||||
|
||||
* smooth and friendly window resizing;
|
||||
* tabs for editors, viewers, panels and consoles;
|
||||
* run simple GUI apps in tabs;
|
||||
* Windows 7 Jump Lists and Progress on Taskbar buttons;
|
||||
* easily run old DOS applications (games) in Windows 7 or 64-bit OS;
|
||||
* thumbnails and tiles in Far Manager;
|
||||
* normal, maximized and full screen graphical window modes;
|
||||
* window font anti-aliasing: standard, ClearType, disabled;
|
||||
* window fonts: family, height, width, bold, italic, etc.;
|
||||
* using normal/bold/italic fonts for different parts of the console simultaneously;
|
||||
* Chinese verions of Windows supported;
|
||||
* using 24-bit colors in Far Manager 3.x;
|
||||
* ANSI X3.64 and Xterm 256 colors;
|
||||
* cursor: standard console (horizontal) or GUI (vertical);
|
||||
* optional per-application settings (e.g. palette);
|
||||
* vertical console buffer scrolling using the keyboard (BufferHeight mode);
|
||||
* show full output (1K+ lines) of last command in Far Manager's editor/viewer;
|
||||
* customizable Far Manager right click behaviour (long click opens context menu);
|
||||
* drag and drop (explorer style) of files and folders in Far Manager;
|
||||
* limited support of BDF fonts;
|
||||
* user friendly text and block selection;
|
||||
* transparency and desktop mode;
|
||||
* customizable starting tabs;
|
||||
* configurable and clickable status bar;
|
||||
* and more, and more... take a look at the Settings dialog, What's New page and Settings.reg</description>
|
||||
<releaseNotes>https://code.google.com/p/conemu-maximus5/wiki/Whats_New</releaseNotes>
|
||||
<copyright>Copyright (c) 2013, Maximus5</copyright>
|
||||
<tags>graphical console emulator tabs FAR farmanager powershell cmd bash</tags>
|
||||
</metadata>
|
||||
</package>
|
@@ -1,44 +0,0 @@
|
||||
$package = 'ConEmu'
|
||||
$version = '14.09.23'
|
||||
|
||||
try {
|
||||
|
||||
$isSytem32Bit = (($Env:PROCESSOR_ARCHITECTURE -eq 'x86') -and `
|
||||
($Env:PROCESSOR_ARCHITEW6432 -eq $null))
|
||||
|
||||
$os = if ($isSytem32Bit) { "x86" } else { "x64" }
|
||||
|
||||
# TODO: use github api to grab latest release?
|
||||
$url = "https://github.com/Maximus5/ConEmu/releases/download/v$version/ConEmuSetup.$($version.replace('.','')).exe"
|
||||
|
||||
$chocTemp = Join-Path $Env:TEMP 'chocolatey'
|
||||
$tempInstall = Join-Path $chocTemp "ConEmu\ConEmuSetup.$version.exe"
|
||||
|
||||
Write-Host "Downloading from $url to $tempInstall"
|
||||
|
||||
# need a Referer, User-Agent and Accept to be able to download
|
||||
# other headers not required
|
||||
$client = New-Object Net.WebClient
|
||||
$client.DownloadFile($url, $tempInstall)
|
||||
|
||||
Write-Host "Download from $url complete"
|
||||
|
||||
# If having problems with untrusted cetrificates on HTTPS, use
|
||||
# solution: http://stackoverflow.com/a/561242/1579985
|
||||
$params = @{
|
||||
PackageName = $package;
|
||||
FileType = 'exe';
|
||||
SilentArgs = "/p:$os /passive";
|
||||
# MSI installer, but packed inside wrapper to select x86 or x64
|
||||
# version. Therefore, treat it as EXE type.
|
||||
File = $tempInstall;
|
||||
# ValidExitCodes = @(0);
|
||||
}
|
||||
|
||||
Install-ChocolateyInstallPackage @params
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
} catch {
|
||||
Write-ChocolateyFailure $package "$($_.Exception.Message)"
|
||||
throw
|
||||
}
|
@@ -1,27 +0,0 @@
|
||||
$package = 'ConEmu'
|
||||
|
||||
try {
|
||||
|
||||
# $productGuid = Get-ChildItem HKLM:\SOFTWARE\Classes\Installer\Products |
|
||||
# Get-ItemProperty -Name 'ProductName' |
|
||||
# ? { $_.ProductName -match 'ConEmu' } |
|
||||
# Select -ExpandProperty PSChildName -First 1
|
||||
|
||||
$installerRoot = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer'
|
||||
$productsRoot = "$installerRoot\UserData\S-1-5-18\Products"
|
||||
|
||||
# x64, x86
|
||||
'1616F7E78FA09834EAA6E0617006EEC7', '8ADD8A72FEF29D044884864D191B15B0' |
|
||||
% { "$productsRoot\$_\InstallProperties" } |
|
||||
? { Test-Path $_ } |
|
||||
% {
|
||||
$pkg = (Get-ItemProperty $_).LocalPackage
|
||||
|
||||
msiexec.exe /x $pkg /qb-!
|
||||
}
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
} catch {
|
||||
Write-ChocolateyFailure $package "$($_.Exception.Message)"
|
||||
throw
|
||||
}
|
@@ -3,7 +3,7 @@
|
||||
<metadata>
|
||||
<id>DartEditor</id>
|
||||
<title>Dart Editor</title>
|
||||
<version>1.5.8</version>
|
||||
<version>0.22879</version>
|
||||
<authors>Google</authors>
|
||||
<owners>Ethan J Brown</owners>
|
||||
<summary>Dart Editor is an open-source tool for editing, debugging, and running Dart applications.</summary>
|
||||
@@ -25,10 +25,7 @@ https://code.google.com/p/dart/
|
||||
<licenseUrl>http://opensource.org/licenses/BSD-3-Clause</licenseUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<iconUrl>https://github.com/Iristyle/ChocolateyPackages/raw/master/DartEditor/dart_logo.jpg</iconUrl>
|
||||
<dependencies>
|
||||
<dependency id="toolsroot"/>
|
||||
</dependencies>
|
||||
<releaseNotes>https://groups.google.com/a/dartlang.org/forum/#!forum/announce</releaseNotes>
|
||||
<releaseNotes></releaseNotes>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="tools\**" target="tools" />
|
||||
|
@@ -4,8 +4,8 @@ try {
|
||||
$params = @{
|
||||
PackageName = $package;
|
||||
FileType = 'zip';
|
||||
Url = 'http://storage.googleapis.com/dart-archive/channels/stable/release/latest/editor/darteditor-windows-ia32.zip';
|
||||
Url64bit = 'http://storage.googleapis.com/dart-archive/channels/stable/release/latest/editor/darteditor-windows-x64.zip';
|
||||
Url = 'https://storage.googleapis.com/dart-editor-archive-integration/latest/darteditor-win32-32.zip';
|
||||
Url64bit = 'https://storage.googleapis.com/dart-editor-archive-integration/latest/darteditor-win32-64.zip';
|
||||
UnzipLocation = Join-Path $Env:SystemDrive 'tools';
|
||||
}
|
||||
|
||||
|
@@ -1,28 +0,0 @@
|
||||
$package = 'DartEditor'
|
||||
|
||||
try {
|
||||
$location = Join-Path $Env:SystemDrive $Env:Chocolatey_Bin_Root
|
||||
if (!(Test-Path $location))
|
||||
{
|
||||
$location = Join-Path $Env:SystemDrive 'tools'
|
||||
}
|
||||
$location = Join-Path $location 'dart'
|
||||
|
||||
if (Test-Path $location)
|
||||
{
|
||||
Remove-Item $location -Recurse -Force
|
||||
}
|
||||
|
||||
Push-Location $Env:ChocolateyInstall\bin
|
||||
$batch = 'DartEditor.bat'
|
||||
if (Test-Path $batch)
|
||||
{
|
||||
Remove-Item $batch
|
||||
}
|
||||
Pop-Location
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
} catch {
|
||||
Write-ChocolateyFailure $package "$($_.Exception.Message)"
|
||||
throw
|
||||
}
|
@@ -1,31 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Elixir</id>
|
||||
<title>Elixir</title>
|
||||
<version>0.12.0</version>
|
||||
<authors>Jose Valim</authors>
|
||||
<owners>Ethan J Brown</owners>
|
||||
<summary>Elixir is a functional meta-programming aware language built on top of the Erlang VM.</summary>
|
||||
<description>Elixir is a functional meta-programming aware language built on top of the Erlang VM. It is a dynamic language with flexible syntax with macros support that leverages Erlang's abilities to build concurrent, distributed, fault-tolerant applications with hot code upgrades.
|
||||
|
||||
Elixir also provides first-class support for pattern matching, polymorphism via protocols (similar to Clojure's), aliases and associative data structures (usually known as dicts or hashes in other programming languages).
|
||||
|
||||
Finally, Elixir and Erlang share the same bytecode and data types. This means you can invoke Erlang code from Elixir (and vice-versa) without any conversion or performance hit. This allows a developer to mix the expressiveness of Elixir with the robustness and performance of Erlang.</description>
|
||||
<releaseNotes>https://github.com/elixir-lang/elixir/releases/</releaseNotes>
|
||||
<projectUrl>http://elixir-lang.org/</projectUrl>
|
||||
<tags>erlang concurrent programming language sdk otp elixir ruby</tags>
|
||||
<licenseUrl>https://github.com/elixir-lang/elixir/blob/master/LICENSE</licenseUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<iconUrl>https://secure.gravatar.com/avatar/4c5c2c297ed9f4664cfbe7733a011fb2?s=400&d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png</iconUrl>
|
||||
<dependencies>
|
||||
<dependency id="toolsroot"/>
|
||||
<!-- mingw installer is broken, not silent, only needed to compile anyhow -->
|
||||
<!-- <dependency id="MinGw" version="0.5.20121115" /> -->
|
||||
<dependency id="Erlang16" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="tools\**" target="tools" />
|
||||
</files>
|
||||
</package>
|
@@ -1,44 +0,0 @@
|
||||
$package = 'Elixir'
|
||||
$version = '0.12.0'
|
||||
|
||||
try {
|
||||
$params = @{
|
||||
PackageName = $package;
|
||||
FileType = 'zip';
|
||||
Url = "https://github.com/elixir-lang/elixir/releases/download/v$version/v$version.zip";
|
||||
UnzipLocation = Join-Path $Env:SystemDrive 'tools';
|
||||
}
|
||||
|
||||
$binRoot = Join-Path $Env:SystemDrive $Env:Chocolatey_Bin_Root
|
||||
if (Test-Path $binRoot)
|
||||
{
|
||||
$params.UnzipLocation = $binRoot
|
||||
}
|
||||
|
||||
$params.UnzipLocation = Join-Path $params.UnzipLocation 'Elixir'
|
||||
|
||||
if (!(Test-Path($params.UnzipLocation)))
|
||||
{
|
||||
New-Item $params.UnzipLocation -Type Directory | Out-Null
|
||||
}
|
||||
|
||||
Install-ChocolateyZipPackage @params
|
||||
|
||||
$elixirBin = Join-Path $params.UnzipLocation 'bin'
|
||||
|
||||
Install-ChocolateyPath $elixirBin
|
||||
|
||||
Write-Host @'
|
||||
Please restart your current shell session to access Elixir commands:
|
||||
elixir
|
||||
elixirc
|
||||
mix
|
||||
iex.bat (use batch file within Powershell due to name collision)
|
||||
'@
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
} catch {
|
||||
Write-ChocolateyFailure $package "$($_.Exception.Message)"
|
||||
throw
|
||||
}
|
||||
|
@@ -1,28 +0,0 @@
|
||||
$package = 'Elixir'
|
||||
|
||||
try {
|
||||
$location = Join-Path $Env:SystemDrive $Env:Chocolatey_Bin_Root
|
||||
if (!(Test-Path $location))
|
||||
{
|
||||
$location = Join-Path $Env:SystemDrive 'tools'
|
||||
}
|
||||
$location = Join-Path $location $package
|
||||
|
||||
if (Test-Path $location)
|
||||
{
|
||||
Remove-Item $location -Recurse -Force
|
||||
}
|
||||
|
||||
$binLocation = (Join-Path $location 'bin') -replace '\\', '\\'
|
||||
|
||||
$userPaths = [Environment]::GetEnvironmentVariable('Path', 'User') -split ';' |
|
||||
? { ($_ -notmatch $binLocation) -and (![String]::IsNullOrEmpty($_)) } |
|
||||
Select-Object -Unique
|
||||
|
||||
[Environment]::SetEnvironmentVariable('Path', ($userPaths -join ';'), 'User')
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
} catch {
|
||||
Write-ChocolateyFailure $package "$($_.Exception.Message)"
|
||||
throw
|
||||
}
|
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Erlang16</id>
|
||||
<title>Erlang OTP</title>
|
||||
<version>16.03.4</version>
|
||||
<authors>Joe Armstrong, Ericsson, Erlang Contributors</authors>
|
||||
<owners>Ethan J Brown</owners>
|
||||
<summary>Erlang R16B03 is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance.</summary>
|
||||
<description>What is Erlang?
|
||||
|
||||
Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance.
|
||||
|
||||
Erlang quickstart
|
||||
|
||||
What is OTP?
|
||||
|
||||
OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems. It includes its own distributed database, applications to interface towards other languages, debugging and release handling tools.</description>
|
||||
<releaseNotes>http://www.erlang.org/download/otp_src_R16B03.readme</releaseNotes>
|
||||
<projectUrl>http://www.erlang.org/</projectUrl>
|
||||
<tags>erlang concurrent programming language sdk otp</tags>
|
||||
<licenseUrl>http://www.erlang.org/EPLICENSE</licenseUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<iconUrl>https://github.com/Iristyle/ChocolateyPackages/raw/master/Erlang16/erlang-logo.png</iconUrl>
|
||||
<dependencies>
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
Before Width: | Height: | Size: 14 KiB |
@@ -1,83 +0,0 @@
|
||||
$package = 'Erlang'
|
||||
$version = 'R16B03'
|
||||
$installFolder = 'erl5.10.4'
|
||||
$releaseFolder = "$installFolder\releases\$version"
|
||||
|
||||
function Remove-PreviousVersions
|
||||
{
|
||||
$filter = 'erl5.10*'
|
||||
$installs = (Get-ChildItem ${Env:\ProgramFiles(x86)} -Filter $filter) +
|
||||
(Get-ChildItem $Env:ProgramFiles -Filter $filter)
|
||||
|
||||
$installs |
|
||||
Get-ChildItem -Filter 'Uninstall.exe' |
|
||||
Select -ExpandProperty FullName |
|
||||
% {
|
||||
$uninstallParams = @{
|
||||
PackageName = $package;
|
||||
FileType = 'exe';
|
||||
SilentArgs = '/S';
|
||||
File = $_;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
# including additions to PATH
|
||||
$binPath = (Join-Path (Split-Path $_) 'bin') -replace '\\', '\\'
|
||||
|
||||
$userPaths = [Environment]::GetEnvironmentVariable('Path', 'User') -split ';' |
|
||||
? { ($_ -notmatch $binPath) -and (![String]::IsNullOrEmpty($_)) } |
|
||||
Select-Object -Unique
|
||||
|
||||
[Environment]::SetEnvironmentVariable('Path', ($userPaths -join ';'), 'User')
|
||||
|
||||
Uninstall-ChocolateyPackage @uninstallParams
|
||||
}
|
||||
catch [Exception]
|
||||
{
|
||||
Write-Warning "Could not properly uninstall existing Erlang from $($uninstallParams.File):`n`n$_"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
$installedPath = (Join-Path ${Env:\ProgramFiles(x86)} $installFolder),
|
||||
(Join-Path $Env:ProgramFiles "$installFolder\bin") |
|
||||
? { Test-Path $_ } |
|
||||
Select -First 1
|
||||
|
||||
# only way to test for installation of this version is by path on disk
|
||||
if ($installedPath -and (Test-Path $installedPath))
|
||||
{
|
||||
Write-Host "$package $version is already installed to $installedPath"
|
||||
}
|
||||
else
|
||||
{
|
||||
# first remove previous R16 releases if found
|
||||
Remove-PreviousVersions
|
||||
|
||||
$params = @{
|
||||
PackageName = $package;
|
||||
FileType = 'exe';
|
||||
#uses NSIS installer - http://nsis.sourceforge.net/Docs/Chapter3.html
|
||||
SilentArgs = '/S';
|
||||
Url = "http://www.erlang.org/download/otp_win32_$($version).exe";
|
||||
Url64Bit = "http://www.erlang.org/download/otp_win64_$($version).exe";
|
||||
}
|
||||
|
||||
Install-ChocolateyPackage @params
|
||||
}
|
||||
|
||||
$binPath = (Join-Path "${Env:\ProgramFiles(x86)}" "$installFolder\bin"),
|
||||
(Join-Path $Env:ProgramFiles "$installFolder\bin") |
|
||||
? { Test-Path $_ } |
|
||||
Select -First 1
|
||||
|
||||
Install-ChocolateyPath $binPath
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
} catch {
|
||||
Write-ChocolateyFailure $package "$($_.Exception.Message)"
|
||||
throw
|
||||
}
|
@@ -1,37 +0,0 @@
|
||||
$package = 'Erlang'
|
||||
$installFolder = 'erl5.10.2'
|
||||
|
||||
try
|
||||
{
|
||||
$installPath = (Join-Path "${Env:\ProgramFiles(x86)}" $installFolder),
|
||||
(Join-Path $Env:ProgramFiles $installFolder) |
|
||||
? { Test-Path $_ } |
|
||||
Select -First 1
|
||||
|
||||
$uninstall = Join-Path $installPath 'uninstall.exe'
|
||||
|
||||
#uses NSIS installer - http://nsis.sourceforge.net/Docs/Chapter3.html
|
||||
$uninstallParams = @{
|
||||
PackageName = $package;
|
||||
FileType = 'exe';
|
||||
SilentArgs = '/S';
|
||||
File = $uninstall;
|
||||
}
|
||||
|
||||
Uninstall-ChocolateyPackage @uninstallParams
|
||||
|
||||
$binLocation = (Join-Path $installPath 'bin') -replace '\\', '\\'
|
||||
|
||||
$userPaths = [Environment]::GetEnvironmentVariable('Path', 'User') -split ';' |
|
||||
? { ($_ -notmatch $binLocation) -and (![String]::IsNullOrEmpty($_)) } |
|
||||
Select-Object -Unique
|
||||
|
||||
[Environment]::SetEnvironmentVariable('Path', ($userPaths -join ';'), 'User')
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-ChocolateyFailure $package "$($_.Exception.Message)"
|
||||
throw
|
||||
}
|
@@ -3,7 +3,7 @@
|
||||
<metadata>
|
||||
<id>EthanBrown.ConEmuConfig</id>
|
||||
<title>EthanBrown.ConEmuConfig</title>
|
||||
<version>0.0.5</version>
|
||||
<version>0.0.3</version>
|
||||
<authors>Ethan Brown</authors>
|
||||
<owners>Ethan Brown</owners>
|
||||
<summary>ConEmu configured with Base16 color scheme and sane defaults.</summary>
|
||||
@@ -51,8 +51,8 @@ I'm sure there are a couple of other minor tweaks that were dialed in as well.
|
||||
<dependency id="toolsroot"/>
|
||||
<dependency id="SourceCodePro" version="1.017.1"/>
|
||||
<dependency id="PowerShell" version="3.0"/>
|
||||
<dependency id="gitextensions" version="2.46"/>
|
||||
<dependency id="ConEmu" version="13.7.8.0"/>
|
||||
<dependency id="gitextensions" version="2.4.4"/>
|
||||
<dependency id="DevBox-ConEmu" version="0.0.0.20130422"/>
|
||||
</dependencies>
|
||||
<releaseNotes></releaseNotes>
|
||||
</metadata>
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<metadata>
|
||||
<id>EthanBrown.DevTools.Web</id>
|
||||
<title>EthanBrown.DevTools.Web</title>
|
||||
<version>0.3.1</version>
|
||||
<version>0.2.0</version>
|
||||
<authors>Ethan Brown</authors>
|
||||
<owners>Ethan Brown</owners>
|
||||
<summary>Batteries included web development tool stack for Windows.</summary>
|
||||
@@ -20,36 +20,36 @@
|
||||
<dependency id="SourceCodePro" version="1.017.1"/>
|
||||
<dependency id="MesloLG.DZ" version="1.00"/>
|
||||
<dependency id="PowerShell" version="3.0"/>
|
||||
<dependency id="curl" version="7.30.0.2"/>
|
||||
<dependency id="nodejs.install" version="0.10.13"/>
|
||||
<dependency id="gitextensions" version="2.46"/>
|
||||
<dependency id="curl" version="7.28.1"/>
|
||||
<dependency id="nodejs.install" version="[0.8.22,0.8.22]"/>
|
||||
<dependency id="gitextensions" version="2.4.4"/>
|
||||
<dependency id="EthanBrown.GitAliases" version="0.0.5"/>
|
||||
<dependency id="EthanBrown.GitExtensionsConfiguration" version="0.0.1"/>
|
||||
<!-- automatically installs latest from git zipball -->
|
||||
<dependency id="poshgit" version="0.4.0.20120717"/>
|
||||
<dependency id="Posh-VsVars" version="0.0.2"/>
|
||||
<dependency id="Posh-GitHub" version="0.0.2"/>
|
||||
<dependency id="Posh-GitHub" version="0.0.1"/>
|
||||
<dependency id="diffmerge" version="3.3.2"/>
|
||||
<!-- <dependency id="git.difftool.diffmerge"/> Error: "External packages cannot depend on packages that target projects." -->
|
||||
<dependency id="EthanBrown.GitConfiguration" version="0.0.3"/>
|
||||
<dependency id="ConEmu" version="13.7.8.0"/>
|
||||
<dependency id="EthanBrown.ConEmuConfig" version="0.0.5"/>
|
||||
<dependency id="DevBox-ConEmu" version="0.0.0.20130422"/>
|
||||
<dependency id="EthanBrown.ConEmuConfig" version="0.0.3"/>
|
||||
<dependency id="PhantomJS" version="1.9.0"/>
|
||||
<dependency id="FireFox" version="22.0"/>
|
||||
<dependency id="FireFox" version="20.0.1"/>
|
||||
<dependency id="GoogleChrome.Canary" version="28.0.1461.0"/>
|
||||
<dependency id="EthanBrown.ChromeCanaryDevExtensions" version="0.0.2"/>
|
||||
<dependency id="SublimeText2.app" version="2.0.1.22171"/>
|
||||
<dependency id="EthanBrown.SublimeText2.UtilPackages" version="0.1.2"/>
|
||||
<dependency id="EthanBrown.SublimeText2.EditorPackages" version="0.1.1"/>
|
||||
<dependency id="EthanBrown.SublimeText2.GitPackages" version="0.1.1"/>
|
||||
<dependency id="EthanBrown.SublimeText2.WebPackages" version="0.2.4"/>
|
||||
<dependency id="EthanBrown.SublimeText2.WebPackages" version="0.2.3"/>
|
||||
<dependency id="Growl" version="2.0.9.20130406"/>
|
||||
<dependency id="OptiPNG" version="0.7.1.20120913"/>
|
||||
<dependency id="libjpeg-turbo" version="1.2.1.201304081"/>
|
||||
<dependency id="Tunnelier" version="4.60.0"/>
|
||||
<dependency id="Ruby" version="1.9.3.37400"/>
|
||||
<dependency id="ruby.devkit" version="4.5.2.20111230"/>
|
||||
<dependency id="DartEditor" version="0.024898"/>
|
||||
<dependency id="DartEditor" version="0.22879"/>
|
||||
</dependencies>
|
||||
<releaseNotes>
|
||||
For Ruby: Bundler, Capistrano, Twig
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<metadata>
|
||||
<id>EthanBrown.GitConfiguration</id>
|
||||
<title>Git - Development Configuration</title>
|
||||
<version>0.0.4</version>
|
||||
<version>0.0.3</version>
|
||||
<authors>Various</authors>
|
||||
<owners>Ethan Brown</owners>
|
||||
<summary>Git configuration for Windows.</summary>
|
||||
|
@@ -2,7 +2,7 @@ $package = 'EthanBrown.GitConfiguration'
|
||||
|
||||
try {
|
||||
# Set up git diff/merge tool
|
||||
git config --global mergetool.DiffMerge.cmd '\"C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe\" --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\" --title1=\"Mine\" --title2=\"Merging to: $MERGED\" --title3=\"Theirs\"'
|
||||
git config --global mergetool.DiffMerge.cmd '\"C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe\" --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\" --title1=\"Theirs\" --title2=\"Merging to: $MERGED\" --title3=\"Mine\"'
|
||||
git config --global mergetool.DiffMerge.trustExitCode true
|
||||
git config --global difftool.DiffMerge.cmd '\"C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe\" \"$LOCAL\" \"$REMOTE\" --title1=\"Previous Version ($LOCAL)\" --title2=\"Current Version ($REMOTE)\"'
|
||||
|
||||
@@ -43,8 +43,6 @@ try {
|
||||
git config --global pack.packSizeLimit 2g
|
||||
git config --global help.format html
|
||||
git config --global rebase.autosquash true
|
||||
|
||||
git config --global fetch.prune true
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
} catch {
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<metadata>
|
||||
<id>EthanBrown.SublimeText2.EditorPackages</id>
|
||||
<title>Sublime Text 2 - Editor Enhancing Packages</title>
|
||||
<version>0.2.2</version>
|
||||
<version>0.1.1</version>
|
||||
<authors>Various</authors>
|
||||
<owners>Ethan Brown</owners>
|
||||
<summary>A number of packages helpful for increased editor productivity.</summary>
|
||||
@@ -94,7 +94,7 @@
|
||||
<releaseNotes>* Use a local package cache to prevent first-time package restore / load errors</releaseNotes>
|
||||
<dependencies>
|
||||
<dependency id="PowerShell" version="3.0"/>
|
||||
<dependency id="SublimeText2" />
|
||||
<dependency id="SublimeText2.app" />
|
||||
<dependency id="SourceCodePro" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
|
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"quote_scope" : "brackethighlighter.all",
|
||||
"curly_scope" : "brackethighlighter.all",
|
||||
"round_scope" : "brackethighlighter.all",
|
||||
"square_scope": "brackethighlighter.all",
|
||||
"angle_scope" : "brackethighlighter.all",
|
||||
"tag_scope" : "brackethighlighter.all"
|
||||
|
||||
// Outline? (solid|outline|underline|none)
|
||||
//"quote_style" : "outline",
|
||||
//"curly_style" : "outline",
|
||||
//"round_style" : "outline",
|
||||
//"square_style": "outline",
|
||||
//"angle_style" : "outline",
|
||||
//"tag_style" : "outline"
|
||||
}
|
@@ -8,16 +8,15 @@ class AbacusCommand(sublime_plugin.TextCommand):
|
||||
perform a series of replacements.
|
||||
"""
|
||||
def run(self, edit):
|
||||
candidates = []
|
||||
separators = sublime.load_settings("Abacus.sublime-settings").get("com.khiltd.abacus.separators")
|
||||
syntax_specific = self.view.settings().get("com.khiltd.abacus.separators", [])
|
||||
indentor = Template("$indentation$left_col")
|
||||
lg_aligner = Template("$left_col$separator")
|
||||
rg_aligner = Template("$left_col$gutter$separator_padding$separator")
|
||||
candidates = []
|
||||
separators = sublime.load_settings("Abacus.sublime-settings").get("com.khiltd.abacus.separators")
|
||||
indentor = Template("$indentation$left_col")
|
||||
lg_aligner = Template("$left_col$separator")
|
||||
rg_aligner = Template("$left_col$gutter$separator_padding$separator")
|
||||
|
||||
#Run through the separators accumulating alignment candidates
|
||||
#starting with the longest ones i.e. '==' before '='.
|
||||
longest_first = self.sort_separators(syntax_specific + [sep for sep in separators if sep["token"] not in [t["token"] for t in syntax_specific]])
|
||||
longest_first = self.sort_separators(separators)
|
||||
|
||||
#Favor those that lean right so assignments with slice notation in them
|
||||
#get handled sanely
|
||||
@@ -119,10 +118,10 @@ class AbacusCommand(sublime_plugin.TextCommand):
|
||||
potential_matches = [m for m in token_matcher.finditer(collapsed)]
|
||||
|
||||
if debug:
|
||||
print("Pattern:")
|
||||
print(token_matcher.pattern)
|
||||
print("Matches:")
|
||||
print(potential_matches)
|
||||
print "Pattern:"
|
||||
print token_matcher.pattern
|
||||
print "Matches:"
|
||||
print potential_matches
|
||||
|
||||
if len(potential_matches):
|
||||
#Split on the first/last occurrence of the token
|
||||
|
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"com.khiltd.abacus.separators":
|
||||
[
|
||||
{
|
||||
"token": "=>",
|
||||
"gravity": "right",
|
||||
"preserve_indentation": true
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"com.khiltd.abacus.separators":
|
||||
[
|
||||
{
|
||||
"token": "=>",
|
||||
"gravity": "right",
|
||||
"preserve_indentation": true
|
||||
}
|
||||
]
|
||||
}
|
@@ -1 +1 @@
|
||||
{"url": "https://github.com/khiltd/Abacus", "version": "2013.07.23.05.22.38", "description": "An Alignment Plugin for Sublime Text 2 that actually works `\u2318\u2325^ ]`"}
|
||||
{"url": "https://github.com/khiltd/Abacus", "version": "2013.01.11.00.24.46", "description": "An Alignment Plugin for Sublime Text 2 that actually works `\u2318\u2325^ ]`"}
|
@@ -1,8 +1,5 @@
|
||||
# BlockCursorEverywhere #
|
||||
|
||||
I apologize, but this is no longer updated. I don't even use it anymore because of API limitations. I recommend looking at the original repo by netpro2k.
|
||||
|
||||
|
||||

|
||||
|
||||
It can become very difficult to keep track of your cursor location. This is solved by having a "block" cursor, which is very easy to spot no matter where it is on screen. Unfortunately, Sublime Text 2 does not (yet) support this feature natively. This Plugin mimics this functionality by highlighting the area behind the cursor whenever it moves (similar to how you might highlight syntax errors, or color a comment).
|
||||
|
@@ -19,8 +19,7 @@ class BlockCursorEverywhere(sublime_plugin.EventListener):
|
||||
view.erase_regions('BlockCursorListener')
|
||||
|
||||
def on_selection_modified(self, view):
|
||||
no_vintage = view.settings().get('ignored_packages') is None or "Vintage" in view.settings().get('ignored_packages')
|
||||
if view.settings().get('is_widget') or not(no_vintage or view.settings().get('command_mode')):
|
||||
if view.settings().get('is_widget') or not("Vintage" in view.settings().get('ignored_packages') or view.settings().get('command_mode')):
|
||||
view.erase_regions('BlockCursorListener')
|
||||
return
|
||||
self.show_block_cursor(view)
|
||||
|
@@ -1 +1 @@
|
||||
{"url": "https://github.com/ingshtrom/BlockCursorEverywhere", "version": "2013.08.02.15.49.34", "description": "Sublime Text 2 plugin to mimic a block cursor in Vintage command mode."}
|
||||
{"url": "https://github.com/ingshtrom/BlockCursorEverywhere", "version": "2013.01.20.10.51.30", "description": "Sublime Text 2 plugin to mimic a block cursor in Vintage command mode."}
|
@@ -3,7 +3,7 @@ import sublime
|
||||
import sublime_plugin
|
||||
from time import time, sleep
|
||||
import thread
|
||||
import ure
|
||||
import re
|
||||
from bh_plugin import BracketPlugin, BracketRegion, ImportModule
|
||||
from collections import namedtuple
|
||||
import traceback
|
||||
@@ -398,8 +398,8 @@ class ScopeDefinition(object):
|
||||
"""
|
||||
|
||||
self.style = bracket.get("style", "default")
|
||||
self.open = ure.compile("\\A" + bracket.get("open", "."), ure.MULTILINE | ure.IGNORECASE)
|
||||
self.close = ure.compile(bracket.get("close", ".") + "\\Z", ure.MULTILINE | ure.IGNORECASE)
|
||||
self.open = re.compile("\\A" + bracket.get("open", "."), re.MULTILINE | re.IGNORECASE)
|
||||
self.close = re.compile(bracket.get("close", ".") + "\\Z", re.MULTILINE | re.IGNORECASE)
|
||||
self.name = bracket["name"]
|
||||
sub_search = bracket.get("sub_bracket_search", "false")
|
||||
self.sub_search_only = sub_search == "only"
|
||||
@@ -537,7 +537,7 @@ class BhCore(object):
|
||||
self.last_id_view = None
|
||||
self.last_id_sel = None
|
||||
self.view_tracker = (None, None)
|
||||
self.ignore_threshold = override_thresh or bool(self.settings.get("ignore_threshold", False))
|
||||
self.ignore_threshold = override_thresh
|
||||
self.adj_only = adj_only if adj_only is not None else bool(self.settings.get("match_only_adjacent", False))
|
||||
self.auto_selection_threshold = int(self.settings.get("auto_selection_threshold", 10))
|
||||
self.no_multi_select_icons = bool(self.settings.get("no_multi_select_icons", False))
|
||||
@@ -668,8 +668,8 @@ class BhCore(object):
|
||||
"(?:%s)\n" % '|'.join(self.find_regex) +
|
||||
"(?:%s)" % '|'.join(self.sub_find_regex)
|
||||
)
|
||||
self.sub_pattern = ure.compile("(?:%s)" % '|'.join(self.sub_find_regex), ure.MULTILINE | ure.IGNORECASE)
|
||||
self.pattern = ure.compile("(?:%s)" % '|'.join(self.find_regex), ure.MULTILINE | ure.IGNORECASE)
|
||||
self.sub_pattern = re.compile("(?:%s)" % '|'.join(self.sub_find_regex), re.MULTILINE | re.IGNORECASE)
|
||||
self.pattern = re.compile("(?:%s)" % '|'.join(self.find_regex), re.MULTILINE | re.IGNORECASE)
|
||||
self.enabled = True
|
||||
|
||||
def init_match(self):
|
||||
@@ -810,13 +810,9 @@ class BhCore(object):
|
||||
|
||||
if view == None:
|
||||
return
|
||||
|
||||
view.settings().set("BracketHighlighterBusy", True)
|
||||
|
||||
if not GLOBAL_ENABLE:
|
||||
for region_key in view.settings().get("bh_regions", []):
|
||||
view.erase_regions(region_key)
|
||||
view.settings().set("BracketHighlighterBusy", False)
|
||||
return
|
||||
|
||||
if self.keycommand:
|
||||
@@ -838,13 +834,11 @@ class BhCore(object):
|
||||
|
||||
# Nothing to search for
|
||||
if not self.enabled:
|
||||
view.settings().set("BracketHighlighterBusy", False)
|
||||
return
|
||||
|
||||
# Abort if selections are beyond the threshold
|
||||
if self.use_selection_threshold and num_sels >= self.selection_threshold:
|
||||
self.highlight(view)
|
||||
view.settings().set("BracketHighlighterBusy", False)
|
||||
return
|
||||
|
||||
multi_select_count = 0
|
||||
@@ -865,7 +859,6 @@ class BhCore(object):
|
||||
self.highlight(view)
|
||||
if self.count_lines:
|
||||
sublime.status_message('In Block: Lines ' + str(self.lines) + ', Chars ' + str(self.chars))
|
||||
view.settings().set("BracketHighlighterBusy", False)
|
||||
|
||||
def save_incomplete_regions(self, left, right, regions):
|
||||
"""
|
||||
@@ -933,9 +926,7 @@ class BhCore(object):
|
||||
|
||||
if left is not None and right is not None:
|
||||
bracket = self.brackets[left.type]
|
||||
left, right, regions, nobracket = self.run_plugin(bracket.name, left, right, regions)
|
||||
if nobracket:
|
||||
return True
|
||||
left, right, regions = self.run_plugin(bracket.name, left, right, regions)
|
||||
|
||||
# Matched brackets
|
||||
if left is not None and right is not None and bracket is not None:
|
||||
@@ -955,7 +946,7 @@ class BhCore(object):
|
||||
regions = [sublime.Region(sel.a, sel.b)]
|
||||
|
||||
if left is not None and right is not None:
|
||||
left, right, regions, _ = self.run_plugin(bracket.name, left, right, regions)
|
||||
left, right, regions = self.run_plugin(bracket.name, left, right, regions)
|
||||
if left is None and right is None:
|
||||
self.store_sel(regions)
|
||||
return True
|
||||
@@ -980,7 +971,7 @@ class BhCore(object):
|
||||
|
||||
if left is not None and right is not None:
|
||||
bracket = self.brackets[left.type]
|
||||
left, right, regions, _ = self.run_plugin(bracket.name, left, right, regions)
|
||||
left, right, regions = self.run_plugin(bracket.name, left, right, regions)
|
||||
|
||||
# Matched brackets
|
||||
if left is not None and right is not None and bracket is not None:
|
||||
@@ -1122,17 +1113,16 @@ class BhCore(object):
|
||||
|
||||
lbracket = BracketRegion(left.begin, left.end)
|
||||
rbracket = BracketRegion(right.begin, right.end)
|
||||
nobracket = False
|
||||
|
||||
if (
|
||||
("__all__" in self.transform or name in self.transform) and
|
||||
self.plugin != None and
|
||||
self.plugin.is_enabled()
|
||||
):
|
||||
lbracket, rbracket, regions, nobracket = self.plugin.run_command(self.view, name, lbracket, rbracket, regions)
|
||||
lbracket, rbracket, regions = self.plugin.run_command(self.view, name, lbracket, rbracket, regions)
|
||||
left = left.move(lbracket.begin, lbracket.end) if lbracket is not None else None
|
||||
right = right.move(rbracket.begin, rbracket.end) if rbracket is not None else None
|
||||
return left, right, regions, nobracket
|
||||
return left, right, regions
|
||||
|
||||
def match_scope_brackets(self, bfr, sel):
|
||||
"""
|
||||
|
@@ -9,10 +9,9 @@
|
||||
// this defines if the unmatched bracket should be shown.
|
||||
"show_unmatched" : true,
|
||||
|
||||
// High visibility style and color for high visibility mode
|
||||
// High visibilty style and color for high visibility mode
|
||||
// (solid|outline|underline)
|
||||
"high_visibility_style": "outline",
|
||||
|
||||
// (scope|__default__|__bracket__)
|
||||
"high_visibility_color": "__bracket__",
|
||||
|
||||
@@ -22,9 +21,6 @@
|
||||
// Character threshold to search
|
||||
"search_threshold": 5000,
|
||||
|
||||
// Ignore threshold
|
||||
"ignore_threshold": false,
|
||||
|
||||
// Set mode for string escapes to ignore (regex|string)
|
||||
"bracket_string_escape_mode": "string",
|
||||
|
||||
@@ -219,26 +215,15 @@
|
||||
"find_in_sub_search": "only",
|
||||
"enabled": false
|
||||
},
|
||||
// PHP Angle
|
||||
{
|
||||
"name": "php_angle",
|
||||
"open": "(<\\?)(?:php)?",
|
||||
"close": "(\\?>)",
|
||||
"style": "angle",
|
||||
"scope_exclude": ["string", "comment", "keyword.operator"],
|
||||
"language_filter": "whitelist",
|
||||
"language_list": ["HTML", "HTML 5", "PHP"],
|
||||
"enabled": true
|
||||
},
|
||||
// Angle
|
||||
{
|
||||
"name": "angle",
|
||||
"open": "(<)(?!\\?)",
|
||||
"close": "(?<!\\?)(>)",
|
||||
"open": "(<)",
|
||||
"close": "(>)",
|
||||
"style": "angle",
|
||||
"scope_exclude": ["string", "comment", "keyword.operator", "source.ruby.rails.embedded.html", "source.ruby.embedded.html"],
|
||||
"scope_exclude": ["string", "comment", "keyword.operator"],
|
||||
"language_filter": "whitelist",
|
||||
"language_list": ["HTML", "HTML 5", "XML", "PHP", "HTML (Rails)", "HTML (Jinja Templates)", "HTML (Twig)", "HTML+CFML", "ColdFusion", "ColdFusionCFC"],
|
||||
"language_list": ["HTML", "HTML 5", "XML", "PHP", "HTML+CFML", "ColdFusion", "ColdFusionCFC"],
|
||||
"plugin_library": "bh_modules.tags",
|
||||
"enabled": true
|
||||
},
|
||||
@@ -253,29 +238,16 @@
|
||||
"language_list": ["CSS"],
|
||||
"enabled": true
|
||||
},
|
||||
// Ruby embedded HTML
|
||||
{
|
||||
"name": "ruby_embedded_html",
|
||||
"open": "((?:(?<=<%)|(?<=^))\\s*\\b(?:if|case|until|unless|while|begin|class|module|def\\b[\\p{Ll}\\p{Lu}]*)|\\bdo)\\b",
|
||||
"close": "\\b(end)\\b",
|
||||
"style": "default",
|
||||
"scope_exclude": ["text.html", "source", "comment", "string"],
|
||||
"scope_exclude_exceptions": ["source.ruby.rails.embedded.html", "source.ruby.embedded.html"],
|
||||
"plugin_library": "bh_modules.rubykeywords",
|
||||
"language_filter": "whitelist",
|
||||
"language_list": ["HTML", "HTML 5", "PHP", "HTML (Rails)"],
|
||||
"enabled": true
|
||||
},
|
||||
// Ruby conditional statements
|
||||
{
|
||||
"name": "ruby",
|
||||
"open": "(^\\s*\\b(?:if|case|until|unless|while|begin|class|module|def\\b[\\p{Ll}\\p{Lu}]*)|\\bdo)\\b",
|
||||
"open": "(^\\s*\\b(?:if|case|until|unless|while|begin|class|module|def\\b\\s*[a-zA-Z_\\d]+)|\\bdo)\\b",
|
||||
"close": "\\b(end)\\b",
|
||||
"style": "default",
|
||||
"scope_exclude": ["string", "comment"],
|
||||
"plugin_library": "bh_modules.rubykeywords",
|
||||
"language_filter": "whitelist",
|
||||
"language_list": ["Ruby", "Ruby on Rails"],
|
||||
"language_list": ["Ruby", "Ruby on Rails", "HTML (Rails)"],
|
||||
"enabled": true
|
||||
},
|
||||
// C/C++ compile switches
|
||||
@@ -328,8 +300,6 @@
|
||||
// use the color from the "default" style.
|
||||
"default": {
|
||||
"icon": "dot",
|
||||
// BH1's original default color for reference
|
||||
// "color": "entity.name.class",
|
||||
"color": "brackethighlighter.default",
|
||||
"style": "underline"
|
||||
},
|
||||
@@ -396,7 +366,7 @@
|
||||
// Determine which style of tag-matching to use in which syntax
|
||||
"tag_mode": {
|
||||
"xhtml": ["XML"],
|
||||
"html": ["HTML", "HTML 5", "PHP", "HTML (Jinja Templates)", "HTML (Rails)", "HTML (Twig)"],
|
||||
"html": ["HTML", "HTML 5", "PHP"],
|
||||
"cfml": ["HTML+CFML", "ColdFusion", "ColdFusionCFC"]
|
||||
}
|
||||
}
|
||||
|
@@ -35,7 +35,6 @@ class BracketRemove(bh_plugin.BracketPluginCommand):
|
||||
|
||||
self.left = None
|
||||
self.right = None
|
||||
self.nobracket = True
|
||||
|
||||
|
||||
def plugin():
|
||||
|
@@ -6,38 +6,25 @@ DEFAULT_TAGS = ["cfml", "html", "angle"]
|
||||
|
||||
class SelectBracket(bh_plugin.BracketPluginCommand):
|
||||
def run(self, edit, name, select='', tags=DEFAULT_TAGS):
|
||||
current_left, current_right = self.selection[0].begin(), self.selection[0].end()
|
||||
left, right = self.left, self.right
|
||||
first, last = left.end, right.begin
|
||||
if select == 'left':
|
||||
if name in tags and left.size() > 1:
|
||||
first, last = left.begin + 1, left.begin + 1
|
||||
if first == current_left and last == current_right:
|
||||
first, last = left.begin, left.begin
|
||||
else:
|
||||
first, last = left.end, left.end
|
||||
if first == current_left and last == current_right:
|
||||
first, last = left.begin, left.begin
|
||||
elif select == 'right':
|
||||
if left.end != right.end:
|
||||
if name in tags and left.size() > 1:
|
||||
first, last = right.begin + 1, right.begin + 1
|
||||
if first == current_left and last == current_right:
|
||||
first, last = right.end, right.end
|
||||
else:
|
||||
first, last = right.begin, right.begin
|
||||
if first == current_left and last == current_right:
|
||||
first, last = right.end, right.end
|
||||
else:
|
||||
# There is no second bracket, so just select the first
|
||||
if name in tags and left.size() > 1:
|
||||
first, last = left.begin + 1, left.begin + 1
|
||||
else:
|
||||
first, last = right.end, right.end
|
||||
if first == current_left and last == current_right:
|
||||
first, last = right.end, right.end
|
||||
elif first == current_left and last == current_right:
|
||||
first, last = left.begin, right.end
|
||||
|
||||
self.selection = [sublime.Region(first, last)]
|
||||
|
||||
|
@@ -5,9 +5,8 @@ def post_match(view, name, style, first, second, center, bfr, threshold):
|
||||
if first is not None:
|
||||
# Strip whitespace from the beginning of first bracket
|
||||
open_bracket = bfr[first.begin:first.end]
|
||||
print (open_bracket)
|
||||
if open_bracket != "do":
|
||||
m = re.match(r"(\s*\b)[\w\W]*", open_bracket)
|
||||
m = re.match(r"^(\s*\b)[\w\W]*", open_bracket)
|
||||
if m:
|
||||
first = first.move(first.begin + m.end(1), first.end)
|
||||
return first, second, style
|
||||
|
@@ -6,14 +6,8 @@ BracketRemove = ImpMod.import_from("bh_modules.bracketremove", "BracketRemove")
|
||||
class SwapBrackets(BracketRemove):
|
||||
def run(self, edit, name, remove_content=False, remove_indent=False, remove_block=False):
|
||||
offset = self.left.toregion().size()
|
||||
selection = [sublime.Region(self.left.begin, self.right.begin - offset)]
|
||||
left = self.left.move(self.left.end, self.left.end)
|
||||
right = self.right.move(self.right.begin, self.right.begin)
|
||||
self.selection = [sublime.Region(self.left.begin, self.right.begin - offset)]
|
||||
super(SwapBrackets, self).run(edit, name)
|
||||
self.selection = selection
|
||||
self.left = left
|
||||
self.right = right
|
||||
self.nobracket = False
|
||||
|
||||
|
||||
def plugin():
|
||||
|
@@ -115,18 +115,16 @@ class BracketPlugin(object):
|
||||
setattr(plugin, "right", right)
|
||||
setattr(plugin, "view", view)
|
||||
setattr(plugin, "selection", selection)
|
||||
setattr(plugin, "nobracket", False)
|
||||
edit = view.begin_edit()
|
||||
self.args["edit"] = edit
|
||||
self.args["name"] = name
|
||||
try:
|
||||
nobracket = False
|
||||
plugin.run(**self.args)
|
||||
left, right, selection, nobracket = plugin.left, plugin.right, plugin.selection, plugin.nobracket
|
||||
left, right, selection = plugin.left, plugin.right, plugin.selection
|
||||
except Exception:
|
||||
print "BracketHighlighter: Plugin Run Error:\n%s" % str(traceback.format_exc())
|
||||
view.end_edit(edit)
|
||||
return left, right, selection, nobracket
|
||||
return left, right, selection
|
||||
|
||||
|
||||
class BracketPluginCommand(object):
|
||||
|
@@ -1,4 +1,3 @@
|
||||
import sublime
|
||||
import sublime_plugin
|
||||
import bh_wrapping
|
||||
|
||||
@@ -15,13 +14,6 @@ class SwapBrackets(bh_wrapping.WrapBrackets):
|
||||
|
||||
|
||||
class SwapBracketsCommand(sublime_plugin.WindowCommand):
|
||||
def finalize(self, callback):
|
||||
if self.view is not None:
|
||||
if not self.view.settings().get("BracketHighlighterBusy", False):
|
||||
callback()
|
||||
else:
|
||||
sublime.set_timeout(lambda: self.finalize(callback), 100)
|
||||
|
||||
def swap_brackets(self, value):
|
||||
if value < 0:
|
||||
return
|
||||
@@ -37,10 +29,7 @@ class SwapBracketsCommand(sublime_plugin.WindowCommand):
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
self.view = self.window.active_view()
|
||||
|
||||
sublime.set_timeout(lambda: self.finalize(lambda: self.wrap.wrap(value)), 100)
|
||||
self.wrap.wrap(value)
|
||||
|
||||
def run(self):
|
||||
view = self.window.active_view()
|
||||
|
Before Width: | Height: | Size: 420 B After Width: | Height: | Size: 217 B |
Before Width: | Height: | Size: 341 B After Width: | Height: | Size: 155 B |
Before Width: | Height: | Size: 288 B After Width: | Height: | Size: 143 B |
Before Width: | Height: | Size: 342 B After Width: | Height: | Size: 155 B |
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 138 B |
Before Width: | Height: | Size: 364 B After Width: | Height: | Size: 191 B |
Before Width: | Height: | Size: 371 B After Width: | Height: | Size: 108 B |
Before Width: | Height: | Size: 297 B After Width: | Height: | Size: 118 B |
Before Width: | Height: | Size: 292 B After Width: | Height: | Size: 220 B |
Before Width: | Height: | Size: 246 B After Width: | Height: | Size: 215 B |
Before Width: | Height: | Size: 443 B After Width: | Height: | Size: 242 B |
Before Width: | Height: | Size: 331 B After Width: | Height: | Size: 173 B |
Before Width: | Height: | Size: 299 B After Width: | Height: | Size: 156 B |
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 173 B |
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 145 B |
Before Width: | Height: | Size: 359 B After Width: | Height: | Size: 211 B |
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 167 B |
Before Width: | Height: | Size: 221 B After Width: | Height: | Size: 148 B |
Before Width: | Height: | Size: 383 B After Width: | Height: | Size: 158 B |
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 125 B |
Before Width: | Height: | Size: 288 B After Width: | Height: | Size: 131 B |
Before Width: | Height: | Size: 414 B After Width: | Height: | Size: 163 B |
Before Width: | Height: | Size: 296 B After Width: | Height: | Size: 133 B |
Before Width: | Height: | Size: 305 B After Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 378 B After Width: | Height: | Size: 169 B |
Before Width: | Height: | Size: 291 B After Width: | Height: | Size: 133 B |
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 354 B After Width: | Height: | Size: 167 B |
Before Width: | Height: | Size: 325 B After Width: | Height: | Size: 176 B |
Before Width: | Height: | Size: 298 B After Width: | Height: | Size: 158 B |
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 125 B |
Before Width: | Height: | Size: 307 B After Width: | Height: | Size: 131 B |
Before Width: | Height: | Size: 414 B After Width: | Height: | Size: 270 B |
Before Width: | Height: | Size: 319 B After Width: | Height: | Size: 188 B |
Before Width: | Height: | Size: 325 B After Width: | Height: | Size: 148 B |
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 190 B |
Before Width: | Height: | Size: 312 B After Width: | Height: | Size: 147 B |
Before Width: | Height: | Size: 394 B After Width: | Height: | Size: 206 B |
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 137 B |
Before Width: | Height: | Size: 295 B After Width: | Height: | Size: 111 B |
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 104 B |
Before Width: | Height: | Size: 383 B After Width: | Height: | Size: 141 B |
Before Width: | Height: | Size: 290 B After Width: | Height: | Size: 114 B |
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 103 B |
Before Width: | Height: | Size: 300 B After Width: | Height: | Size: 124 B |
Before Width: | Height: | Size: 290 B After Width: | Height: | Size: 114 B |
Before Width: | Height: | Size: 234 B After Width: | Height: | Size: 103 B |
Before Width: | Height: | Size: 310 B After Width: | Height: | Size: 124 B |
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 101 B |
Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 97 B |
Before Width: | Height: | Size: 196 B After Width: | Height: | Size: 111 B |
Before Width: | Height: | Size: 206 B After Width: | Height: | Size: 98 B |
Before Width: | Height: | Size: 196 B After Width: | Height: | Size: 112 B |