그래서 CodeMirror는 modes
to tokenise its code을 사용합니다.
문서를 줄 바꿈하고 각 줄을 스트림으로 만든 다음 미리 정의 된 mode
에 삽입합니다. state
매개 변수를 사용하여 여러 줄에 걸쳐있을 수 있습니다.
ACE가 a similar method 인 것으로 보입니다.원자 텍스트 편집기는 어떻게 구문 분석/토큰 화 코드를 수행합니까? (구문 강조 표시)
이 두 가지 방법 중 어느 것도 RegExp를 본질적으로 사용하지 않습니다.하지만 분명히 모드를 만드는 사람은 누구나 RegExp에서 해당 모드로 코딩 할 수 있습니다.
Atom의 코드와 스타일을 읽었을 때 다른 구문 형광펜이 grammars
이고 TextMate에서 grammars
과 매우 유사합니다. grammars
은 클래스 이름과 RegExps (see how to write a TextMate grammar)가 포함 된 JSON 개체와 비슷합니다.
정확히 나를 구할 수 없다 정확히 어떻게 원자 텍스트 편집기는 상태를 유지하면서 다양한 범위를 확장하여 실제로 코드 구문 분석을 수행합니다.
누군가가 올바른 방향으로 나를 가리킬 수 있다면 좋을 것입니다.
좋은 지적! 고마워. 고마워. –