Rust LSP를 만드는 게 어려운 이유
Why building a Rust LSP is hard

Rust LSP를 만들면서 겪은 어려움을 공유한다. LSP는 컴파일러와 달리 완벽한 정보 없이도 유용한 결과를 빠르게 제공해야 한다. 초기화 핸드셰이크, 가상 파일 시스템, 소스 세대 관리, 병렬 쿼리 처리 등 복잡한 문제가 얽혀 있다. 문서 심볼, 인레이 힌트, 참조 찾기 등 쿼리마다 요구하는 정밀도가 다르며, 특히 참조 찾기는 워크스페이스 전체를 뒤져야 하는 최종 보스다.
LSP를 만드는 일은 사용자 경험을 망치는 병리적인 경우에 관한 모든 것이다. 이것이 LSP가 어려운 이유 중 하나이기도 하다.