{"id":1944,"date":"2022-04-14T14:25:08","date_gmt":"2022-04-14T19:25:08","guid":{"rendered":"http:\/\/ninmonkeys.com\/blog\/?p=1944"},"modified":"2022-05-16T08:43:58","modified_gmt":"2022-05-16T13:43:58","slug":"experiments-of-2022-04","status":"publish","type":"post","link":"https:\/\/ninmonkeys.com\/blog\/2022\/04\/14\/experiments-of-2022-04\/","title":{"rendered":"Experiments of 2022-04"},"content":{"rendered":"\n\n\n<h2>FdFind, Ansi Colors with Group-Object <\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"567\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-6-1024x567.png\" alt=\"\" class=\"wp-image-2439\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-6-1024x567.png 1024w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-6-300x166.png 300w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-6-768x425.png 768w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-6.png 1091w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-powershell\" data-line=\"\"># [3] main + UX for long exxtensions + Horizontal rules\nfd --color=always --changed-within=10hours\n| group { \n    $strExt = $_ | StripAnsi | gi | % Extension\n    # QOL: don&#039;t let massive names break the table\n    if($strExt.Length -gt 10) { $strExt.Substring(0, 10) } else {$strExt}\n}\n| %{ $_ ; hr }\n| ft -AutoSize<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-powershell\" data-line=\"\"># [1] Minimum required\nfd --color=always --changed-within=10hours\n| group { $_ | StripAnsi | gi | % Extension }\n| ft -AutoSize<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-powershell\" data-line=\"\"># [2] UX: Don&#039;t let super long extensions break break columns\nfd --color=always --changed-within=10hours\n| group {\n    $strExt = $_ | StripAnsi | gi | % Extension\n    if($strExt.Length -gt 10) { $strExt.Substring(0, 10) } else {$strExt}\n}\n| ft -AutoSize<\/code><\/pre>\n\n\n\n<h2>Using <code class=\"\" data-line=\"\">wt<\/code>&#8216;s Parameters<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"479\" height=\"789\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-3.png\" alt=\"\" class=\"wp-image-2425\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-3.png 479w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-3-182x300.png 182w\" sizes=\"(max-width: 479px) 100vw, 479px\" \/><figcaption><a href=\"https:\/\/github.com\/ninmonkey\/Ninmonkey.Console\/blob\/a9c8845db081d06af143d288148fec2e5ea64774\/zeroDepend_autoloader\/invoke-wt-colors.ps1#L15-L42\">https:\/\/github.com\/Ninmonkey.Console\/WtThemeTest<\/a><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"648\" height=\"292\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-4.png\" alt=\"\" class=\"wp-image-2429\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-4.png 648w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-4-300x135.png 300w\" sizes=\"(max-width: 648px) 100vw, 648px\" \/><figcaption>PS&gt; <strong>ZD-Invoke-WtThemeTest -Random<\/strong><\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-powershell\" data-line=\"\">PS&gt; wt -w theme-test new-tab --title &quot;Tango Light&quot; --profile &#039;pwsh_nop&#039; --colorScheme &quot;Tango Dark&quot;\nPS&gt; wt -w theme-test new-tab --title &quot;Tango Light&quot; --profile &#039;pwsh_nop&#039; --colorScheme &quot;BirdsOfParadise&quot;\n\n# or\nZD-Invoke-WtThemeTest -Random<\/code><\/pre>\n\n\n\n<h2>Nested Formatting in Powershell<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"694\" height=\"1024\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-3-694x1024.png\" alt=\"\" class=\"wp-image-2318\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-3-694x1024.png 694w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-3-203x300.png 203w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-3-768x1134.png 768w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-3.png 836w\" sizes=\"(max-width: 694px) 100vw, 694px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-5.png\" alt=\"\" class=\"wp-image-2435\" width=\"610\" height=\"573\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-5.png 893w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-5-300x282.png 300w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/05\/image-5-768x722.png 768w\" sizes=\"(max-width: 610px) 100vw, 610px\" \/><figcaption>Using module <strong>Pansies<\/strong> <\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-7.png\" alt=\"\" class=\"wp-image-2330\" width=\"610\" height=\"550\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-7.png 713w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-7-300x271.png 300w\" sizes=\"(max-width: 610px) 100vw, 610px\" \/><figcaption>What not to do \ud83d\ude42<\/figcaption><\/figure>\n\n\n\n<h2>CLI <code class=\"\" data-line=\"\">bat<\/code> to preview results<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"561\" height=\"798\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-6.png\" alt=\"\" class=\"wp-image-2326\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-6.png 561w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-6-211x300.png 211w\" sizes=\"(max-width: 561px) 100vw, 561px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-powershell\" data-line=\"\"># For every file fd finds, print the first 15 lines\nPS&gt; fd --exec-batch bat --line-range=:15 --paging=always\n\n# forcing paging \/on\/off\nPS&gt; fd --exec-batch bat --line-range=:15 --paging=never<\/code><\/pre>\n\n\n\n<h2>Regex Lazy vs Greedy Expressions<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"610\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-2-1024x610.png\" alt=\"\" class=\"wp-image-2315\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-2-1024x610.png 1024w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-2-300x179.png 300w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-2-768x458.png 768w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-2-1200x715.png 1200w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-2.png 1292w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2>Using CSS Selectors<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"665\" height=\"561\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-4.png\" alt=\"\" class=\"wp-image-2320\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-4.png 665w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-4-300x253.png 300w\" sizes=\"(max-width: 665px) 100vw, 665px\" \/><figcaption>selector <code class=\"\" data-line=\"\">&#039;div.premium-box span.btn.btn-info&#039;<\/code><\/figcaption><\/figure>\n\n\n\n<h2>Autocomplete changes based on the first Argument<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"421\" height=\"211\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2021\/11\/pwsh-\u2510-completer-based-on-other-parameter-7.1-\u2510-part1-2021-10-01-2021-YYYYY.gif\" alt=\"\" class=\"wp-image-1963\"\/><\/figure>\n\n\n\n<h2>Parsing Stdout Whitespace <\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"836\" height=\"580\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2021\/10\/parsing-whitespace-\u2510-commandline-\u2510-using-lizards-2021-10-24-1.gif\" alt=\"\" class=\"wp-image-1945\"\/><\/figure>\n\n\n\n<ul><li>Using <a href=\"https:\/\/github.com\/ninmonkey\/Ninmonkey.Console\/blob\/19563840718854d9afd24d3beae15d49e964a4b8\/public\/Format-ControlChar.ps1\">Format-ControlChar<\/a><\/li><\/ul>\n\n\n\n<h2>Grouping On Errors<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"556\" height=\"423\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image.png\" alt=\"\" class=\"wp-image-2308\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image.png 556w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-300x228.png 300w\" sizes=\"(max-width: 556px) 100vw, 556px\" \/><\/figure>\n\n\n\n<h2>Type Resolution Is Scoped <\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"850\" height=\"944\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-1.png\" alt=\"\" class=\"wp-image-2309\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-1.png 850w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-1-270x300.png 270w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/04\/image-1-768x853.png 768w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-powershell\" data-line=\"\">Pwsh\ud83d\udc12&gt; # test whether it&#039;s resolved by coerce to [type]\n    &#039;catman&#039; -as &#039;type&#039; -is &#039;type&#039;\n    &#039;batman&#039; -as &#039;type&#039; -is &#039;type&#039;\nTrue\nFalse<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-powershell\" data-line=\"\">Pwsh\ud83d\udc12&gt; # test whether it&#039;s resolved by coerce to [type]\n    &#039;catman&#039; -as &#039;type&#039; -is &#039;type&#039;\n    &#039;batman&#039; -as &#039;type&#039; -is &#039;type&#039;\nTrue\nFalse\n\n\n# after \n\nPwsh\ud83d\udc12&gt; @(\n    # Declaring a new type in inside a [ScriptBlock]\n    &amp; {\n        class batman { [string]$Name }\n        [batman]\n    }\n\n    # verses dotsourcing a type into the current scope\n    . {\n       class catman { [string]$Name }\n       [catman]\n    }) | ft -AutoSize\n\n   Namespace: &lt;4cf9efd5&gt;\n\nAccess Modifiers Name   BaseType\n------ --------- ----   --------\npublic class     batman object\n\n   Namespace: &lt;f2200555&gt;\n\nAccess Modifiers Name   BaseType\n------ --------- ----   --------\npublic class     catman object<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>FdFind, Ansi Colors with Group-Object Using wt&#8216;s Parameters Nested Formatting in Powershell CLI bat to preview results Regex Lazy vs Greedy Expressions Using CSS Selectors Autocomplete changes based on the first Argument Parsing Stdout Whitespace Using Format-ControlChar Grouping On Errors Type Resolution Is Scoped<\/p>\n","protected":false},"author":1,"featured_media":1945,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[72,18,95],"tags":[105,29,104,4],"_links":{"self":[{"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/posts\/1944"}],"collection":[{"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/comments?post=1944"}],"version-history":[{"count":17,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/posts\/1944\/revisions"}],"predecessor-version":[{"id":2441,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/posts\/1944\/revisions\/2441"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/media\/1945"}],"wp:attachment":[{"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/media?parent=1944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/categories?post=1944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/tags?post=1944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}