Thorn (thornik) wrote,
Thorn
thornik

Categories:

Редактор цветов для Sublime Text

Написал утилитку для редактирования "цветовых тем" - Sublime Colorizer:



Так как вы всё равно без пузыря не разберётесь, написал пошаговую инструцкию -


  1. Открываем при помощи 7z или Total Commander архив "c:\Program Files\Sublime Text 3\Packages\Color Scheme - Default.sublime-package" (обычный zip)
  2. Копируем оттуда любую схемку, которая вам понравилась. Переименовываем файл схемы в свой личный брэнд, например "Pupkin.sublime-color-scheme"
  3. Открываем схему в редакторе и сразу же на последней вкладке "Properties" указываем свои данные.
  4. Вся работа начинается с пал-литры палитры (вкладка "Variables").



    Здесь вы определяете самые употребимые цвета будущей гаммы. Плюсик на тулбаре вводит новое имя. А удалить имя можно просто крестиком напротив (самая правая кнопка). Кнопка слева от крестика - "выбрать цвет". Ещё левее идут 4 сэмпла, которые показывают как будет выглядеть цвет (назовём его "крем"): чёрный на креме, белый на креме, кремом по чёрному, кремом по белому. Т.е. сразу видно, как ваш цвет будет контрастировать с остальными. Имена цветам можно давать в любое время, даже если вы уже создали все синтаксические подсветки.
  5. Теперь переходим к вкладке "Globals" - там задаются цвета глобально для всего редактора - цвет курсора, выделения, линий и т.п. (пояснения видны, если навести мышь на имя)



    Если цвет задан - справа от имени глобальной установки будет галочка. Если нажать крестик, то эта настройка очистится и будет иметь значение по-умолчанию. Далее, как в Variables, идут 4 сэмпла для выбраного цвета. Затем уже знакомая кнопка палитры (выбрать цвет напрямую) и за нею - кнопка с выбором названия цвета (те самые имена, что мы определили в палитре).
  6. Ну и наконец, самая долгожданная часть - разрисовывание синтаксиса!



    В Sublime он сделан откровенно бестолково, но что уж есть. Каждый элемент синтаксиса определяется при помощи scope (некий текстовый идентификатор), который говорит, какую часть языка мы подсвечиваем - например, "string" - строки. Для этого scope мы задаём цвет букв(FG), фона(BG) и три стиля - жирный, наклонный, подчёркнутый. Если цвет не задан, он выглядит как штриховка (очистить цвет можно кликнув на FG или BG ссылки). Сам цвет можно задать, кликнув на прямоугольник сэмпла.
    Если кликаешь с шифтом - то цвет задаётся переменной, а если без - обычный выбор цвета. При клике на scope-ссылку (перед текстовым полем) можно выбрать элемент синтаксиса из минимального набора, рекомендуемого разработчиком, но самих scope гораздо больше и их можно свободно задавать в соотв. текстовом поле (документация по scope).
    Как только scope и его атрибуты заданы, жмём кнопку [add] - элемент добавится в список выше и сразу отобразится как он будет в редакторе. Если же хочется изменить существующий цвет, выделяем scope в списке (его данные скопируются в тулбар снизу), меняем цвета и жмём [set] - изменения сразу же применятся к текущему элементу. Аналогично, можно выделить scope и нажать [Delete] для удаления.
    В поле scopes можно задавать сразу несколько имён (через запятую) - все они получат одни и те же атрибуты.

    Чтобы посмотреть, как цвета будут выглядеть на вашем любимом бэкграунде, внизу справа есть метка Custom BG - кликните на её сэмпл и выберите нужный цвет - весь список scopes сразу же отобразится поверх него. Этот цвет не сохранится! Для сохранения бэкграунда в палитре, его нужно задавать на вкладке Globals - "background". Кстати, при открытии любой схемы, её бэкграунд автоматом копируется в это Custom BG.


Итак, после задания всех мыслимых цветов, жмём [Save] и выбираем файл для сохранения. Во время сохранения, те цвета, которые соответствуют именам палитры, заменяются на эти имена ("var(black)" например), остальные сохраняются в простом #RRGGBB. Нахера там напридумывали идиотию с #RGB, HSLA и именами - ума не приложу.
А далее всё просто: запаковываем наш "Pupkin.sublime-color-scheme" обратно в "Color Scheme - Default.sublime-package". Затем запускаем Sublime, меню Preferences -> Color Scheme... - выбираем свою тему и больше никогда не видим этих ублюдочно-кислотных стандартных тем.
В поставке SublimeColorizer'а идёт моя собственная схема Thorn - слегка модифицированная от Visual Studio светлая тема без попугайских цветов.

Но не особо обольщайтесь касательно Sublime: редактор - он и есть редактор! Примитивнейшие средства разбора синтаксиса, годные разве что для HTML. На C# оно лажает по полной.

Requirements: вам понадобится .NET FW 4.8, а так же Awesome Font.

Поле для улучшения:

  • Не поддерживаются заморочки типа "color(var(dark_gray) a(0.08))" - писать под них парсер - долго и уныло, а толку - ноль. При чтении такие поля просто обнуляются.


Tags: #rgb, #rrggbb, color, colorizer, editor, sublime, text, theme
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments