2

Я установил пакеты MarkdownExtended и MonokaiExtended , которые дают мне довольно неплохую подсветку для файлов уценки. Однако, будучи перфекционистом, я хочу раскрасить звездочки неупорядоченных списков в уценке. Цветовая схема установлена на Monokai Extended и я отредактировал этот файл .tmTheme папке « Packages/User/Color Highlighter/themes/Monokai Extended.tmTheme (осторожно, это большой большой текстовый файл) следующим образом:

    <dict>
        <key>name</key>
        <string>Markdown: List Items Punctuation</string>
        <key>scope</key>
        <string>punctuation.definition.list_item.markdown</string>
        <key>settings</key>
        <dict>
            <key>foreground</key>
            <string>#404b16</string>
        </dict>
    </dict>

Кажется, это именно то, что я ищу, однако цвет звездочек не меняется. Есть ли какой-то другой файл или позиция в файле, который мне нужно отредактировать? Что я упустил?

EDIT # 1

Кажется, с моим возвышенным текстом 3 возникли некоторые проблемы. Когда я открыл Monokai Extended.tmTheme файл раздулся и получил сто тысяч строк. Теперь я открыл его с помощью другого текстового редактора, а затем изменил значения следующим образом:

    <dict>
        <key>name</key>
        <string>Markdown: List Items Punctuation</string>
        <key>scope</key>
        <string>punctuation.definition.list_item.markdown</string>
        <key>settings</key>
        <dict>
            <key>fontStyle</key>
            <string>bold</string>
            <key>foreground</key>
            <string>#80Ab36</string>
        </dict>
    </dict>

Это приводит к следующему поведению:

Итак, первая звездочка уже раскрашена, только остальные отсутствуют ...

Резюме

  • SublimeText 3 (v3103)
  • Пакеты: Markdown Extended Monokai Extended
  • Подсветка синтаксиса установлена на Markdown Extended
  • Цветовая схема установлена на Monokai Extended
  • Хотите раскрасить звездочки неупорядоченных списков в файлах уценки

Выбранное решение

Я использовал код в принятом ответе, но немного его изменил, чтобы он включал звездочки с отступом:

list-paragraph:
- match: \G\s+(?=\S)
    push:
        - meta_scope: meta.paragraph.list.markdown
        - match: ^\s*$
            pop: true
        - match: '^([ ]{0,4}|\t{0,1})([*+-])(?=\s)'
            scope: punctuation.definition.list_item.markdown
        - match: '^([ ]{0,4}|\t{0,1})([0-9]+)(\.)(?=\s)'
            captures:
                1: punctuation.definition.list_item.markdown punctuation.definition.list_item.number.markdown
                2: punctuation.definition.list_item.markdown
        - include: inline

EDIT # 2

Я теперь изменил это снова, чтобы позволить только определенным отступам вызывать изменение цвета:

list-paragraph:
- match: \G\s+(?=\S)
    push:
        - meta_scope: meta.paragraph.list.markdown
        - match: ^\s*$
            pop: true
        - match: '^([ ]{2}|[ ]{4}|[ ]{6}|[ ]{8}|[ ]{10}|[ ]{12}|\t{0,3})([*+-])(?=\s)'
            scope: punctuation.definition.list_item.markdown
        - match: '^([ ]{2}|[ ]{4}|[ ]{6}|[ ]{8}|[ ]{10}|[ ]{12}|\t{0,3})([0-9]+)(\.)(?=\s)'
            captures:
                1: punctuation.definition.list_item.markdown punctuation.definition.list_item.number.markdown
                2: punctuation.definition.list_item.markdown
        - include: inline

1 ответ1

3

Вам нужно будет отредактировать файл определения синтаксиса Markdown Extended , который заблокирован в архиве .sublime-package архиве, поэтому сначала вам нужно установить PackageResourceViewer. После установки откройте командную палитру и введите prv чтобы вызвать параметры PackageResourceViewer. Выберите PackageResourceViewer: Open Resource , затем Markdown Extended , затем Markdown Extended.sublime-syntax . Меню выбора останется открытым, просто нажмите Esc, чтобы избавиться от него.

В Markdown Extended.sublime-syntax прокрутите вниз примерно до строки 1172 (в текущей версии она может измениться) до раздела, озаглавленного list-paragraph . Это должно выглядеть так:

list-paragraph:
  - match: \G\s+(?=\S)
    push:
      - meta_scope: meta.paragraph.list.markdown
      - match: ^\s*$
        pop: true
      - include: inline

Чтобы он распознавал несколько элементов списка, измените этот раздел на следующий:

list-paragraph:
  - match: \G\s+(?=\S)
    push:
      - meta_scope: meta.paragraph.list.markdown
      - match: ^\s*$
        pop: true
      - match: '^\s{0,4}([*+-])(?=\s)'
        scope: punctuation.definition.list_item.markdown
      - match: '^\s{0,4}([0-9]+)(\.)(?=\s)'
        captures:
          1: punctuation.definition.list_item.markdown punctuation.definition.list_item.number.markdown
          2: punctuation.definition.list_item.markdown
      - include: inline

Сохраните файл (он должен автоматически сохраниться в нужном месте), и ваши элементы списка теперь должны быть выделены соответствующим образом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .