2017-01-20 2 views
0

У меня есть плагин с использованием команды add_regions для рисования подчеркиваний для определенных регионов.Как окрасить подчеркнутую подчеркивание в Sublime Text 3?

У меня также есть таможня tmLanguage и tmTheme, поэтому я могу контролировать стиль шрифта/цвет переднего плана и т. Д. Для областей, которые я установил.

Теперь, я хочу, чтобы мои подчеркивания были конкретным цветом (а не стандартным цветом белого цвета ST3) ... Я знаю, что это возможно, потому что проверка орфографии в ST3 имеет красную подчеркнуто подчеркивающую черту.

Я ткнул меня на изменение области/настроек/клавиш и т. Д. В моей команде tmTheme и моей плагине add_regions, но ничего не кажется.

Любое направление было бы очень полезно!

+1

, используя различные возможности для меня, чтобы изменить цвет подчеркивания - выберите текст и введите его в консоли, чтобы увидеть эффект 'view.add_regions ('test', [view .sel() [0]], 'entity.name.tag', '', sublime.DRAW_STIPPLED_UNDERLINE | sublime.DRAW_NO_FILL | sublime.DRAW_NO_OUTLINE) ', а затем изменить' entity.name.tag' на 'comment' или' string 'и т. д. –

+0

@KeithHall Интересно ... Я протестировал его и, похоже, сработал. Поэтому я должен использовать совершенно другую область для источника цвета ... Я буду тестировать его еще и отчитываться :) –

+0

@KeithHall - Работаю как шарм !!! Спасибо! Не стесняйтесь писать ответ, и я соглашусь (или я могу написать ответ, если вы не заботитесь о карме). –

ответ

1

Вы можете просто установить область манекена в вашем файле tmTheme с параметром foreground, оцененным цветом, в котором вы хотите подчеркнуть. Затем передайте это имя области действия на вызов функции add_regions.

Пример желтого подчеркиванием ...

В файле tmTheme:

... 
<dict> 
    <key>name</key> 
    <string>Yellow Underline</string> 
    <key>scope</key> 
    <string>underline.yellow.text</string> 
    <key>settings</key> 
    <dict> 
    <key>foreground</key> 
    <string>#FFFF00</string> 
    </dict> 
</dict> 
... 

В плагине:

# ... 
# set regions variable above 
view.add_regions('key', regions, 'underline.yellow.text', '', sublime.DRAW_STIPPLED_UNDERLINE | sublime.DRAW_NO_FILL | sublime.DRAW_NO_OUTLINE) 
# ... 

Та-да! Теперь у вас должны быть желтые подчеркивания :)