언어서버 프로토콜
Language Server Protocol
코드 편집기가 자동완성·오류표시·정의로 이동 같은 기능을 여러 프로그래밍 언어에서 똑같이 쓰도록 정한 통신 규칙
쉽게 말하면
언어서버 프로토콜은 코드를 쓰는 프로그램(에디터)과, 그 코드의 문법을 실제로 이해하는 프로그램(언어서버) 사이의 공용 대화 방식이에요. 통역사를 하나 두고 여러 나라 사람이 그 통역사와만 약속된 방식으로 말하면, 어느 나라 말이든 소통이 되는 것과 비슷해요. 에디터는 통역사에게 정해진 형식으로 물어보기만 하면 되고, 실제로 이 코드가 파이썬인지 자바인지 자바스크립트인지는 언어서버 쪽에서 알아서 처리해요.
이 방식이 있기 전에는 에디터를 만드는 회사마다, 지원하는 프로그래밍 언어마다 자동완성이나 오류 표시 기능을 따로따로 만들어야 했어요. 언어서버 프로토콜을 쓰면 에디터 하나가 이 규칙만 지원하면 그 규칙을 따르는 어떤 언어서버든 연결해서 쓸 수 있어요. 즉 에디터와 언어 이해 기능을 분리해서, 조합을 자유롭게 만드는 게 핵심이에요.
