인형의 맞춤 gedit 구문 강조?


15

gedit를 강조 표시하는 사용자 정의 구문을 만들고 싶습니다.

몇 가지 다른 항목이 있습니다.

2 개의 탭으로 시작하는 라인. ----- 하나의 색상. 3 개의 탭으로 시작하는 줄입니다. ----- 다른 색. 4 개의 탭으로 시작하는 줄입니다. ----- 다른 색. INT로 시작하는 줄. 또는 EXT. ----- 다른 색.

시나리오를 작성하기위한 것입니다.

나는 gedit에 대한 언어 정의 위키 페이지를 보았지만 그것은 내 머리 위에 있습니다.

내가 할 수있는 간단한 방법이 있습니까?

답변:


16

다음은 GtkSourceView 참조 매뉴얼, Language Definition v2.0 Tutorial and Reference 에서 파생 된 것 입니다.

다음 내용으로 /usr/share/gtksourceview-2.0/language-specs/screenplay.lang 파일을 루트로 작성하십시오.

<?xml version="1.0" encoding="UTF-8"?>
<language id="screenplay" _name="Screenplay" version="2.0" _section="Markup">
  <metadata>
    <property name="mimetypes">text/plain</property>
    <property name="globs">*.script</property>
  </metadata>
  <styles>
    <style id="indent2" _name="2x indented"  map-to="def:comment" />
    <style id="indent3" _name="3x indented"  map-to="def:constant" />
    <style id="indent4" _name="4x indented"  map-to="def:identifier" />
    <style id="intext"  _name="INT. or EXT." map-to="def:statement" />
  </styles>
  <definitions>
    <context id="screenplay">
      <include>
        <context id="indent4" style-ref="indent4">
          <start>^\t\t\t\t</start>
          <end>$</end>
        </context>
        <context id="indent3" style-ref="indent3">
          <start>^\t\t\t</start>
          <end>$</end>
        </context>
        <context id="indent2" style-ref="indent2">
          <start>^\t\t</start>
          <end>$</end>
        </context>
        <context id="intext" style-ref="intext">
          <start>^(INT|EXT)\.</start>
          <end>$</end>
        </context>
      </include>
    </context>
  </definitions>
</language>

다음을 실행하여 파일을 읽을 수 있는지 확인하십시오.

sudo chmod 0644 /usr/share/gtksourceview-2.0/language-specs/screenplay.lang

gedit를 다시 시작하십시오. 이제 *.scriptgedit에서 연 파일 이름 은 하단의 상태 표시 줄에 "Screenplay"유형을 표시해야합니다. 2, 3 또는 4 개의 탭으로 들여 쓰기 된 줄은 각각 파란색, 자홍색 및 녹청으로 표시되고 INT로 시작하는 줄은 색으로 표시되어야합니다. 또는 EXT. 빨간색과 대담한 얼굴입니다.

몇 가지 방법으로 조정할 수 있습니다.

  • .script파일 이름 접미사는 "globs와"속성에 5 행에 설정되어 있습니다. 이를 명백한 방식으로 변경하고 원하는 경우 세미콜론 ( ;)으로 구분하여 여러 값을 포함 할 수 있습니다 .

  • 들여 쓰기 및 INT에 적용되는 색상입니다. 그리고 EXT. 선은 gedit에서 선택한 특정 색 구성표에 따라 다릅니다. 주석, 상수, 식별자 및 명령문 스타일의 색상입니다 (예 : map-to="def:comment"기타 등등). 다른 결과를 얻으려면 gedit 색 구성표 (편집> 환경 설정> 글꼴 및 색)를 변경하거나 태그 에서 map-to값을 다시 정렬하십시오 <style>. 더 많은 제어를 원하면 다음과 같이 고유 한 색 구성표를 만들 수 있습니다.

    cd /usr/share/gtksourceview-2.0/styles
    sudo cp classic.xml screenplay.xml
    

    screenplay.xml을 루트로 편집하십시오. 주석이 아닌 처음 세 줄을 다음과 같이 바꾸십시오.

    <style-scheme id="screenplay" _name="Screenplay" version="1.0">
      <author>YAS</author>
      <_description>Screenplay color scheme</_description>
    

    그런 다음 bold="true"def : comment, def : constant, def : identifier 및 def : statement 스타일 의 색상 (및 다른 스타일도 )을 조정하십시오 . gedit를 다시 시작하고 gedit의 색 구성표를 Screenplay로 변경하여 새 색을 확인하십시오. 그러나 이것은 세계적인 변화입니다. 다른 파일을 편집하기 위해 일반 색 구성표로 다시 변경할 수 있습니다.

screenplay.lang 또는 screenplay.xml 파일을 변경할 때마다 gedit를 다시 시작하여 결과를 확인해야합니다.


그랬어! 대박!
YAS

감사합니다. 유사한 유스 케이스를 사용하여 관련되어 있지만 물리적으로 이질적인 라인을 같은 색상으로 강조 표시하면 많은 도움이되었습니다.
Eloff
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.