<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>starship - Hard Wired</title>
	<atom:link href="https://www.hardwired.dev/tag/starship/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hardwired.dev</link>
	<description></description>
	<lastBuildDate>Thu, 20 Oct 2022 13:54:51 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://www.hardwired.dev/wp-content/uploads/2022/10/android-chrome-256x256-1-150x150.png</url>
	<title>starship - Hard Wired</title>
	<link>https://www.hardwired.dev</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Starship pro Widláky</title>
		<link>https://www.hardwired.dev/2022/10/09/starship-pro-widlaky/</link>
		
		<dc:creator><![CDATA[John Doe]]></dc:creator>
		<pubDate>Sat, 08 Oct 2022 22:19:37 +0000</pubDate>
				<category><![CDATA[Různé]]></category>
		<category><![CDATA[clink]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[commandline]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[starship]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">https://hessevalentino.cz/?p=581</guid>

					<description><![CDATA[<p>Starship je cross-shell prompt napsaný v Rustu co vám obohatí váš shell. Jak to může vypadat se dozvíte hned na &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2022/10/09/starship-pro-widlaky/">Starship pro Widláky</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>Starship je <code>cross-shell prompt</code> napsaný v Rustu co vám obohatí váš shell. Jak to může vypadat se dozvíte hned na <a href="https://starship.rs/">úvodní stránce</a> projektu.</p>
<blockquote>
<p>The minimal, blazing-fast, and infinitely customizable prompt for any shell!    </p>
</blockquote>
<p>Starship je multiplatformní a multi-shellový, ale tady se budeme zabývat instalací pro <code>cmd</code> na <code>windows</code>.</p>
<p>Samotnou instalaci můžete provést několika způsoby. Prvním způsobem je stažení klasického <code>msi</code>čka z <a href="https://github.com/starship/starship/releases/tag/v1.10.3">githubu starshipu</a> a normálně ho nainstalovat. Nebo můžete být víc <code>cool</code> a použít <a href="https://learn.microsoft.com/en-us/windows/package-manager/winget/">Winget</a>. Winget je pokus Microsoftu o &quot;balíčkovací systém&quot; přes příkazovou řádku. Někdo by si mohl říct že to bude jako Debianí <code>apt</code> nebo Fedorácký <code>yum</code>. Ne. Jediné co to udělá, je to, že stáhne <code>msi</code> soubor a spustí ho. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<pre><code class="language-shell">winget install --id Starship.Starship</code></pre>
<p>Po úspěšné instalaci je nutné stáhnout <a href="https://chrisant996.github.io/clink/clink.html">Clink</a>. Jelikož <code>cmd</code> je trochu prehistorie, potřebuje obohatit ještě o trošku více. Clink přinese do <code>cmd</code> opravdové doplňování a historii.</p>
<blockquote>
<p>Clink combines the native Windows shell cmd.exe with the powerful  command line editing features of the GNU Readline library, which  provides rich completion, history, and line-editing capabilities.  Readline is best known for its use in the Unix shell Bash, the standard  shell for Mac OS X and many Linux distributions.</p>
</blockquote>
<p>Ze <a href="https://github.com/chrisant996/clink/releases">stránek projektu</a> stáhněte a nainstalujte poslední verzi Clinku.</p>
<p>Jak tohle budete mít, tak je potřeba vytvořit soubor <code>starship.lua</code>, který umístíte do <code>%LocalAppData%\clink\</code>. Obsahem souboru bude následující:</p>
<pre><code class="language-lua">load(io.popen(&#039;starship init cmd&#039;):read(&quot;*a&quot;))()</code></pre>
<p>Teď když spustíte čerstvé <code>cmd</code>, tak uvidíte následující.</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/starship-success.jpg" alt="" /></p>
<p>Nebo něco takového. (v prvním případě je to přes Microsoft Terminál, v druhém případě je to čisté <code>cmd</code>)</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/starship-success-2.jpg" alt="" /></p>
<p>Tak to už vám běží Starship. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Ale furt to nevypadá tak pěkně jako na stránkách Starshipu.</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/starship-example.jpg" alt="" /></p>
<p>V první řadě je potřeba doinstalovat font a to <a href="https://www.nerdfonts.com/">Nerd Font</a>.  </p>
<p>Tady to bude trochu divočejší. Potřebujeme vybrat font, který bude umět zobrazení různých symbolů jako vidíme na obrázku výše. </p>
<p>Pokud používám <a href="https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701">Windows Terminal</a> aplikaci, nainstaloval jsem a mám nastavený font <a href="https://www.nerdfonts.com/font-downloads">Caskaydia Cove Nerd Font</a>. Respektive <code>CaskaydiaCove Nerd Font Mono</code>.</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/caskaydia-cove-nerd-font.jpg" alt="" /></p>
<p>Blbé je, že klasické <code>cmd</code> ho neumí použít. Pro tento případ jsem použil font <a href="https://www.nerdfonts.com/font-downloads">3270 Nerd Font</a> a v <code>cmd</code> ho nastavil. (<code>ttf</code> soubory)</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/3270-nerd-font.jpg" alt="" /></p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/3270-narrow-nerd-install.jpg" alt="" /></p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/cmd-settings.jpg" alt="" /></p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/cmd-settings-font.jpg" alt="" /></p>
<p>Potvrďte, změní se font konzole. Zároveň se už korektně zobrazí základní preset Starshipu a uvidíte zelenou tučnou špidlatou závorku evokující šipku doprava. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/cmd-font-works.jpg" alt="" /></p>
<p>Tohle ale ještě furt není to co chceme. Teď ještě potřebujeme nějaký <a href="https://starship.rs/presets/#nerd-font-symbols">pěkný preset</a>. Můžeme použít <a href="https://starship.rs/presets/bracketed-segments.html">Bracketed Segments</a>.</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/bracketred-segments.jpg" alt="" /></p>
<p>Instalaci provedeme přes <code>cmd</code>.</p>
<pre><code class="language-bash">starship preset bracketed-segments &gt; %userprofile%/.config/starship.toml</code></pre>
<p>Spusťte nové <code>cmd</code> a když půjdete někam, kde může něco zajímavého říct, tak to zobrazí v nainstalovaném presetu. V mém případě jsem spustil <code>cmd</code> v Java Scriptovém projejktu.</p>
<p>Pro klasické <code>cmd</code>:</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/virtual-gallery-a.jpg" alt="" /></p>
<p>Pro <code>cmd</code> přes <code>Windows Terminal</code>:</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/virtual-gallery-b.jpg" alt="" /></p>
<p>Příkazová řádka mě informuje, že se nacházím ve větvi <code>master</code> a verze <code>nodejs</code> je 16. Co vám bude kontextově napovídáno je nakonfigurováno ve <code>starship.toml</code>, který jsme vytvářeli výše.</p>
<pre><code class="language-toml">[aws]
format = &#039;\[[$symbol($profile)(\($region\))(\[$duration\])]($style)\]&#039;

[bun]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[c]
format = &#039;\[[$symbol($version(-$name))]($style)\]&#039;

[cmake]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[cmd_duration]
format = &#039;\[[&#x23f1; $duration]($style)\]&#039;

[cobol]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[conda]
format = &#039;\[[$symbol$environment]($style)\]&#039;

[crystal]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[daml]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[dart]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[deno]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[docker_context]
format = &#039;\[[$symbol$context]($style)\]&#039;

[dotnet]
format = &#039;\[[$symbol($version)(? $tfm)]($style)\]&#039;

[elixir]
format = &#039;\[[$symbol($version \(OTP $otp_version\))]($style)\]&#039;

[elm]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[erlang]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[gcloud]
format = &#039;\[[$symbol$account(@$domain)(\($region\))]($style)\]&#039;

[git_branch]
format = &#039;\[[$symbol$branch]($style)\]&#039;

[git_status]
format = &#039;([\[$all_status$ahead_behind\]]($style))&#039;

[golang]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[haskell]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[helm]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[hg_branch]
format = &#039;\[[$symbol$branch]($style)\]&#039;

[java]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[julia]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[kotlin]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[kubernetes]
format = &#039;\[[$symbol$context( \($namespace\))]($style)\]&#039;

[lua]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[memory_usage]
format = &#039;\[$symbol[$ram( | $swap)]($style)\]&#039;

[nim]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[nix_shell]
format = &#039;\[[$symbol$state( \($name\))]($style)\]&#039;

[nodejs]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[ocaml]
format = &#039;\[[$symbol($version)(\($switch_indicator$switch_name\))]($style)\]&#039;

[openstack]
format = &#039;\[[$symbol$cloud(\($project\))]($style)\]&#039;

[package]
format = &#039;\[[$symbol$version]($style)\]&#039;

[pulumi]
format = &#039;\[[$symbol$stack]($style)\]&#039;

[purescript]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[python]
format = &#039;\[[${symbol}${pyenv_prefix}(${version})(\($virtualenv\))]($style)\]&#039;

[raku]
format = &#039;\[[$symbol($version-$vm_version)]($style)\]&#039;

[red]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[ruby]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[rust]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[scala]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[spack]
format = &#039;\[[$symbol$environment]($style)\]&#039;

[sudo]
format = &#039;\[[as $symbol]\]&#039;

[swift]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[terraform]
format = &#039;\[[$symbol$workspace]($style)\]&#039;

[time]
format = &#039;\[[$time]($style)\]&#039;

[username]
format = &#039;\[[$user]($style)\]&#039;

[vagrant]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[vlang]
format = &#039;\[[$symbol($version)]($style)\]&#039;

[zig]
format = &#039;\[[$symbol($version)]($style)\]&#039;
</code></pre>
<p>Tak a teď vám funguje Starship na Windows. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<hr />
<p>Pokud používáte PowerShell nemusíte instalovat Clink. Fonty pořešíte úplně stejně. V PowerShellu si vypíšete, kde se má nacházet konfigurační soubor.</p>
<pre><code class="language-shell">echo $PROFILE</code></pre>
<p>Dostanete něco ve smyslu <code>...\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1</code>. Pokud soubor neexistuje, tak ho vytvořte a do něj přidejte a uložte:</p>
<pre><code class="language-powershell">Invoke-Expression (&amp;starship init powershell)</code></pre>
<p>Spusťte nový PowerShell. Možná na vás vyskočí chyba <code>running scripts is disabled on this system</code>. To bude asi nějaká bezpečnost nebo co. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Abychom se toho zbavili, musíme pustit PowerShell jako správce a spustit následující příkaz:</p>
<pre><code class="language-shell">Set-ExecutionPolicy Unrestricted</code></pre>
<p>Jak moc je to &quot;velká bezpečnost díra&quot; si musí každý zhodnotit sám.</p>
<p>Restartujeme PowerShell. Pokud už máme nastavené odpovídající písmo a jsme například v <code>nodejs</code> projektu, uvidíme opět kontextové informace.</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/10/virtual-gallery-powershell.jpg" alt="" /></p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2022%2F10%2F09%2Fstarship-pro-widlaky%2F&#038;via=hessevalentino" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2022/10/09/starship-pro-widlaky/">Starship pro Widláky</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
