自動補完つきエディターまとめ
フロントエンド側
エディター
- ブラウザ側でユーザの入力を受け付けたりする
TSで作ろう。
- 補完機能は
- 各言語に用意されているLanguage Server
- ↓
- Language Server Protocol LSPでLSに接続
- ↓
- エディターがLSPに接続して補完
使い方
GitHub - NipunaMarcus/web-editor
javascript - Get the value of Monaco Editor - Stack Overflow
react sugguest
LSP
language server protocol といって、エディターと補完機能とかの通信を行なうためのプロトコル。ココに接続するだけでエディターは言語の機能を使える。
monaco用LSP
GitHub - TypeFox/monaco-languageclient: NPM module to connect Monaco editor with language servers
バックエンド側
LS
language server といって、言語の補完とかをLSPに伝えるためのサーバ。
Goで作ろう。
解析手順
- 字句解析を行って、文字列、数値、予約後、関数、コメントとかタグ付けする
- 構文解析を行ってASTでデータ構造を作る
字句解析