Создать собственную подсветку синтаксиса в gedit

8

Следуя моему давнему вопросу , я все еще пытаюсь настроить свои возможности по управлению состояниями. Отображение в терминале великолепно, остается только одно - подсветка синтаксиса в Gedit, когда я добавляю, редактирую или удаляю отдельные состояния.

Мои пользовательские файлы состояния в этом формате:

Friend: "Whats a good movie?"
Me: "Snakes on a plane"
Friend: "Whats it about?"
Me: "Horses... horses on a boat..."
@AYYSIAN
%
Me on my wedding: you still like me, right?
@ComedyPosts
%
Mum: Son I'd love to meet your girlfriend...
Me: Me too...
@ComedyTruth
%
Doctor: "Ok, so what's wrong, how are you feeling?"
Me: *Looks at mum waiting for her to explain*
@ChildhoodFact
%
Friend: 75% of people are good at maths...
Me: Mmmmh, I guess then am in the remaining 18%...
@TheFunnyTeens
%
I loved the Titanic. My favorite character was the iceberg
@__GrumpyCat

Это в основном a tweet, @nameи %характер. Тогда повторите.

Когда я открываю его в Gedit, все черное.
Я ищу способ создать файл подсветки синтаксиса, который будет преобразовывать в %что-то вроде синего, а в @nameчто-то вроде пурпурного. Твит может оставаться черным.

НОТА:

  1. Файлы удачи имеют тип mime, text/plainи только данный формат действительно отличает их от другого простого текстового файла.
  2. Файлы Fortune не имеют расширения.
Parto
источник

Ответы:

8

Создайте и откройте свой языковой файл удачи:

sudo touch /usr/share/gtksourceview-3.0/language-specs/fortune.lang
sudo -i gedit /usr/share/gtksourceview-3.0/language-specs/fortune.lang

Вставьте следующее:

<?xml version="1.0" encoding="UTF-8"?>
<language id="fortune" _name="Fortune" version="2.0" _section="Markup">
  <metadata>
    <property name="mimetypes">text/plain</property>
    <property name="globs">*.</property>
  </metadata>

  <styles>
    <style id="at"      _name="@ sign"  map-to="def:constant" />
    <style id="percent" _name="percent sign"  map-to="def:comment" />
  </styles>
  <definitions>
    <context id="fortune">
      <include>
        <context id="at" style-ref="at">
          <start>@</start>
          <end>$</end>
        </context>
        <context id="percent" style-ref="percent">
          <start>%</start>
          <end>$</end>
        </context>
      </include>
    </context>
  </definitions>
</language>

Убедитесь, что это доступно:

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

Перезапустите Gedit.

Ссылка - мой источник ответа

Мои местоимения Он / Он

Тим
источник
Большое спасибо, попробую это. Одна вещь, однако, файлы удачи не имеют расширения, причина text/plainтипа MIME. Это значит <property name="globs">*.fort</property>становится <property name="globs">*</property>?
Парто
@Parto Это применимо ко всем файлам без расширения, но, как большинство из них .txt, это было бы хорошо. Измените это на <property name="globs">*.</property>, и я обновил ответ этим!
Тим
2
Огромное спасибо. Я просто использовал это, чтобы добавить подсветку синтаксиса Twig в gedit.
TRiG
@TRiG Рад, что помог!
Тим