JANOG43 の発表スライドです。
NETCONFを使えば、ネットワークデバイスから様々な情報を取得できます。設定データのスキーマ(文法) もそのひとつです。
このトークでは、NETCONFのスキーマ定義からCLI文法の抽象構文木を構築し、ネットワークデバイス向けの設定ファイルエディターをつくる方法を紹介します。
今回選んだスキーマは 100MB / 230万行におよびますが、このように作成することで細やかなキーワード補完 / 文法チェック / シンタックスハイライト が可能です。
NETCONF本来の目的とは違った方向への転用ですが、非常に便利です。
また、サンプルとしてLanguage Serverを実装しました。Visual Studio Codeによる実装ですが、vimやemacsなど多種多様なエディターをサポートできる可能性についても言及します。