Изменение файлов gtksourceview с добавлением стиля

Я хочу изменить способ отображения маркеров списка файлов уценки в GEdit в теме tomorrow_night-eighties.xml, который я скачал с https://wiki.gnome.org/Projects/GtkSourceView/StyleSchemes. Я знаю, что GEdit загружает свои языковые спецификации из

/usr/share/gtksourceview-3.0/language-specs/

Файл языка разметки markdown.lang, Стили находятся в моем каталоге пользователей:

~/.local/share/gtksourceview-2.0/styles

Я сделал следующее:

  1. Я добавил: <style name="markdown:list-marker" foreground="#cc99cc" bold="true"/> к списку доступных стилей в стиле document.in моего пользователя .local/share/.... папка.

  2. Я изменил в спецификации языка:

    <style id="list-marker" _name="List Marker" map-to="markdown:list-marker"/>в <styles>...</styles> регион / тег, чтобы сделать его доступным для ссылки ниже.

Моя тема настроена на tomorrow_night-eighties.xml один у меня в моем ~/.local/share/gtksourceview-2.0/styles и файл уценки открывается. После изменения GEdit больше не выделяет маркеры списка.

Чего я не понимаю, так это того, чего не хватает? Я только изменил ссылку и ввел новый стиль, но не изменил регулярное выражение, так почему же это мешает выделению?

2 ответа

Похоже, что GEdit не замечает автоматически изменения в этих файлах, и нужно повторно импортировать стили в настройках и просто для уверенности также перезапустить GEdit, если языковой файл изменился.

Ошибка с идентификаторами для <context> а также <language> теги при создании id= атрибут, возможно, также для <style> ярлык.

см. также в stackexchange

Приведенный ниже набор прототипов тестов был запущен в этой среде:

      linuxuser@ubuntu:~$ gedit  -V
gedit - Version 3.28.1

linuxuser@ubuntu:~$ uname -a
Linux ubuntu 4.15.0-74-generic #84-Ubuntu SMP Thu Dec 19 08:06:00 UTC 2019 i686 i686 i686 GNU/Linux

linuxuser@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:    18.04
Codename:   bionic

Языковой файл набора тестов, демонстрирующий эту ошибку:

      <?xml version="1.0" encoding="UTF-8"?>
<!--
 This file is part of GtkSourceView
 special mods for extended background highlighting and comments MJS aka etx 2021

id (mandatory)
Identifier for the description. 
This is used for external references and must be unique among language descriptions. 
It can contain a string of letters, digits, hyphens ("-") and underscores ("_"). NOT!!!

as follows for   id    attribute of both tags     language   &   context

empirical evidence gathered via simultaneously changing both id's to be identical

fails  reliably:    xRef
fail unreliably:    x-ref   X_-ef3
    but     aOk:    xref  xref3   x-ref3
-->
<language id="xRef"   name="C..C xref augment cpp"   version="2.0" _section="other">

  <definitions>     
    <context id="special-multiline-comment" style-ref="def:note" >   <!-- hi-liter -->
      <start>/(\*  ..  ..  ..  \*)+/</start>
      <end>\%{0@start}</end>
    </context>

    <!--Main context-->
    <context  class="no-spell-check"   id="xRef" >
      <include>

        <context ref="special-multiline-comment"/>    <!--  override MUST precede to supercede  -->

        <!-- actual language definition: editing hi lite stuff plus everything from C++ -->
        <context ref="cpp:cpp"/>

      </include>
    </context>
  </definitions>
</language>
Другие вопросы по тегам