Подсветка синтаксиса gedit для чайников?

Я хочу сделать (иметь) подсветку пользовательского синтаксиса для gedit.

было бы всего несколько различных элементов:

строка, начинающаяся с 2 вкладок. ----- Один цвет.
Строка, начинающаяся с 3 вкладок. ----- Другой цвет.
Строка, начинающаяся с 4 вкладок. ----- Другой цвет.
и строка, которая начинается с INT. или EXT. ----- другой цвет.

Это для написания сценария.

Я посмотрел на вики - страницу определения языка для гедит, но это выше моего понимания.

есть ли простой способ сделать это?

11
задан YAS
02.04.2023 15:14 Количество просмотров материала 3236
Распечатать страницу

1 ответ

следующей была получена из справочника GtkSourceView, определение языка В2.0 учебник и Reference.

создайте файл/usr/share/gtksourceview-2.0/language-specs / screenplay.lang (как root), со следующим содержанием:

<?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. Теперь любой файл с именем *.script, что вы открываете в gedit должен показать тип "Сценарий" в строке состояния внизу. Строки с отступом в 2, 3 или 4 табуляции должны быть окрашены в синий, пурпурный и голубой цвета соответственно, а строки, начинающиеся с INT. или EXT. будет красное и жирное лицо.

вы можете настроить это несколькими способами:

  • .script суффикс имени файла задается в строке 5 в свойстве" globs". Вы можете изменить это очевидным образом и при необходимости включить несколько значений, разделенных точкой с запятой (;).

  • цвета, которые вы получаете для отступа и INT. и внутр. линии зависят от конкретной цветовой схемы, выбранной для gedit. Это цвета стилей комментариев, констант, идентификаторов и операторов (that's what map-to="def:comment" etc. делать.) Чтобы получить другие результаты, вы можете изменить цветовую схему gedit (Edit > Preferences > Fonts and Colors) или изменить порядок map-to значения <style> теги. Если вы хотите больше контроля, вы можете создать ваша собственная цветовая гамма выглядит следующим образом:

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

    изменить сценарий.xml (как корень). Замените первые три строки без комментариев на:

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

    затем настройте цвета (и, возможно, другие стили тоже, например,bold="true") из def:комментарий, def:константа, def:идентификатор и Def:стили оператора. Перезапустите gedit еще раз и измените цветовую схему gedit на Screenplay, чтобы увидеть новые цвета. Обратите внимание, что это глобальное изменение; вы можете вернуться к обычному цвету схема редактирования других файлов.

обратите внимание, что в любое время изменить сценарий.Лэнг или сценарий.xml-файлы, вам придется перезапустить gedit, чтобы увидеть результаты.

14
отвечен Andrew Schulman 2023-04-03 23:02

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх