はじめにみなさん、こんにちは! Future Engineer Camp 2022に参加した川渕と齋藤です。 今回のインターンではSQLフォーマッタをRustで作成しました。私達が取り組んだ内容を紹介します。 SQLフォーマッタとはSQLフォーマッタとはSQLを統一された体裁にフォーマットしてくれるツールです。体裁を統一することで他人が見ても読みやすいコードになり、生産性が向上します。 以下の図のように、インデントなどが揃って読みやすくなっていることがわかります。 背景フューチャーではすでにSQLフォーマッタを開発、利用しています。(記事) しかし、そのフォーマッタには以下の2点の問題点があります。 厳密な構文解析を行わずにトークンベースで処理を行っているため、難しい処理がある(例: 括弧の処理、エイリアスの補完など) Pythonで書かれているためVSCodeの拡張機能で動かすことが困難