47 lines
2.8 KiB
JavaScript
47 lines
2.8 KiB
JavaScript
module.exports = function(hljs) {
|
|
var backtickEscape = {
|
|
begin: '`[\\s\\S]',
|
|
relevance: 0
|
|
};
|
|
var VAR = {
|
|
className: 'variable',
|
|
variants: [
|
|
{begin: /\$[\w\d][\w\d_:]*/}
|
|
]
|
|
};
|
|
var QUOTE_STRING = {
|
|
className: 'string',
|
|
begin: /"/, end: /"/,
|
|
contains: [
|
|
backtickEscape,
|
|
VAR,
|
|
{
|
|
className: 'variable',
|
|
begin: /\$[A-z]/, end: /[^A-z]/
|
|
}
|
|
]
|
|
};
|
|
var APOS_STRING = {
|
|
className: 'string',
|
|
begin: /'/, end: /'/
|
|
};
|
|
|
|
return {
|
|
aliases: ['ps'],
|
|
lexemes: /-?[A-z\.\-]+/,
|
|
case_insensitive: true,
|
|
keywords: {
|
|
keyword: 'if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch',
|
|
literal: '$null $true $false',
|
|
built_in: 'Add-Content Add-History Add-Member Add-PSSnapin Clear-Content Clear-Item Clear-Item Property Clear-Variable Compare-Object ConvertFrom-SecureString Convert-Path ConvertTo-Html ConvertTo-SecureString Copy-Item Copy-ItemProperty Export-Alias Export-Clixml Export-Console Export-Csv ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item Join-Path Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug Set-Service Set-TraceSource Set-Variable Sort-Object Split-Path Start-Service Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where-Object Write-Debug Write-Error Write-Host Write-Output Write-Progress Write-Verbose Write-Warning',
|
|
operator: '-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace'
|
|
},
|
|
contains: [
|
|
hljs.HASH_COMMENT_MODE,
|
|
hljs.NUMBER_MODE,
|
|
QUOTE_STRING,
|
|
APOS_STRING,
|
|
VAR
|
|
]
|
|
};
|
|
}; |