2014-10-17 3 views
2

나는 angularJS를 사용하고 "app-data-grid", "app-slider", "app-carousel"또는 "app-compile-some"과 같은 명명 규칙을 따르는 다양한 지시문을 사용합니다 -template "등입니다. 기본적으로는 [app name]-[dash delimited words]의 일반 각도 지시문 명명 규칙입니다. 숭고한 텍스트 HTML 언어 구문 강조 표시가 정규 표현식과 올바르게 일치하지 않습니다. "<app-carousel" 또는 "<app-some-long-directive-name"에 '앱'이 강조 표시되지만 전체 태그 이름은 강조 표시되지 않습니다. I는 제 2 정합 기의 결장 후 대시를 추가하려고숭고 텍스트 구문 정규식이 작동하지 않음

(&lt;)([a-zA-Z0-9:]++)(?=[^&gt;]*&gt;&lt;/\2&gt;) 

:

(&lt;)([a-zA-Z0-9:-]++)(?=[^&gt;]*&gt;&lt;/\2&gt;) 

번째 정규식 정규식 시험기 일 여기

HTML.tmLanguage 파일의 소정 정규식 , 숭고한 본문에서는 효과가 없었습니다.

또한 AngularJS-HTML 언어 정의를 준 AngularJS 플러그인을 다운로드했습니다 ... 또한 동일한 문제가 있습니다.

정규식을 수정하여 강조 표시 할 전체 태그 이름과 일치시킬 수 있습니까?

+0

내가이 정규식 당신이 게시 된 내용과 일치하는 방법을 알고 해달라고 HTML Extended 숭고한 플러그인, 어떤 테스터에이 시도 않았다 당신이 당신의 샘플 텍스트로 무엇을 사용 했는가를 사용? – Vajura

+0

다음을 테스트하기 위해 [link] (http://www.regexr.com/ "RegExr")를 사용했습니다 :'([a-zA-Z0-9 : -] +)'예상대로 일치합니다 RegExr에서 일치하지만 Sublime에서는 일치하지 않습니다.Sublime의 원래 RegEx는 RegExr에서 작동하지 않습니다 (이중 플러스가 버렸습니다), 아마도 다른 엔진이 사용 되었기 때문입니까? 세 개의 단어와 하이픈이 일치하는지 테스트하기 위해 샘플 텍스트로 "blah-blah-blah"를 사용했습니다. –

+0

'++'는 실제로 regex에서 의미가 있습니다. 이것은 역 추적을 의미하지 않습니다. 좀 더 구체적으로 말하자면이 경우'(<)'에 일치하는 것이 발견되면'[a-zA-Z0-9 : -] +'에 가장 잘 맞는 것입니다. 이것이 전체 정규식에 대한 일치 항목으로 확장 될 수 없다면'(<)'에 대한 또 다른 일치 항목을 찾으려고합니다. 예를 들어'[a-zA-Z0-9 : -] ++'는'app-foo'와 일치 할 수 없기 때문에'< app-foo id = "foo" < app-foo >' 'app-foo id = "foo"'와 일치 할 수 있습니다. ('? +'와'{m, n} +'도 할 수 있습니다.) –

답변

0

HTML을 사용자 설정의 ignore_package 어레이에 추가 했습니까? 해당 항목을 사용하면 기본 HTML 구문 패키지를 재정의하므로 사용자에게 숭고한 표현이 적용되어 HTML.tmLanguage이됩니다.

나는 그가 이것을 설명하는 BoundinCode에서 this answer을 발견했다. 그리고 이것은 실제로 나에게 트릭을했다.

4

환경 설정 >> 설정 - 사용자로 이동하십시오. 이 JSON에

은 다음과 같이 ignored_packages 배열에 "HTML"라는 iten를 추가

"ignored_packages": 
    [ 
     "Vintage", 
     "HTML" 
    ] 

파일을 저장합니다.

이제 환경 설정 >> 패키지 찾아보기로 이동하여 HTML 디렉토리의 사본을 만들고 이름을 "HTMLAngularJS"로 변경하십시오.

HTMLAngularJS 디렉토리로 들어가서 "HTML.tmLanguage"파일의 이름을 "HTMLAngularJS.tmLanguage"로 바꿉니다.

편집 "HTMLAngularJS.tmLanguage"파일이 정규식을 모두 찾을 수 있습니다 :

<string>(&lt;)([a-zA-Z0-9:]++)(?=[^&gt;]*&gt;&lt;/\2&gt;)</string> Line 45 

and 

<string>(&lt;/?)([a-zA-Z0-9:]+)</string> Line 514 

그냥 슬래시를 추가하고 - 포인트 배 후, 다음과 같이해야한다 :

<string>(&lt;)([a-zA-Z0-9:\-]++)(?=[^&gt;]*&gt;&lt;/\2&gt;)</string> 

and 

<string>(&lt;/?)([a-zA-Z0-9:\-]+)</string> 

파일을 저장하고 행복하게!

감사합니다.

+0

환경 설정 파일을 저장할 때 패키지가 존재하지 않는다고 말합니다. 패키지를 탐색 할 때 HTML이라고하는 패키지가 없습니다. 나는 그것이 ST3에서만 다른지 궁금하다. – eddiemoya

1

관련 문제