PowerShell Syntax Definition for Editors
This project establishes the central development and maintenance of syntax definition files for the PowerShell language used by editors that leverage the XML version of the TextMate language grammar format.
Currently this syntax definition is used in the following editors and extensions:
- Visual Studio Code by Microsoft
- PowerShell Package for Sublime Text by Guillermo López-Anglada
- language-powershell for Atom by James Sconfitto
In the future we may find a more common syntax that allows us to generate syntax definitions for editors that don't leverage the TextMate format.
Status
We are starting with the current state of the TextMate grammar that is being used in both VS Code and Sublime Text. There are a number of existing issues with the grammar that we need to track down and fix. Please see issue #1 for more details.
Prerequisites
- Node.JS, >= 8.9.1
- Atom text editor (tests)
Build (build.ps1)
-
Run
build.ps1
to generate the grammar.PS> .\build.ps1
-
The .json file will be generated in
./grammars/
at the root of the project.
Test (build.ps1)
Requires the Atom text editor be installed.
-
Run
.\build.ps1
with-Test
. Which will build the grammar file and run all of the specs.PS> .\build.ps1 -Test
Build (npm)
-
Use
npm
to install dependencies:npm install
-
Run the
build-grammar
script to generate the json file.npm run build-grammar
-
The .json file will be generated in
./grammars/
at the root of the project.
Test (Atom cli)
-
Build the grammar file using the above steps.
-
Use the Atom cli command for your os (atom.cmd or atom.sh) to run the tests from the root of the EditorSystax project folder.
atom --test spec
Contributing
We would love to have community contributions to this project to make PowerShell syntax highlighting great in as many editors as we can. Please feel free to file issues or send pull requests if you'd like to contribute.
Maintainers
License
This extension is licensed under the MIT License. Please see the third-party notices file for details on the original source of the TextMate definition that we use.
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.