동적 구문 강조는 사용자가 직접 바꿀 수 있는 코드를 강조하는 거예요. 이런 일이 일어나는 곳은 온라인 에디터 한 곳뿐이에요.
코드 조각이나 이터레이션 같은 것은 사용자가 코드를 즉석에서 바꿀 수 없기 때문에 _정적_이에요. 정적 구문 강조를 어떻게 처리하는지 더 알고 싶다면 정적 구문 강조 문서를 확인해 봐요.
동적 구문 강조는 CodeMirror 라이브러리를 사용해요.
언어 지원을 추가할 때는 세 가지 선택지가 있어요:
언어에 대한 CodeMirror 지원을 활성화하려면 포럼에 새 주제를 올려요. 그러면 저희(Exercism)가 웹사이트에서 언어의 CodeMirror 지원을 활성화하는 Pull Request를 만들어 드려요.
기존 플러그인을 사용하려면 플러그인이 NPM에 게시되어 있어야 해요.
플러그인이 NPM에 게시되어 있지 않다면 다음 중 하나를 할 수 있어요:
CodeMirror 웹사이트에는 커뮤니티가 만든 언어 플러그인 목록이 있어요.
다음 단계는 언어를 활성화하는 거예요.
시작하기 위한 단계는 다음과 같아요:
codemirror-lang-... 저장소 목록을 확인해요.시작하는 데 도움이 되도록, 만들어 드린 저장소에는 확장하거나 다듬을 수 있는 최소한의 예제 문법이 들어 있어요.
저희 커뮤니티는 정말 친절하고 서로를 잘 도와주기 때문에, 이 과정을 진행하는 동안 기꺼이 도와줄 거예요! 막히면 Exercism 포럼에 새 주제를 올리거나 필요에 따라 exercism/exercism에 새 이슈를 만들어요 🙂
그다음 플러그인을 NPM에 게시해야 해요. 다음 단계는 언어를 활성화하는 거예요.
언어의 구문이 다른 언어의 구문과 (거의) 비슷한 경우에는 그 언어의 구문 강조를 사용하는 것을 고려할 수 있어요. 그러려면 다른 언어의 CodeMirror 플러그인을 사용해 트랙을 설정해요. 자세한 내용은 언어 활성화 섹션을 참고해요.