2017-10-29 2 views
0

원자로 작업하는 개발자에게 반응하는/반응하는 개발자에게 질문. 편집기에서 중첩 된 JSX 요소 및 언어 바벨 패키지가 이상하게 작동합니다. 스크린 샷을 살펴보십시오. 자체 마감 구성 요소 <Scene/>을 슬래시 앞에 공백없이 쓴 경우 상위 태그의 여는 태그와 닫는 태그의 강조 표시는 ok이지만 공백 (<Scene />)을 추가하면 결과가 좋지 않습니다. 나는 그것이 원자 또는 언어 바벨 문제인지 파악하려고 노력하고 있으므로 github에서 문제를 열어 볼 수 있습니다. 코드 폴딩/언 폴딩이 두 경우 모두 잘 작동하기 때문에 문제는 언어 바벨 (babel)입니다. 아이디어가 있으십니까? enter image description here enter image description here원자, 중첩 된 JSX 요소의 잘못된 강조 표시

답변

1

나는 그것이 language-babel 패키지에 문제가 있다고 생각. 특히 grammars/Babel Language.json에서, jsx-tag-element-name 아래 :

"end": "\\s*(?<=</)((\\4)|\\2)(>)|(/>)|((?<=</)[\\S ]*?)>", 

이를 찾을 수이 정규식을 통해 길의 약 2/3 :

|(/>)| 

하나 개 다른 선택으로, 끝이 가능한 것으로 어느 정확히 />이되어야합니다. 여기에는 공백이 허용되지 않습니다. 그것은 당신이보고있는 것과 일치합니다.

\\s*(?<=</)((\\4)|\\2)(>)|(/\\s*>)|((?<=</)[\\S ]*?)> 
+0

나는 바벨 언어 '로 표현을 변경 :

나는 수정이 전체 정규식이 될 가지고, 즉

|(/\\s*>)| 

에 정규 표현식의 부분을 수정하는 것입니다 생각합니다. json'이지만 행동은 여전히 ​​동일합니다. 안타깝게도 정규 표현식에 대한 지식은 매우 기본적인 것입니다. 그러나 저는 당신의 논리를 보았습니다. 고맙습니다. 나는 파기를 계속할 것이다. –

+0

@DavidGevorgyan 변경 후 Atom을 다시로드 했습니까? Atom이 실행 된 후 얼마나 많은 캐싱을하는지 확신 할 수 없습니다. –

+0

나는 그랬다. 사실 나는 신선한 원자 설치에서 그것을 테스트했고 json 파일을 수정 한 후에'~/.config/Atom/Cache' 디렉토리를 삭제했습니다. –

관련 문제