Blame view

frontend/web/css/node_modules/gulp/completion/powershell 1.93 KB
3da83322   Administrator   21.03.16 Versrka
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  # Copyright (c) 2014 Jason Jarrett

  #

  # Tab completion for the `gulp`

  #

  # Usage:

  #

  # To enable powershell <tab> completion for gulp you need to be running 

  # at least PowerShell v3 or greater and add the below to your $PROFILE

  #

  #     Invoke-Expression ((gulp --completion=powershell) -join [System.Environment]::NewLine)

  #

  #

  

  $gulp_completion_Process = {

      param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter)

  

  

  	# Load up an assembly to read the gulpfile's sha1

  	if(-not $global:GulpSHA1Managed) {

  		[Reflection.Assembly]::LoadWithPartialName("System.Security") | out-null

  		$global:GulpSHA1Managed = new-Object System.Security.Cryptography.SHA1Managed

  	}

  

  	# setup a global (in-memory) cache

  	if(-not $global:GulpfileShaCache) {

  		$global:GulpfileShaCache = @{};

  	}

  

  	$cache = $global:GulpfileShaCache;

  

  	# Get the gulpfile's sha1

  	$sha1gulpFile = (resolve-path gulpfile.js -ErrorAction Ignore | %{

  		$file = [System.IO.File]::Open($_.Path, "open", "read")

  		[string]::join('', ($global:GulpSHA1Managed.ComputeHash($file) | %{ $_.ToString("x2") }))

  		$file.Dispose()

  	})

  

  	# lookup the sha1 for previously cached task lists.

  	if($cache.ContainsKey($sha1gulpFile)){

  		$tasks = $cache[$sha1gulpFile];

  	} else {

  		$tasks = (gulp --tasks-simple).split("`n");

  		$cache[$sha1gulpFile] = $tasks;

  	}

  

  

      $tasks |

          where { $_.startswith($commandName) }

          Sort-Object |

          foreach { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', ('{0}' -f $_) }

  }

  

  if (-not $global:options) {

      $global:options = @{

          CustomArgumentCompleters = @{};

          NativeArgumentCompleters = @{}

      }

  }

  

  $global:options['NativeArgumentCompleters']['gulp'] = $gulp_completion_Process

  $function:tabexpansion2 = $function:tabexpansion2 -replace 'End\r\n{','End { if ($null -ne $options) { $options += $global:options} else {$options = $global:options}'