タグ

ブックマーク / rhysd.hatenablog.com (2)

  • Go で --version の出力を実装する - はやくプログラムになりたい

    Go でコマンドラインツールを実装した時に $ some-tool -version のようにバージョンを出力するフラグを実装することが多いと思います.記事はこれをどう実装するかのメモです. 手動でバージョン情報を管理 素朴にはバージョン情報を定数で持って手動で管理する方法があります. package main import ( "flag" "fmt" ) const version = "1.2.3" func main() { var v bool flag.BoolVar(&v, "version", false, "Show version") flag.Parse() if v { fmt.Println(version) } } 新しいリリースを行うときは version 定数の値を手で書き換えてコミットしてからリリース用のタグを打つという方法でやっていたのですが,間をおい

    Go で --version の出力を実装する - はやくプログラムになりたい
    thaim
    thaim 2023/01/01
  • C や C++ のコードを自動で整形する clang-format を Vim で - はやくプログラムになりたい

    この記事は Vim Advent Calendar 269 日目の記事になります. きつねさんとおぼえる!Clang というを読んでいて,clang 周りで色々役立ちそうなツールがあることを知ったので,その中でも C や C++ のソースコードを整形する clang-format というツールの Vim への応用について書きます. clang-format とは clang-format とは,入力した C や C++(Objective-C は未確認)のソースコードを一定のルールに従って自動整形して出力してくれるツールです.clang の静的解析機能を使っています.インストールは LLVM project の clang のサイトを参照してください. 例えば,次のようなソースコードがあったとします. #include <iostream> #define TEST_CPP_FOR_OP

  • 1