<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Cli on Debimate</title><link>https://debimate.jp/tags/cli/</link><description>Recent content in Cli on Debimate</description><image><title>Debimate</title><url>https://debimate.jp/images/default-ogp.jpg</url><link>https://debimate.jp/images/default-ogp.jpg</link></image><generator>Hugo -- 0.161.1</generator><language>ja-jp</language><lastBuildDate>Sun, 17 Apr 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://debimate.jp/tags/cli/index.xml" rel="self" type="application/rss+xml"/><item><title>【Golang】spf13/cobraが提供する入力補完（shell completion）をファイル形式でインストールする方法【bash, zsh, fish】</title><link>https://debimate.jp/post/ja/2022-04-17-golangspf13-cobra%E3%81%8C%E6%8F%90%E4%BE%9B%E3%81%99%E3%82%8B%E5%85%A5%E5%8A%9B%E8%A3%9C%E5%AE%8Cshell-completion%E3%82%92%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB/</link><pubDate>Sun, 17 Apr 2022 00:00:00 +0000</pubDate><guid>https://debimate.jp/post/ja/2022-04-17-golangspf13-cobra%E3%81%8C%E6%8F%90%E4%BE%9B%E3%81%99%E3%82%8B%E5%85%A5%E5%8A%9B%E8%A3%9C%E5%AE%8Cshell-completion%E3%82%92%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB/</guid><description>&lt;h3 id="前書きspf13cobraのシェル補完は便利"&gt;前書き：spf13/cobraのシェル補完は便利&lt;/h3&gt;
&lt;p&gt;本記事は、&lt;a href="https://github.com/spf13/cobra"&gt;spf13/cobra&lt;/a&gt;が提供する「シェル補完（文字列）」をファイルとしてシステムにインストールする例を紹介します。今回の例を実践すると、cobraを用いたCLIコマンドでシェル補完が有効になります。ここでのシェル補完とは、ターミナルでコマンド入力中に[TAB]キーを押すと、自動で単語を補完する機能です。&lt;/p&gt;
&lt;p&gt;対象シェルは、bash、zsh、fishです。PowerShellは、私が詳しくないので除外します。&lt;/p&gt;
&lt;p&gt;cobraは、Golang用のCLIコマンド作成補助ライブラリです。代表的な機能は、CLIコマンド実行時にオプション／サブコマンドが指定されたかどうかを判定する機能です。cobraを使用した場合、自動的にcompletionサブコマンドが追加され（例：以下に示すposixerコマンドのhelp参照）、このサブコマンドはシェル補完用の文字列を出力します。&lt;/p&gt;</description></item><item><title>【Golang】goa（ver 1.x）frameworkのlinter（goavl）を試作【go/astを利用】</title><link>https://debimate.jp/post/ja/2022-02-11-golanggoaver-1-xframework%E3%81%AElintergoavl%E3%82%92%E8%A9%A6%E4%BD%9Cgo-ast%E3%82%92%E5%88%A9%E7%94%A8/</link><pubDate>Fri, 11 Feb 2022 00:00:00 +0000</pubDate><guid>https://debimate.jp/post/ja/2022-02-11-golanggoaver-1-xframework%E3%81%AElintergoavl%E3%82%92%E8%A9%A6%E4%BD%9Cgo-ast%E3%82%92%E5%88%A9%E7%94%A8/</guid><description>&lt;h3 id="前書きdslに半日悩みカッとなって作った"&gt;前書き：DSLに半日悩み、カッとなって作った&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://github.com/shogo82148/goa-v1"&gt;goa&lt;/a&gt;は、&lt;a href="https://ja.wikipedia.org/wiki/%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E5%9B%BA%E6%9C%89%E8%A8%80%E8%AA%9E"&gt;DSL&lt;/a&gt;で記述されたデザインをもとに、Web APIホスティングに必要なベース処理（ルーティング、コントローラ、Swaggerなど）を生成するFrameworkです。&lt;a href="https://logmi.jp/tech/articles/323091"&gt;goaを採用している会社の例は、DMM&lt;/a&gt;。goaを使うとコード記述量が減り、APIドキュメントが自動生成される利点があります。&lt;/p&gt;
&lt;p&gt;私は、2022年1月からgoaを開発で使用するようになりました。goaは、DSLを覚えるコストが小さくはありません。DSLを書き間違えると、当然goa-designから各種ファイルの生成処理でエラーとなります。&lt;/p&gt;</description></item></channel></rss>