Takuya71 のぶろぐ

外資系ソフトウェア会社で働いてます、認定スクラムマスター

2021-03-31 frangipanni

気になる Hackernews

https://www.daemonology.net/hn-daily/ からの気になったニュース

Show HN: I wrote a program to convert lines of text into trees

今日 気になった記事は frangipanni というコマンドを作ったという記事

github.com

テキストの行を美しいツリー構造に変換するプログラム。

ツリー

このプログラムは、標準入力の各行を順番に読みます。各行をトークンに分割し、トークンの並びを木構造に追加します。トークンの先頭が同じ行は、ツリーの同じ枝に配置されます。ツリーはインデントされた行、または JSON 形式で出力されます。また、ユーザーが提供する Lua スクリプトにツリーを渡して、任意の出力形式を作成することもできます。 オプションは、行をトークンに分割する場所や、その分析方法、出力方法を制御します。

こんな感じで ツリー構造にできるらしい。

etc
    bluetooth
        rfcomm.conf.dpkg-remove
        serial.conf.dpkg-remove
        input.conf
        audio.conf.dpkg-remove
        network.conf
        main.conf
    fish
        completions
            task.fish

また -format json オプションで JSON 形式にもできる

{"etc" :
    {"bluetooth" :
        ["rfcomm.conf.dpkg-remove",
        "serial.conf.dpkg-remove",
        "input.conf",
        "audio.conf.dpkg-remove",
        "network.conf",
        "main.conf"],
    "fish" :
        {"completions" : "task.fish"}}}