mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
Replace vendor powershell.tmBundle by SublimeText powershell. Improve samples for PS.
This commit is contained in:
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -121,9 +121,9 @@
|
||||
[submodule "vendor/grammars/Handlebars"]
|
||||
path = vendor/grammars/Handlebars
|
||||
url = https://github.com/daaain/Handlebars
|
||||
[submodule "vendor/grammars/powershell.tmbundle"]
|
||||
path = vendor/grammars/powershell.tmbundle
|
||||
url = https://github.com/davidpeckham/powershell.tmbundle
|
||||
[submodule "vendor/grammars/powershell"]
|
||||
path = vendor/grammars/powershell
|
||||
url = https://github.com/SublimeText/PowerShell
|
||||
[submodule "vendor/grammars/jade-tmbundle"]
|
||||
path = vendor/grammars/jade-tmbundle
|
||||
url = https://github.com/davidrios/jade-tmbundle
|
||||
|
||||
@@ -350,7 +350,7 @@ vendor/grammars/pike-textmate:
|
||||
- source.pike
|
||||
vendor/grammars/postscript.tmbundle:
|
||||
- source.postscript
|
||||
vendor/grammars/powershell.tmbundle:
|
||||
vendor/grammars/powershell:
|
||||
- source.powershell
|
||||
vendor/grammars/processing.tmbundle:
|
||||
- source.processing
|
||||
|
||||
116
samples/PowerShell/ZLocation.psd1
Normal file
116
samples/PowerShell/ZLocation.psd1
Normal file
@@ -0,0 +1,116 @@
|
||||
#
|
||||
# Module manifest for module 'ZLocation'
|
||||
#
|
||||
# Generated by: sevoroby
|
||||
#
|
||||
# Generated on: 12/10/2014
|
||||
#
|
||||
|
||||
@{
|
||||
|
||||
# Script module or binary module file associated with this manifest.
|
||||
RootModule = 'ZLocation.psm1'
|
||||
|
||||
# Version number of this module.
|
||||
ModuleVersion = '0.1'
|
||||
|
||||
# ID used to uniquely identify this module
|
||||
GUID = '18e8ca17-7f67-4f1c-85ff-159373bf66f5'
|
||||
|
||||
# Author of this module
|
||||
Author = 'Sergei Vorobev'
|
||||
|
||||
# Company or vendor of this module
|
||||
CompanyName = 'Microsoft'
|
||||
|
||||
# Copyright statement for this module
|
||||
Copyright = '(c) 2014 Sergei Vorobev. All rights reserved.'
|
||||
|
||||
# Description of the functionality provided by this module
|
||||
# Description = ''
|
||||
|
||||
# Minimum version of the Windows PowerShell engine required by this module
|
||||
# PowerShellVersion = ''
|
||||
|
||||
# Name of the Windows PowerShell host required by this module
|
||||
# PowerShellHostName = ''
|
||||
|
||||
# Minimum version of the Windows PowerShell host required by this module
|
||||
# PowerShellHostVersion = ''
|
||||
|
||||
# Minimum version of Microsoft .NET Framework required by this module
|
||||
# DotNetFrameworkVersion = ''
|
||||
|
||||
# Minimum version of the common language runtime (CLR) required by this module
|
||||
# CLRVersion = ''
|
||||
|
||||
# Processor architecture (None, X86, Amd64) required by this module
|
||||
# ProcessorArchitecture = ''
|
||||
|
||||
# Modules that must be imported into the global environment prior to importing this module
|
||||
# RequiredModules = @()
|
||||
|
||||
# Assemblies that must be loaded prior to importing this module
|
||||
# RequiredAssemblies = @()
|
||||
|
||||
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
|
||||
# ScriptsToProcess = @()
|
||||
|
||||
# Type files (.ps1xml) to be loaded when importing this module
|
||||
# TypesToProcess = @()
|
||||
|
||||
# Format files (.ps1xml) to be loaded when importing this module
|
||||
# FormatsToProcess = @()
|
||||
|
||||
# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
|
||||
NestedModules = @("ZLocation.Storage.psm1", "ZLocation.Search.psm1")
|
||||
|
||||
# Functions to export from this module
|
||||
FunctionsToExport = '*'
|
||||
|
||||
# Cmdlets to export from this module
|
||||
CmdletsToExport = '*'
|
||||
|
||||
# Variables to export from this module
|
||||
VariablesToExport = '*'
|
||||
|
||||
# Aliases to export from this module
|
||||
AliasesToExport = '*'
|
||||
|
||||
# List of all modules packaged with this module
|
||||
# ModuleList = @()
|
||||
|
||||
# List of all files packaged with this module
|
||||
# FileList = @()
|
||||
|
||||
# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
|
||||
PrivateData = @{
|
||||
|
||||
PSData = @{
|
||||
|
||||
# Tags applied to this module. These help with module discovery in online galleries.
|
||||
# Tags = @()
|
||||
|
||||
# A URL to the license for this module.
|
||||
# LicenseUri = ''
|
||||
|
||||
# A URL to the main website for this project.
|
||||
# ProjectUri = ''
|
||||
|
||||
# A URL to an icon representing this module.
|
||||
# IconUri = ''
|
||||
|
||||
# ReleaseNotes of this module
|
||||
# ReleaseNotes = ''
|
||||
|
||||
} # End of PSData hashtable
|
||||
|
||||
} # End of PrivateData hashtable
|
||||
|
||||
# HelpInfo URI of this module
|
||||
# HelpInfoURI = ''
|
||||
|
||||
# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
|
||||
# DefaultCommandPrefix = ''
|
||||
|
||||
}
|
||||
91
samples/PowerShell/ZLocation.psm1
Normal file
91
samples/PowerShell/ZLocation.psm1
Normal file
@@ -0,0 +1,91 @@
|
||||
#
|
||||
# Weight function.
|
||||
#
|
||||
function Update-ZLocation([string]$path)
|
||||
{
|
||||
$now = [datetime]::Now
|
||||
if (Test-Path variable:global:__zlocation_current)
|
||||
{
|
||||
$prev = $global:__zlocation_current
|
||||
$weight = $now.Subtract($prev.Time).TotalSeconds
|
||||
Add-ZWeight ($prev.Location) $weight
|
||||
}
|
||||
|
||||
$global:__zlocation_current = @{
|
||||
Location = $path
|
||||
Time = [datetime]::Now
|
||||
}
|
||||
|
||||
# populate folder immidiatly after the first cd
|
||||
Add-ZWeight $path 0
|
||||
}
|
||||
|
||||
# this approach hurts `cd` performance (0.0008 sec vs 0.025 sec).
|
||||
# Consider replace it with OnIdle Event.
|
||||
(Get-Variable pwd).attributes.Add((new-object ValidateScript { Update-ZLocation $_.Path; return $true }))
|
||||
#
|
||||
# End of weight function.
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
# Tab complention.
|
||||
#
|
||||
if (Test-Path Function:\TabExpansion) {
|
||||
Rename-Item Function:\TabExpansion PreZTabExpansion
|
||||
}
|
||||
|
||||
function Get-EscapedPath
|
||||
{
|
||||
param(
|
||||
[Parameter(
|
||||
Position=0,
|
||||
Mandatory=$true,
|
||||
ValueFromPipeline=$true,
|
||||
ValueFromPipelineByPropertyName=$true)
|
||||
]
|
||||
[string]$path
|
||||
)
|
||||
|
||||
process {
|
||||
if ($path.Contains(' '))
|
||||
{
|
||||
return '"' + $path + '"'
|
||||
}
|
||||
return $path
|
||||
}
|
||||
}
|
||||
|
||||
function global:TabExpansion($line, $lastWord) {
|
||||
switch -regex ($line) {
|
||||
"^(Set-ZLocation|z) .*" {
|
||||
$arguments = $line -split ' ' | Where { $_.length -gt 0 } | select -Skip 1
|
||||
Find-Matches (Get-ZLocation) $arguments | Get-EscapedPath
|
||||
}
|
||||
default {
|
||||
if (Test-Path Function:\PreZTabExpansion) {
|
||||
PreZTabExpansion $line $lastWord
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#
|
||||
# End of tab completion.
|
||||
#
|
||||
|
||||
function Set-ZLocation()
|
||||
{
|
||||
if (-not $args) {
|
||||
$args = @()
|
||||
}
|
||||
$matches = Find-Matches (Get-ZLocation) $args
|
||||
if ($matches) {
|
||||
Push-Location ($matches | Select-Object -First 1)
|
||||
} else {
|
||||
Write-Warning "Cannot find matching location"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Set-Alias -Name z -Value Set-ZLocation
|
||||
Export-ModuleMember -Function Set-ZLocation, Get-ZLocation -Alias z
|
||||
@@ -1,2 +0,0 @@
|
||||
# Hello world in powershell
|
||||
Write-Host 'Hello World'
|
||||
@@ -1,5 +0,0 @@
|
||||
# Hello World powershell module
|
||||
|
||||
function hello() {
|
||||
Write-Host 'Hello World'
|
||||
}
|
||||
65
samples/PowerShell/history.ps1
Normal file
65
samples/PowerShell/history.ps1
Normal file
@@ -0,0 +1,65 @@
|
||||
function Save-HistoryAll() {
|
||||
$history = Get-History -Count $MaximumHistoryCount
|
||||
[array]::Reverse($history)
|
||||
$history = $history | Group CommandLine | Foreach {$_.Group[0]}
|
||||
[array]::Reverse($history)
|
||||
$history | Export-Csv $historyPath
|
||||
}
|
||||
|
||||
function Save-HistoryIncremental() {
|
||||
# Get-History -Count $MaximumHistoryCount | Group CommandLine | Foreach {$_.Group[0]} | Export-Csv $historyPath
|
||||
Get-History -Count 1 | Export-Csv -Append $historyPath
|
||||
}
|
||||
|
||||
# hook powershell's exiting event & hide the registration with -supportevent.
|
||||
#Register-EngineEvent -SourceIdentifier powershell.exiting -SupportEvent -Action { Save-History }
|
||||
|
||||
$oldPrompt = Get-Content function:\prompt
|
||||
|
||||
if( $oldPrompt -notlike '*Save-HistoryIncremental*' )
|
||||
{
|
||||
$newPrompt = @'
|
||||
Save-HistoryIncremental
|
||||
|
||||
'@
|
||||
$newPrompt += $oldPrompt
|
||||
$function:prompt = [ScriptBlock]::Create($newPrompt)
|
||||
}
|
||||
|
||||
# load previous history, if it exists
|
||||
if ((Test-Path $historyPath)) {
|
||||
$loadTime =
|
||||
(
|
||||
Measure-Command {
|
||||
Import-Csv $historyPath | Add-History
|
||||
Save-HistoryAll
|
||||
Clear-History
|
||||
Import-Csv $historyPath | ? {$count++;$true} | Add-History
|
||||
}
|
||||
).totalseconds
|
||||
Write-Host -Fore Green "`nLoaded $count history item(s) in $loadTime seconds.`n"
|
||||
}
|
||||
|
||||
|
||||
function Search-History()
|
||||
{
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Retrive and filter history based on query
|
||||
.DESCRIPTION
|
||||
.PARAMETER Name
|
||||
.EXAMPLE
|
||||
.LINK
|
||||
#>
|
||||
|
||||
param(
|
||||
[string[]] $query
|
||||
)
|
||||
|
||||
$history = Get-History -Count $MaximumHistoryCount
|
||||
foreach ($item in $query){
|
||||
$item = $item.ToLower()
|
||||
$history = $history | where {$_.CommandLine.ToLower().Contains($item)}
|
||||
}
|
||||
$history
|
||||
}
|
||||
1
vendor/grammars/powershell
vendored
Submodule
1
vendor/grammars/powershell
vendored
Submodule
Submodule vendor/grammars/powershell added at 84fd97265c
1
vendor/grammars/powershell.tmbundle
vendored
1
vendor/grammars/powershell.tmbundle
vendored
Submodule vendor/grammars/powershell.tmbundle deleted from f8716b432e
Reference in New Issue
Block a user