2016-09-16 9 views
0

현재 (수동으로) 텍스트 파일에서 정보를 추출하려고합니다. 텍스트 파일은 괜찮은 형식 (파싱 가능)을 가지고 있지만 '임의 문자'와 같은 것을 포함합니다. 이 임의의 문자는 정보를 수집 할 수있는 알고리즘을 실행하여 완전히 랜덤하지 않습니다. 각 char에 양의 정수를 지정합니다.성의 텍스트 변경 텍스트 색상

질문은 내가 그 문자를 볼 수 있도록 도와주는 숭고한 텍스트 3 플러그인을 쓸 수 있는지 여부입니다.

해당 문자의 색상을 변경하고 싶습니다.

참고 : 동일한 문자열에 2 색의 문자가있을 수 있습니다. 색상은 위치에 따라 다릅니다.

그런 플러그인을 숭고한 텍스트 3으로 작성할 수 있습니까? 대신 사용할 수없는 경우? 각 숯에 점수를주는 알고리즘은 파이썬으로 작성됩니다.

+0

시도하지 않으셨습니까? – innoSPG

+0

나는 시험하고있다 그러나 나는 숭고한 api를 아주 잘 모른다. 전경색을 설정하는 방법을 찾을 수 없습니다. – Tandura

답변

0

Sublime API를 직접 사용해 본 경험이 없지만 내 파일에서 직사각형/외곽선으로 강조 표시하는 플러그인이 있습니다. api reference에서 지역을 처리하는 데 사용됩니다 나타납니다. 살펴보고 싶은 add_regions() 함수가 있습니다. 참조는이 함수를 사용하는 예제 플러그인으로 Packages/Default/mark.py를 나열합니다.

전경을 구체적으로 변경하는 경우 마지막 게시물 in this thread은 불가능 함을 나타냅니다.

+1

포럼 링크는 2013 년 1 월부터 Sublime Text 2를 참조합니다. 그 이후 API가 크게 개선되었습니다 (세미 공식 버그 추적기 및 대부분의 기본값이 있음). 패키지가 오픈 소스로 제공됨), 이제 가능합니다. 어떻게 대답했는지보십시오. – MattDMo

+0

@MattDMo 좋은 정보! – plast1k

1

Region 텍스트의 색을 설정하려면 색 구성표에 사용자 정의 scope selector이 있어야합니다. 그런 다음 강조 표시하고 지역으로 변환 한 텍스트를 선택하면 sublime.View (sublime_plugin.TextCommand 하위 클래스에서 액세스 할 수있는 self.view으로 액세스 가능) 방법을 사용하여보기에 영역을 추가하고 범위를 할당 할 수 있습니다 . 그러면 해당 영역이 색 구성표에 따라 강조 표시됩니다.

+0

'add_regions'의 scope 매개 변수는 하이라이트와 거터 표식을위한 색상을 검색합니다. 해당 범위는 해당 지역에 적용되지 않습니다. 따라서 텍스트 색상은 변경되지 않습니다. API 문서는 "범위를 사용하여 영역을 그리는 데 색상을 사용합니다"라고 읽습니다. MattDMo를 명확히 할 수 있습니까? – pykong

+0

플래그 매개 변수를 메소드에 전달하지 않으면 실제로 스코프에 색상이 지정됩니다. 플래그 매개 변수가 있으면 작동하지 않습니다. 귀하의 대답은 이것을 반영해야합니다, MattDMo! – pykong

0

CudaText app에서 Python API를 사용할 수 있습니다. API에는 코드를 실행하는 on_change_slow 이벤트가 있습니다. 그리고 코드는 텍스트 x/y 위치를 찾은 다음 ed.attr()을 호출하여 x/y의 하위 문자열을 색상으로 강조 표시합니다. 간단 해.