Trex.psd1

@{
    RootModule = 'Trex.psm1'
    ModuleVersion = '0.1.0'
    CompatiblePSEditions = @('Desktop', 'Core')
    GUID = '5e118f52-fbac-4385-a884-09b12c049003'
    Author = 'Mark Newton'
    CompanyName = 'Variably Constant'
    Copyright = '(c) 2026 Mark Newton'
    Description = 'trex as PowerShell cmdlets and objects: a regex-shaped pattern language over typed tokens. A pattern matches a whole number, word, quoted string, IP address, URL, email, timestamp, version and 17 more kinds as one atom each, binds named registers a later token must equal, and matches balanced bracket groups, with no backtracking. Custom atoms are declared for the session with Register-TrexAtom or read from pattern files with Import-TrexAtom, and every cmdlet reads them. Every cmdlet also answers to a shorter name with the Tx prefix. Bound to the Rust directly with PoWerRuSt (pwrs).'
    PowerShellVersion = '5.1'
    FormatsToProcess = @('Trex.Format.ps1xml')
    FunctionsToExport = @()
    CmdletsToExport = @('New-TrexPattern', 'Select-TrexMatch', 'Test-TrexMatch', 'Get-TrexFile', 'Get-TrexFileType', 'Get-TrexLine', 'New-TrexStreamScanner', 'Edit-TrexText', 'Protect-TrexText', 'Group-TrexMatch', 'Get-TrexToken', 'Get-TrexRecord', 'Get-TrexRecordShape', 'ConvertTo-TrexPattern', 'ConvertFrom-TrexText', 'ConvertTo-TrexLiteral', 'Find-TrexRecord', 'New-TrexIndex', 'Get-TrexIndex', 'Get-TrexRule', 'Invoke-TrexRule', 'ConvertTo-TrexSarif', 'Measure-TrexMagnitude', 'Measure-TrexStress', 'Measure-TrexFlow', 'Measure-TrexObservation', 'Measure-TrexEcho', 'Measure-TrexOrbit', 'Measure-TrexShape', 'Measure-TrexRelation', 'Measure-TrexSpectral', 'Measure-TrexSeam', 'New-TrexGrammar', 'Invoke-TrexGrammar', 'New-TrexBpe', 'Import-TrexBpe', 'Export-TrexBpe', 'ConvertTo-TrexBpe', 'New-TrexPrefilter', 'Test-TrexPrefilter', 'Register-TrexAtom', 'Import-TrexAtom', 'Get-TrexAtom', 'Unregister-TrexAtom', 'Test-TrexAtom', 'New-TrexLibrary', 'Get-TrexClock', 'Set-TrexClock', 'Get-TrexInfo')
    VariablesToExport = @()
    AliasesToExport = @('New-TxPattern', 'Select-TxMatch', 'Test-TxMatch', 'Get-TxFile', 'Get-TxFileType', 'Get-TxLine', 'New-TxStreamScanner', 'Edit-TxText', 'Protect-TxText', 'Group-TxMatch', 'Get-TxToken', 'Get-TxRecord', 'Get-TxRecordShape', 'ConvertTo-TxPattern', 'ConvertFrom-TxText', 'ConvertTo-TxLiteral', 'Find-TxRecord', 'New-TxIndex', 'Get-TxIndex', 'Get-TxRule', 'Invoke-TxRule', 'ConvertTo-TxSarif', 'Measure-TxMagnitude', 'Measure-TxStress', 'Measure-TxFlow', 'Measure-TxObservation', 'Measure-TxEcho', 'Measure-TxOrbit', 'Measure-TxShape', 'Measure-TxRelation', 'Measure-TxSpectral', 'Measure-TxSeam', 'New-TxGrammar', 'Invoke-TxGrammar', 'New-TxBpe', 'Import-TxBpe', 'Export-TxBpe', 'ConvertTo-TxBpe', 'New-TxPrefilter', 'Test-TxPrefilter', 'Register-TxAtom', 'Import-TxAtom', 'Get-TxAtom', 'Unregister-TxAtom', 'Test-TxAtom', 'New-TxLibrary', 'Get-TxClock', 'Set-TxClock', 'Get-TxInfo')
    PrivateData = @{ PSData = @{ Tags = @('pwrs', 'powershell', 'regex', 'tokens', 'pattern-matching', 'text-search', 'cmdlet'); LicenseUri = 'https://github.com/Variably-Constant/trex/blob/main/LICENSE-MIT'; ProjectUri = 'https://github.com/Variably-Constant/trex'; ReleaseNotes = 'The first release of Trex: trex''s pattern language over typed tokens as PowerShell cmdlets and objects. Select-TrexMatch scans text, files and directory trees; Edit-TrexText rewrites, Protect-TrexText redacts, Group-TrexMatch counts and groups; Register-TrexAtom and Import-TrexAtom declare custom atoms every cmdlet reads; ConvertTo-TrexPattern builds a pattern from marked examples and ConvertFrom-TrexText applies it as objects, reading ConvertFrom-String templates. It imports in PowerShell 7 and Windows PowerShell 5.1.' } }
}