Автор Тема: Как изменить цвета отображаемых табов и пробелов?  (Прочитано 5702 раз)

DenisRaznov

  • Newbie
  • *
  • Сообщений: 18
Как изменить цвета отображаемых табов и пробелов. В приложении картинка с тем, что иммется ввиду. Я так понимаю, это настраивается в теме. Подскажите, пожалуйста, какой параметр там следует указать?
« Последнее редактирование: Мая 28, 2014, 12:13:16 от DenisRaznov »

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 612
<key>settings</key>
<dict>
  <key>invisibles</key>
  <string>#000000</string>
</dict>

Рекомендую TmTheme Editor.

DenisRaznov

  • Newbie
  • *
  • Сообщений: 18
Меняю этот параметр, сохраняю, но ничего не происходит. Цвета отображаемых табов и пробелов остаются прежними.

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 612
Угу. Проверил, не помогает.

Есть вариант в основных настройках цветовой схемы изменить цвет:

<key>foreground</key>
<string>#E8E0CE40</string>

Но он влияет на цвет текста по-умолчанию.

Альтернативный вариант, добавить селектор в *.tmLanguage

<dict>
   <key>match</key>
   <string>^[\t\s]+</string>
   <key>name</key>
   <string>meta.tab</string>
</dict>

Посл этого в цветовой схеме его можно будет настроить

    <dict>
       <key>scope</key>
       <string>meta.tab</string>
       <key>settings</key>
       <dict>
          <key>foreground</key>
          <string>#FFff00</string>
       </dict>
    </dict>

DenisRaznov

  • Newbie
  • *
  • Сообщений: 18
А в *.tmLanguage этот код селектора надо куда-то в особое место вставлять? Я извиняюсь, если это глупый вопрос.
Пробовал вставлять его в разные места, упаковывал обратно в PHP.sublime-package, с определением нового цвета селектора в файле темы - ничего не происходит, даже после перезагрузок.

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 612
Перезагружать не обязательно.

Селектор должен быть в блоке <key>patterns</key>.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>txt</string>
</array>
<key>name</key>
<string>Some Text</string>
<key>patterns</key>
<array>
<dict>
   <key>match</key>
   <string>^[\t\s]+</string>
   <key>name</key>
   <string>meta.tab</string>
</dict>
</array>
<key>scopeName</key>
<string>text.plain</string>
</dict>
</plist>

DenisRaznov

  • Newbie
  • *
  • Сообщений: 18
Возможно я что-то не так делаю...
Единственный вариант, который нашёл, при котором не выдаёт ошибку, при этом цвета не изменяются.
« Последнее редактирование: Мая 28, 2014, 16:58:18 от DenisRaznov »

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 612
Вроде все правильно, но в случае с PHP следует иметь ввиду, что он работает в паре с HTML. И там селекторы могут перекрываться друг другом. Я глубоко темизацию не копал, вряд ли подскажу более точно.
Плюс к этому,  невидимые символы похоже имеют полупрозрачность и не будут точно соответствовать заданному значению.

Вот как-то так получилось у меня.

Если решил заняться темизацией, советую поставить ScopeHunter. Он подскажет где какие селекторы.
« Последнее редактирование: Мая 28, 2014, 18:14:43 от Loac »

DenisRaznov

  • Newbie
  • *
  • Сообщений: 18
Большое спасибо за консультации и за сслыку на плагин!
В общем у меня был установлен color highlighter, из-за него глючили темы. После его удаления и внесения селектора, цвета стали меняться.
Теперь всё так, как я мечтал ))) Sublime первый редактор, который позволил настроить этот параметр.