2014-10-20 2 views
-3

이 예제에서 색상이이 정규식과 어떻게 일치하는지 이해할 수 없습니다.돋보이는 텍스트의 채색 강조

name: logfile 
scopeName: source.log 
fileTypes: 
- log 
patterns: 
- match: \b(ERROR|Error)\b 
    name: constant.language.log 
uuid: 8728e0fe-14c6-4374-acde-da1857d0a378 
+1

귀하의 질문은 명확하지 않습니다. 그것을 편집하고 추가 세부 사항을 추가하십시오. – MattDMo

+0

숭고한 텍스트에서 우리는 패키지 AAAPackageDev를 사용하여 강조 표시를 할 수 있습니다. 채색은 정규식 검색을 기반으로합니다. 이 예제에서는 정규식이 어떻게 만들어 졌는지는 알지만 색상이 어떻게 연관되어 있는지는 알지 못합니다. – lachouille

+0

가능합니다. 그리고 ...? – MattDMo

답변

0

귀하의 질문에 YAML은 .tmLanguage XML/PLIST 형식으로 PackageDev에 의해 컴파일됩니다. 각 정규식은 하나 이상의 scopes과 연결됩니다. 범위는 본질적으로 이름이있는 편집 버퍼의 특정 영역입니다 (이 경우 constant.language.log). 버퍼가 수정됨에 따라 Sublime (및 원래 TextMate가 원래 의도했던 곳)은 .tmLanguage 구문 정의 파일의 정규식과 일치하는 텍스트를 검색하여 적절하게 이름을 지정합니다. 이 경우 단어 ERROR 또는 Error은 그 자체로 표시되며 constant.language.log 범위가 할당됩니다.

색은 사용자 환경 설정에 표시된 색 구성표 .tmTheme에서 비롯됩니다. 색 구성표 파일은 XML 기반이지만 정규식을 포함하는 대신 CSS 선택기와 비슷한 scope selectors을 사용합니다 (익숙한 경우). 각 범위 선택기에는 전경색, 배경색 및/또는 굵게 또는 기울임 꼴 텍스트를 지정할 수 있습니다. 따라서 예를 들어, 색 구성표에 constant (constant.language, constant.environment 등과 일치하는 선택기) 및 보라색으로 색칠하고 텍스트를 굵게 기울임 꼴로 만들 수있는 규칙이있을 수 있습니다. 이제 Sublime이 셀렉터 constant.*을 영역에 할당 할 때마다 색 구성표는 규칙에 따라 해당 영역의 스타일을 지정합니다.