Skip to content
/ pocof Public

An interactive pipeline filtering Cmdlet for PowerShell written in F#.

License

Notifications You must be signed in to change notification settings

krymtkts/pocof

Repository files navigation

Pocof

PowerShell Gallrery PowerShell Gallery Test main status codecov

An interactive pipeline filtering Cmdlet for PowerShell written in F#. Pocof implemented in .Net Standard 2.0, ensuring compatibility across Windows, Linux, and Mac.

A fork of poco by jasonmarcher. poco based on powershell peco by yumura. powershell peco is a port of peco for PowerShell.

Installation

PowerShell Gallery | pocof

# PowerShellGet 2.x
Install-Module -Name pocof -AllowPrerelease

# PSResourceGet (also known as PowerShellGet 3.0)
Install-PSResource -Name pocof -Prerelease

Motivation

To learn how to write Cmdlet in F#. Also to add my own flavor to poco which I often use.

Cmdlet help

See Select-Pocof.md

Disclaimer

  • Some features are not implemented yet. I have created issues for these planned features.
  • Some objects cannot filter like PowerShell.
  • I mainly use Windows. I tested pocof in Linux on Ubuntu on WSL. I have not tested Mac as I do not have a Mac machine. If you encounter any bugs depends on Linux or Mac, please create an issue with details.
  • The help for some parameters output raw Markdown because PlatyPS cannot render table and bullet list to MAML.
  • PowerShell ISE is not supported.

Publishing module

Build and publish to PowerShell Gallery. To avoid accidents, dry runs mode is default.

# DryRun.
Invoke-psake -taskList Release -parameters @{'Stage'='Release'}

# Publish.
Invoke-psake -taskList Release -parameters @{'Stage'='Release';'DryRun'=$false}

Recommended to do these in new PowerShell process. After you import pocof, cannot release FSharp.Core.dll even if you invoke Remove-Module.