pocof.dll-Help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Select-Pocof</command:name>
      <command:verb>Select</command:verb>
      <command:noun>Pocof</command:noun>
      <maml:description>
        <maml:para>Selects objects from a collection based on interactive query.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Select-Pocof` cmdlet selects objects from a collection based on interactive query. For example, you can use the `Select-Pocof` cmdlet to select files that located current directory with interactive window.</maml:para>
      <maml:para>You can use 3 matching mode `match`, `like` or `eq` and can use 3 operator mode `and`, `or` or `none`.</maml:para>
      <maml:para>By default, the query matches to the stringified object. A query starting with a colon, such as `:property-name`, indicates a property query. In a property query, you can specify the property value using the format `:property-name property-value`. If you use a property query, the query will match to the specified object properties.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Select-Pocof</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>Specifies the objects to filter. You can also pipe the objects to `Select-Pocof`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">PSObject[]</command:parameterValue>
          <dev:type>
            <maml:name>PSObject[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CaseSensitive</maml:name>
          <maml:description>
            <maml:para>Filtering in case-sensitive.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Keymaps</maml:name>
          <maml:description>
            <maml:para>Specifies the custom key bindings. Custom keymaps overrides default keymaps.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>Hashtable</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Layout</maml:name>
          <maml:description>
            <maml:para>Select the layout: TopDown or BottomUp. Currently, only the TopDown layout is supported.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">TopDown</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">BottomUp</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Prompt</maml:name>
          <maml:description>
            <maml:para>Specifies the prompt that appears before the query input space.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Query</maml:name>
          <maml:description>
            <maml:para>Specifies the initial query string.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>InvertQuery</maml:name>
          <maml:description>
            <maml:para>Enabling `InvertQuery` will invert the filtering output.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Matcher</maml:name>
          <maml:description>
            <maml:para>Select the matching mode. You can use `match`, `like`, or `eq`.</maml:para>
            <maml:para>- `match` provides regular expression matching</maml:para>
            <maml:para>- `like` provides wildcard matching</maml:para>
            <maml:para>- `eq` provides exact matching</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>NonInteractive</maml:name>
          <maml:description>
            <maml:para>Enabling `NonInteractive` starts the application in non-interactive mode. Mainly used for testing purposes.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Operator</maml:name>
          <maml:description>
            <maml:para>Select the logical operator to use when specifying query strings. You can use `and`, `or`, or `none`.</maml:para>
            <maml:para>- `and` provides logical "and" to multi query generated from splitting query by whitespace</maml:para>
            <maml:para>- `or` provides logical "or" to multi query generated from splitting query by whitespace</maml:para>
            <maml:para>- `none` provides simple matching with a raw query</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>SuppressProperties</maml:name>
          <maml:description>
            <maml:para>Enabling `SuppressProperties` will disable the display of properties under the query input.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CaseSensitive</maml:name>
        <maml:description>
          <maml:para>Filtering in case-sensitive.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>Specifies the objects to filter. You can also pipe the objects to `Select-Pocof`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">PSObject[]</command:parameterValue>
        <dev:type>
          <maml:name>PSObject[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Keymaps</maml:name>
        <maml:description>
          <maml:para>Specifies the custom key bindings. Custom keymaps overrides default keymaps.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>Hashtable</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Layout</maml:name>
        <maml:description>
          <maml:para>Select the layout: TopDown or BottomUp. Currently, only the TopDown layout is supported.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Prompt</maml:name>
        <maml:description>
          <maml:para>Specifies the prompt that appears before the query input space.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Query</maml:name>
        <maml:description>
          <maml:para>Specifies the initial query string.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>InvertQuery</maml:name>
        <maml:description>
          <maml:para>Enabling `InvertQuery` will invert the filtering output.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Matcher</maml:name>
        <maml:description>
          <maml:para>Select the matching mode. You can use `match`, `like`, or `eq`.</maml:para>
          <maml:para>- `match` provides regular expression matching</maml:para>
          <maml:para>- `like` provides wildcard matching</maml:para>
          <maml:para>- `eq` provides exact matching</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>NonInteractive</maml:name>
        <maml:description>
          <maml:para>Enabling `NonInteractive` starts the application in non-interactive mode. Mainly used for testing purposes.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Operator</maml:name>
        <maml:description>
          <maml:para>Select the logical operator to use when specifying query strings. You can use `and`, `or`, or `none`.</maml:para>
          <maml:para>- `and` provides logical "and" to multi query generated from splitting query by whitespace</maml:para>
          <maml:para>- `or` provides logical "or" to multi query generated from splitting query by whitespace</maml:para>
          <maml:para>- `none` provides simple matching with a raw query</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>SuppressProperties</maml:name>
        <maml:description>
          <maml:para>Enabling `SuppressProperties` will disable the display of properties under the query input.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>`System.Management.Automation.PSObject[]`</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>`System.Management.Automation.PSObject`</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Includes the following aliases for `Select-Pocof`</maml:para>
        <maml:para>- `pocof`</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1: Get current directory items with interactive filtering</maml:title>
        <dev:code>PS C:\&gt; Get-ChildItem | Select-Pocof</dev:code>
        <dev:remarks>
          <maml:para>Interactively filter the output of `Get-ChildItem`.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>----------- Example 2: Filter with multiple options -----------</maml:title>
        <dev:code>PS C:\&gt; Get-ChildItem | Select-Pocof -CaseSensitive -Query 'docs md' | Invoke-Item</dev:code>
        <dev:remarks>
          <maml:para>Interactively filter the output of `Get-ChildItem` with an initial case-sensitive query. And performs the default action on the filtered items.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>----------------- Example 3: Filter hashtable -----------------</maml:title>
        <dev:code>PS C:\&gt; @{foo=100; bar=101; foobar=102} | Select-Pocof -NonInteractive -Query ':key foo' | % -Begin {$x = @{}} {$x[$_.Key]= $_.Value} -End {$x}</dev:code>
        <dev:remarks>
          <maml:para>Interactively filter hashtable and create new hashtable from filtered items.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/krymtkts/pocof/blob/main/docs/Select-Pocof.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
</helpItems>