Skip to content

JamesWTruher/tree-sitter-PowerShell

 
 

Repository files navigation

PowerShell support for tree-sitter

A tree-sitter implemenation for PowerShell.

License

See LICENSE.

Initial goal

Parse the big test file from EditorSyntax completely.

TODO

  • Add tree-sitter tests
  • Add support for more syntax:
    • Statements
      • switch
      • filter
      • using
      • throw
      • for
      • foreach
      • do/while/until
      • exit/return
      • break/continue
      • trap
      • try/catch/finally
      • data
      • workflow/parallel/sequence
      • configuration
    • Expressions
      • -not
      • Unary -
      • -ge,-gt,-le,-lt,-eq,-ne,-ceq,-ieq, etc.
      • +,-,*,/,%,-or,-and,-bor,-band, etc.
      • Element access ($x[$i])
    • Other syntax
      • Labels
      • Better whitespace handling
      • Herestrings
      • #requires
      • #sig
      • Pipeline redirection and jobs
      • Splatting
      • &&/||
  • Investigate possibility of dynamic keyword support

End goal

90%+ compatibility with the PowerShell parser today.

Getting started

  1. npm install
  2. npm start file.ps1

If you want to just generate the parser, run npm run generate.

If you want to just parse a script, run npm run parse file.ps1

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 78.3%
  • C 15.3%
  • PowerShell 6.4%