Skip to content

spajak/SublimeLinter-contrib-PSScriptAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SublimeLinter-contrib-PSScriptAnalyzer

Build Status

This linter plugin for SublimeLinter provides an interface to PowerShell's PSScriptAnalyzer module. It will be used with files that have the “PowerShell” syntax.

Installation

SublimeLinter must be installed in order to use this plugin.

Please use Package Control to install the linter plugin.

Before installing this plugin, you must ensure that:

Install-Module -Name PSScriptAnalyzer

In order for pwsh to be executed by SublimeLinter, you must ensure that its path is available to SublimeLinter. The docs cover troubleshooting PATH configuration.

PSScriptAnalyzer settings

If a file named PSScriptAnalyzerSettings.psd1 exists in the user's home directory it's used as PSScriptAnalyzer's settings file when calling Invoke-ScriptAnalyzer cmdlet. Please refer to PSScriptAnalyzer for details.

Example content of a settings file:

@{
    # Select which diagnostic records to show.
    # Valid values are: ParseError, Error, Warning, Information
    Severity = @('ParseError', 'Error', 'Warning')

    ExcludeRules = @(
        'PSUseApprovedVerbs'
    )

    IncludeDefaultRules = $true
}

Path/name of the PSScriptAnalyzer's settings can be customized:

"linters": {
    ...
    "psscriptanalyzer": {
        // full path
        "settings": "D:\\Scripts\\CustomSettings.psd1"
        // environment variables will be expanded
        "settings": "%SCRIPTS_DIR%\\CustomSettings.psd1"
        // or built-in preset name (beware that linting fails if the name is not a valid preset name)
        "settings": "PSGallery"
        // default - remove or set to null
        "settings": null
    }

General Settings

TODO

  • Handle the case when a given preset name is not a valid PSScriptAnalyzer preset. Now it just fails to lint.

About

Sublime Text Linter for PowerShell Core

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages