Этот модуль добавляет поддержку управления стилем текста в Hammerspoon.
Более подробная документация разрабатывается и будет предоставлена в Вики Hammerspoon по адресу https://github.com/Hammerspoon/hammerspoon/wiki. Здесь представлена сокращенная версия документации, предназначенная для использования в Hammerspoon Dash docset и встроенной справке, предоставляемой командой help консоли Hammerspoon.
Следующий список пар "ключ-значение" атрибутов распознается этим модулем и может быть изменен, задан или удален для объектов с помощью различных методов, предоставляемых этим модулем. Список атрибутов приведен здесь для справки; где в документации вы видите ссылку на attributes key-value pairs, обратитесь обратно сюда за подробностями:
font - Таблица, содержащая имя и размер шрифта, указанные ключами name и size. По умолчанию используется системный шрифт размером 27 пунктов для hs.drawing текстовых объектов; в противном случае по умолчанию используется Helvetica размером 12 пунктов. Вы также можете указать это как строку, которая будет интерпретирована как имя шрифта в строке с размером по умолчанию при установке этого атрибута.
color - Таблица, указывающая цвет текста, как описано в hs.drawing.color. По умолчанию - белый для текстовых объектов hs.drawing; в противном случае по умолчанию - черный.
backgroundColor - По умолчанию nil, нет цвета фона (прозрачный).
underlineColor - По умолчанию nil, также как и color.
strikethroughColor - По умолчанию nil, также как и color.
strokeColor - По умолчанию nil, также как и color.
strokeWidth - По умолчанию 0, нет штриха; положительное значение - только штрих; отрицательное значение - штрих и заливка (типичное значение для контурного текста - 3.0).
paragraphStyle - Таблица, содержащая стиль абзаца. Эта таблица может содержать любое количество следующих ключей:
alignment - Строка, указывающая выравнивание текста. Строка может содержать значения "left", "right", "center", "justified", или "natural". По умолчанию - "natural".
lineBreak - Строка, указывающая, как текст, не помещающийся в прямоугольник drawingObjects, должен обрабатываться. Строка может быть одной из "wordWrap", "charWrap", "clip", "truncateHead", "truncateTail", или "truncateMiddle". По умолчанию - "wordWrap".
baseWritingDirection - Строка, указывающая основное направление записи для строк текста. Строка может быть одной из "natural", "leftToRight", или "rightToLeft". По умолчанию - "natural".
tabStops - Массив определенных позиций табуляции. По умолчанию - массив из 12 позиций табуляции с выравниванием по левому краю, расположенных на расстоянии 28 пунктов друг от друга. Каждый элемент массива может содержать следующие ключи:
location - Вещественное число, указывающее количество пунктов, на которое позиция табуляции смещена от начальной границы строки (см. baseWritingDirection).
tabStopType - Строка, указывающая тип позиции табуляции: "left", "right", "center", или "decimal"
defaultTabInterval - Положительное вещественное число, задающее расстояние по умолчанию до позиции табуляции в пунктах после последней назначенной позиции в поле tabStops.
firstLineHeadIndent - Положительное вещественное число, задающее расстояние, в пунктах, от ведущей границы рамки до начала первой строки абзаца. По умолчанию 0.0.
headIndent - Положительное вещественное число, задающее расстояние, в пунктах, от ведущей границы контейнера текста до начала строк, кроме первой. По умолчанию 0.0.
tailIndent - Вещественное число, задающее расстояние, в пунктах, от границы рамки до конца строк. Если положительное, это расстояние от ведущей границы (например, левой границы в тексте слева направо). Если 0 или отрицательное, это расстояние от хвостовой границы. По умолчанию 0.0.
maximumLineHeight - Положительное вещественное число, задающее максимальную высоту, которую любая строка в рамке может занимать, независимо от размера шрифта. Глифы, превышающие эту высоту, будут перекрывать соседние строки. Максимальная высота 0 означает отсутствие ограничения высоты строки. По умолчанию 0.0.
minimumLineHeight - Положительное вещественное число, задающее минимальную высоту, которую любая строка в рамке может занимать, независимо от размера шрифта. По умолчанию 0.0.
lineSpacing - Положительное вещественное число, задающее интервал в пунктах, добавляемый между строками в абзаце (обычно называемый интерлиньей). По умолчанию 0.0.
paragraphSpacing - Положительное вещественное число, задающее интервал в пунктах, добавляемый в конце абзаца для отделения его от последующего абзаца. По умолчанию 0.0.
paragraphSpacingBefore - Положительное вещественное число, задающее расстояние в пунктах между верхней частью абзаца и началом его текстового содержимого. По умолчанию 0.0.
lineHeightMultiple - Вещественное число, задающее множитель высоты строки. Естественная высота строки получателя умножается на этот множитель (если он не равен 0), прежде чем быть ограниченной минимальной и максимальной высотой строки. По умолчанию 0.0.
hyphenationFactor - Коэффициент переноса, значение от 0.0 до 1.0, контролирующее, когда будет выполняться перенос. По умолчанию значение 0.0, что означает отключение переноса. Коэффициент 1.0 вызывает попытку переноса всегда.
tighteningFactorForTruncation - Вещественное число. При режиме разрыва строки, задающем обрезку, система пытается уменьшить интервал между символами как альтернативу обрезке, при условии, что отношение ширины текста к ширине фрагмента строки не превышает 1.0 + значение tighteningFactorForTruncation. В противном случае текст обрезается в позиции, определенной режимом разрыва строки. Значение по умолчанию 0.05.
allowsTighteningForTruncation - Булево значение, указывающее, может ли система уменьшить интервал между символами перед обрезкой текста. Доступно только в macOS 10.11 и более поздних версиях. По умолчанию true.
headerLevel - Целое число от 0 до 6 включительно, которое указывает, следует ли рассматривать абзац как заголовок и на каком уровне для целей генерации HTML. По умолчанию 0.
superscript - Целое число, указывающее, отображается ли текст как верхний индекс (положительное значение), нижний индекс (отрицательное значение) или нормальный (0).
ligature - Целое число. По умолчанию 1, стандартные лигатуры; 0, нет лигатур; 2, все лигатуры.
strikethroughStyle - Целое число, представляющее стиль линии перечеркивания. См. hs.styledtext.lineStyles, hs.styledtext.linePatterns и hs.styledtext.lineAppliesTo.
underlineStyle - Целое число, представляющее стиль подчеркивания. См. hs.styledtext.lineStyles, hs.styledtext.linePatterns и hs.styledtext.lineAppliesTo.
baselineOffset - Вещественное значение, в пунктах смещения от базовой линии. По умолчанию 0.0.
kerning - Вещественное значение, в пунктах, на которые изменяется значение кернинга по умолчанию. По умолчанию nil, чтобы использовать значение кернинга по умолчанию, указанное в файле шрифта; 0.0 - кернинг выключен; отличное от нуля - пункты, на которые нужно изменить значение кернинга по умолчанию.
obliqueness - Вещественное значение, как наклон, который нужно применить к глифам. По умолчанию 0.0, наклон отсутствует.
expansion - Вещественное значение, как логарифм коэффициента расширения, который нужно применить к глифам. По умолчанию 0.0, расширение отсутствует.
shadow - По умолчанию nil, что указывает на отсутствие тени. Таблица, описывающая эффект тени для текста. Таблица может содержать любой из следующих ключей:
offset - Таблица с ключами h и w (структура размера), которые указывают горизонтальное и вертикальное смещение тени соответственно. Положительные значения всегда распространяются вниз и вправо с точки зрения пользователя.
blurRadius - Вещественное значение, задающее радиус размытия тени. Значение 0 указывает отсутствие размытия, а большие значения создают соответствующее большее размытие. Значение по умолчанию 0.
color - Цвет тени по умолчанию - черный с альфой 1/3. Если вы установите это свойство в nil, тень не будет нарисована.
hs.styledtext - Для облегчения использования объектов hs.styledtext, помимо специфичных для модуля функций и методов, определены некоторые функции из библиотеки Lua String, выполняющие аналогичные функции над этими объектами. Обратитесь к разделу справки по каждому методу для получения дополнительной информации о его использовании:
hs.styledtext:byte
hs.styledtext:find
hs.styledtext:gmatch
hs.styledtext:len
hs.styledtext:lower
hs.styledtext:match
hs.styledtext:rep
hs.styledtext:sub
hs.styledtext:upper
Кроме того, включены следующие метаметоды:
concat:
string..object возвращает конкатенированные строковые значения
object..string возвращает новый объект hs.styledtext с добавленным string
два объекта hs.styledtext возвращают новый объект hs.styledtext содержащий конкатенацию двух объектов
len: #object возвращает длину текста, содержащегося в объекте
eq: object ==/~= object возвращает логическое значение, указывающее, равен ли текст двух объектов или нет. Используйте hs.styledtext:isIdentical если вам нужно сравнивать и атрибуты.
lt, le: позволяют сравнивать <, >, <=, и >= между объектами и строками, в которых текст объекта сравнивается с текстом другого объекта или строкой Lua.
Обратите внимание, что из-за различий в том, как Lua определяет, когда использовать метаметоды для сравнения равенства по сравнению со сравнением относительных позиций, ==/~= не может сравнивать объект со строкой Lua (всегда возвращает false, так как типы разные). Вы должны использовать object:getString() ==/~= string. (см. hs.styledtext:getString).
Обзор API
Константы - Полезные значения, которые нельзя изменить
Таблица, содержащая системные шрифты и размеры по умолчанию.
Примечания
Эти значения полезны при определении объекта стилизованного текста, который должен быть похожим на или основан на определенном типе системного элемента.
Поскольку пользователь может изменять значения шрифтов по умолчанию во время работы Hammerspoon, эта таблица фактически генерируется динамически по запросу. Это не должно повлиять на ваше использование этой константы как таблицы; однако, вы можете сгенерировать статическую таблицу, если это необходимо, вызвав hs.styledtext._defaultFonts() напрямую.
Возвращает шрифт, который наиболее точно соответствует заданному шрифту и запрошенному изменению атрибута.
Параметры
font - строка или таблица, определяющая шрифт. Если задана строка, предполагается системный размер шрифта по умолчанию. Если задана таблица, она должна содержать следующие ключи:
name - имя шрифта (по умолчанию — системный шрифт)
size - размер шрифта в пунктах (по умолчанию — системный размер шрифта по умолчанию)
trait - число, соответствующее атрибуту, перечисленному в hs.styledtext.fontTraits, которое вы хотите добавить или удалить (unboldFont и unitalicFont) из заданного шрифта, или логическое значение, указывающее, хотите ли вы более тяжелый вариант (true) или более легкий вариант (false).
Возвращает
таблицу, содержащую имя и размер шрифта, который наиболее точно соответствует указанному шрифту и запрошенному изменению атрибута. Если такой шрифт недоступен, возвращается исходный шрифт без изменений.
Получить информацию о шрифте, указанном в таблице атрибутов.
Parameters
font - строка или таблица, определяющие шрифт. Если задана строка, предполагается размер шрифта по умолчанию системы. Если предоставлена таблица, она должна содержать следующие ключи:
name - имя шрифта (по умолчанию - системный шрифт)
size - размер шрифта в пунктах (по умолчанию - размер системного шрифта по умолчанию)
Returns
таблица, содержащая следующие ключи:
fontName - Внутреннее имя шрифта.
familyName - Семейство шрифта.
displayName - Отображаемое имя шрифта, обычно локализованное для языка пользователя.
fixedPitch - Логическое значение, указывающее, имеют ли все глифы шрифта одинаковый отступ.
ascender - Верхняя координата y, смещенная от базовой линии, самого длинного восходящего элемента шрифта.
boundingRect - Таблица, содержащая рамку обводки шрифта, масштабированную до размера шрифта. Эта рамка является объединением рамок обводки каждого глифа в шрифте.
capHeight - Высота прописной буквы шрифта.
descender - Нижняя координата y, смещенная от базовой линии, самого длинного нисходящего элемента шрифта.
italicAngle - Количество градусов, на которое шрифт наклонен против часовой стрелки от вертикали. (только для чтения)
leading - Значение кернинга шрифта.
maximumAdvancement - Таблица, содержащая максимальный отступ любого глифа шрифта.
numberOfGlyphs - Количество глифов в шрифте.
pointSize - Размер шрифта в пунктах.
underlinePosition - Смещение от базовой линии для рисования подчеркиваний шрифтом.
underlineThickness - Толщина для рисования подчеркиваний шрифтом.
Возвращает имена всех установленных шрифтов системы.
Parameters
None
Returns
таблица, содержащая имена каждого установленного в системе шрифта. Индивидуальные имена являются строками, которые могут быть использованы в методе hs.drawing:setTextFont(fontname).
Возвращает имена всех установленных шрифтов системы с указанными атрибутами.
Parameters
traits - число, определяющее маску атрибутов шрифта, или таблица, содержащая атрибуты из hs.styledtext.fontTraits, логически 'OR'ed для создания маски атрибутов шрифта, используемой.
Returns
таблица, содержащая имена каждого установленного шрифта системы, соответствующего заданной маске атрибутов шрифта. Индивидуальные имена являются строками, которые могут быть использованы в методе hs.drawing:setTextFont(fontname).
Notes
указание 0 или пустой таблицы соответствует всем шрифтам, которые не являются курсивными или полужирными. Это будет тот же список, который вы получите с { hs.styledtext.fontTraits.unBold, hs.styledtext.fontTraits.unItalic } в качестве параметра.
Возвращает массив, содержащий доступные шрифты для указанного семейства шрифтов, или nil, если шрифтов для указанного семейства нет.
Parameters
familyName - строка, определяющая семейство шрифтов, для которого следует вернуть доступные шрифты. Строки должны быть одним из значений, возвращаемых функцией hs.styledtext.fontFamilies.
Returns
таблица, содержащая массив доступных шрифтов для указанного семейства. Каждый элемент массива будет таблицей, также как массив, в следующем порядке:
строка, определяющая имя шрифта, которое может быть использовано в методе hs.drawing:setTextFont(fontname).
строка, определяющая базовый стиль шрифта (например, Полужирный, Курсив, Римский и т. д.).
таблица, определяющая нулевые или более атрибутов для шрифта, как определено в таблице hs.styledtext.fontTraits. Также задано поле с ключом _numeric, которое указывает числовое значение, соответствующее атрибутам для удобного использования с функцией hs.styledtext.convertFont.
Создать объект hs.styledtext из предоставленной строки, преобразуя ANSI SGR цвет и некоторые последовательности шрифтов в соответствующие атрибуты. Атрибуты, которые следует применить к возвращаемому объекту, также могут быть необязательно предоставлены.
Parameters
string - Строка, содержащая текст с ANSI SGR последовательностями, которые необходимо преобразовать.
attributes - необязательная таблица, содержащая пары ключ-значение атрибутов, которые следует применить ко всему объекту hs.styledtext для возврата.
Returns
объект hs.styledtext
Notes
Поскольку для SGR последовательностей, указывающих полужирный и курсивный шрифты, требуется шрифт, базовый шрифт определяется с помощью следующей логики:
если таблица attributes не предоставлена, шрифт предполагается по умолчанию для hs.drawing как возвращается функцией hs.drawing.defaultTextStyle
если таблица attributes предоставлена и она определяет атрибут font, этот шрифт используется.
если таблица attributes предоставлена, но не предоставляет атрибут font, используется шрифт Helvetica по умолчанию NSAttributedString размером 12 пунктов.
Так как наиболее распространенное использование этого конструктора, вероятно, из вывода команды терминала, вам, скорее всего, потребуется указать шрифт с фиксированной шириной (моноширинный). Список установленных шрифтов с фиксированной шириной можно получить, набрав hs.styledtext.fontNamesWithTraits(hs.styledtext.fontTraits.fixedPitchFont) в консоли Hammerspoon.
См. описание документации модуля (help.hs.styledtext) для описания формата таблицы атрибутов, который может быть предоставлен в качестве необязательного второго аргумента.
Эта функция была смоделирована по файлу ANSIEscapeHelper.m по адресу https://github.com/balthamos/geektool-3 в каталоге /NerdTool/classes.
Преобразует предоставленные данные в форматированный текстовый строку.
Parameters
data - данные, как строка Lua, содержащие исходные данные, которые нужно преобразовать в объект styledText
type - строка, указывающая формат содержимого в data. По умолчанию "html". Строка может быть одной из следующих (не все форматы могут быть полностью представлены как простой контейнер строки - см. также hs.styledtext.setTextFromFile):
"text" - Обычный текстовый документ.
"rtf" - Документ в формате Rich Text.
"rtfd" - Документ в формате Rich Text с вложениями.
"simpleText" - Документ Macintosh SimpleText.
"html" - Документ Hypertext Markup Language (HTML).
"word" - Документ Microsoft Word.
"wordXML" - Документ Microsoft Word XML (схема WordML).
"webArchive" - Документ Web Kit WebArchive.
"openXML" - Текстовый формат ECMA Office Open XML.
Преобразует данные из указанного файла в форматированную текстовую строку.
Parameters
file - путь к файлу, используемому в качестве источника данных для преобразования в объект styledText
type - строка, указывающая формат содержимого в data. По умолчанию "html". Строка может быть одной из следующих (не все форматы могут быть полностью представлены как простой контейнер строки - см. также hs.styledtext.setTextFromFile):
"text" - Обычный текстовый документ.
"rtf" - Документ в формате Rich Text.
"rtfd" - Документ в формате Rich Text с вложениями.
"simpleText" - Документ Macintosh SimpleText.
"html" - Документ Hypertext Markup Language (HTML).
"word" - Документ Microsoft Word.
"wordXML" - Документ Microsoft Word XML (схема WordML).
"webArchive" - Документ Web Kit WebArchive.
"openXML" - Текстовый формат ECMA Office Open XML.
Создать объект hs.styledtext из предоставленного строкового или табличного представления. Также могут быть необязательно предоставлены атрибуты для применения к результирующей строке.
Parameters
string - строка, таблица или объект hs.styledtext для создания нового объекта hs.styledtext.
attributes - необязательная таблица, содержащая пары ключ-значение атрибутов, которые будут применены ко всему объекту hs.styledtext , который будет возвращен.
Returns
объект hs.styledtext
Notes
См. hs.styledtext:asTable для описания табличного представления объекта hs.styledtext
См. документацию к описанию модуля (help.hs.styledtext) для описания формата таблицы атрибутов, которая может быть предоставлена в качестве необязательного второго аргумента.
Передача объекта hs.styledtext в качестве первого параметра без указания таблицы attributes эквивалентна вызову hs.styledtext:copy.
Возвращает табличное представление объекта hs.styledtext или его указанного подстроки.
Parameters
starts - необязательный индекс позиции в тексте объекта hs.styledtext , указывающий начало подстроки, для которой нужно вернуть таблицу. По умолчанию 1, начало текста объекта. Если число отрицательное, оно считается назад от конца текста объекта (т.е. -1 будет последней позицией символа).
ends - необязательный индекс позиции в тексте объекта hs.styledtext , указывающий конец подстроки, для которой нужно вернуть таблицу. По умолчанию длина текста объекта. Если число отрицательное, оно считается назад от конца текста объекта.
Returns
таблица, представляющая объект hs.styledtext. Таблица будет массивом со следующей структурой:
индекс 1 - текст объекта hs.styledtext как строка Lua.
индекс 2+ - таблица со следующими ключами:
starts - позиция индекса в исходном объекте форматированного текста, где этот список атрибутов впервые применяется
ends - позиция индекса в исходном объекте форматированного текста, где применение этого списка атрибутов заканчивается
attributes - таблица пар ключ-значение атрибутов, которые применяются к строке между позициями starts и ends
unsupportedFields - этот поле существует только, и будет установлено в true, когда атрибут, который был включен в таблицу атрибутов, которую этот модуль не может изменить. Будет сделана попытка отобразить присвоенное значение атрибута в таблице атрибутов, но изменение атрибута и повторное применение его с помощью hs.styledtext:setStyle будут проигнорированы.
Notes
starts и ends следуют соглашениям i и j для функции string.sub Lua.
Атрибут, содержащий вложение (изображение) для преобразованного RTFD или другого документа, известен тем, что устанавливает флаг unsupportedFields.
Индексы в возвращенной таблице относятся к их позиции в исходном объекте hs.styledtext. Если вам нужна таблица версии подстроки, которая не начинается с позиции индекса 1, которая может быть безопасно подана в виде «правильной» табличной версии объекта hs.styledtext в другую функцию или конструктор, правильный способ ее генерации - `destination = object:sub(i,j):asTable().
См. документацию к описанию модуля (help.hs.styledtext) для описания формата таблицы атрибутов.
Возвращает внутреннее числовое представление символов в объекте hs.styledtext , указанном заданными индексами. Имитирует функцию Lua string.byte.
Parameters
starts - необязательный индекс позиции в тексте объекта hs.styledtext , указывающий начало подстроки, для которой нужно вернуть числовые значения. По умолчанию 1, начало текста объекта. Если число отрицательное, оно считается назад от конца текста объекта (т.е. -1 будет последней позицией символа).
ends - необязательный индекс позиции в тексте объекта hs.styledtext , указывающий конец подстроки, для которой нужно вернуть числовые значения. По умолчанию значение starts. Если число отрицательное, оно считается назад от конца текста объекта.
Returns
список целых чисел, представляющих внутреннее числовое представление символов в объекте hs.styledtext , указанном заданными индексами.
Notes
starts и ends следуют соглашениям i и j для функции string.sub Lua.
Возвращает индексы первого вхождения указанного шаблона в текст объекта hs.styledtext. Эмулирует функцию Lua string.find.
Параметры
pattern — строка, содержащая шаблон для поиска. Подробнее см. руководство Lua, раздел 6.4.1 (help.lua._man._6_4_1)
init — необязательное целое число, задающее позицию в тексте для начала поиска шаблона
plain — необязательный булевый параметр, определяющий, следует ли рассматривать шаблон как обычный текст (т.е. точное совпадение). По умолчанию false. Если вы хотите указать этот аргумент, вам также необходимо указать init.
Возвращаемое значение
если совпадение найдено, start и end будут индексами, где шаблон был впервые найден. Если в шаблоне были указаны capture, они также будут возвращены как дополнительные аргументы после start и end. Если шаблон не был найден в тексте, то этот метод возвращает nil.
Примечания
Любые возвращаемые capture возвращаются как строки Lua, а не как объекты hs.styledtext.
Возвращает текст объекта hs.styledtext как строку Lua.
Параметры
starts — необязательный индекс позиции в тексте объекта hs.styledtext, указывающий начало подстроки для возвращения строки. По умолчанию 1, начало текста объекта. Если это число отрицательное, оно подсчитывается назад от конца текста объекта (т.е. -1 — последняя позиция символа).
ends — необязательный индекс позиции в тексте объекта hs.styledtext, указывающий конец подстроки для возвращения строки. По умолчанию длина текста объекта. Если это число отрицательное, оно подсчитывается назад от конца текста объекта.
Возвращаемое значение
строка, содержащая текст объекта hs.styledtext
Примечания
starts и ends следуют соглашениям i и j для функции Lua string.sub.
Возвращает функцию-итератор, которая каждый раз при вызове будет возвращать capture (или весь шаблон) следующего совпадения заданного шаблона в тексте объекта hs.styledtext. Эмулирует функцию Lua string.gmatch.
Параметры
pattern — строка, содержащая шаблон для поиска. Подробнее см. руководство Lua, раздел 6.4.1 (help.lua._man._6_4_1)
Возвращаемое значение
функция-итератор, которая каждый раз при вызове будет возвращать capture (или весь шаблон) следующего совпадения заданного шаблона в тексте объекта hs.styledtext
Примечания
Любые capture (или весь шаблон), возвращаемые итератором, возвращаются как строки Lua, а не как объекты hs.styledtext.
hs.styledtext:match(pattern, [init]) -> match ... | nil
Тип
Метод
Описание
Возвращает первое вхождение capture в указанном шаблоне (или весь шаблон, если не указаны capture) в тексте объекта hs.styledtext. Эмулирует функцию Lua string.match.
Параметры
pattern — строка, содержащая шаблон для поиска. Подробнее см. руководство Lua, раздел 6.4.1 (help.lua._man._6_4_1)
init — необязательное целое число, задающее позицию в тексте для начала поиска шаблона
Возвращаемое значение
если совпадение найдено, то capture в указанном шаблоне (или весь шаблон, если не указаны capture). Если шаблон не был найден в тексте, то метод возвращает nil.
Примечания
Любые capture (или весь шаблон), возвращаемые методом, возвращаются как строки Lua, а не как объекты hs.styledtext.
Возвращает копию объекта hs.styledtext, содержащую изменения его атрибутов, указанных в таблице attributes.
Параметры
attributes — массив меток атрибутов, которые нужно удалить (установить в nil) из объекта hs.styledtext.
starts — необязательный индекс позиции в тексте объекта hs.styledtext, указывающий начало подстроки для удаления атрибутов. По умолчанию 1, начало текста объекта. Если число отрицательное, оно подсчитывается назад от конца текста объекта (т.е. -1 — последняя позиция символа).
ends — необязательный индекс позиции в тексте объекта hs.styledtext, указывающий конец подстроки для удаления атрибутов. По умолчанию длина текста объекта. Если число отрицательное, оно подсчитывается назад от конца текста объекта.
Возвращаемое значение
копия объекта hs.styledtext с удаленными атрибутами из заданного диапазона исходного объекта.
Примечания
starts и ends следуют соглашениям i и j для функции Lua string.sub.
Список официально признанных имен меток атрибутов см. в документации по описанию модуля (help.hs.styledtext).
Официально признанные метки атрибутов были выбраны для краткости или для соответствия соглашениям, используемым в других модулях Hammerspoon. Если вы знаете имя атрибута на Objective-C, вы можете его указать вместо официально признанной метки, позволяя удалить атрибуты, которые этот модуль не может манипулировать другими способами.
Возвращает объект hs.styledtext, содержащий n повторений объекта hs.styledtext, необязательно с separator между каждым повторением. Имитирует функцию Lua string.rep.
Parameters
n - число повторений объекта hs.styledtext.
separator - необязательная строка или объект hs.styledtext для вставки между повторениями.
Returns
объект hs.styledtext, содержащий n повторений объекта, включая separator между повторениями, если указано.
Возвращает копию объекта hs.styledtext с изменениями его атрибутов, указанными в таблице attributes.
Parameters
string - строка, таблица или объект hs.styledtext для вставки или замены подстроки.
starts - необязательная позиция индекса в тексте объекта hs.styledtext , указывающая начало назначения для указанной строки. По умолчанию 1, начало текста объекта. Если это число отрицательное, оно подсчитывается назад от конца текста объекта (например, -1 — последняя позиция символа).
ends - необязательная позиция индекса в тексте объекта hs.styledtext , указывающая конец назначения для указанной строки. По умолчанию длина текста объекта. Если это число отрицательное, оно подсчитывается назад от конца текста объекта. Если это число 0, то подстрока вставляется в указанный индексом starts вместо замены.
clear - необязательный логический тип, указывающий, следует ли включать атрибуты новой строки (true) или новая подстрока должна унаследовать атрибуты первого заменённого символа (false). По умолчанию false, если string является строкой Lua или числом; в противном случае по умолчанию true.
Returns
копия объекта hs.styledtext с указанной заменой подстроки в исходном объекте или nil, если произошла ошибка
Notes
starts и ends следуют соглашениям i и j для функции Lua string.sub, за исключением того, что starts должен ссылаться на индекс, предшествующий или равный ends, даже после корректировки отрицательных и вне диапазона индексов.
См. документацию описания модуля (help.hs.styledtext) для описания формата таблицы атрибутов
Возвращает копию объекта hs.styledtext с изменениями его атрибутов, указанными в таблице attributes.
Parameters
attributes - таблица пар ключ-значение атрибутов, которые нужно применить к объекту между позициями starts и ends
starts - необязательная позиция индекса в тексте объекта hs.styledtext , указывающая начало подстроки для установки атрибутов. По умолчанию 1, начало текста объекта. Если это число отрицательное, оно подсчитывается назад от конца текста объекта (например, -1 — последняя позиция символа).
ends - необязательная позиция индекса в тексте объекта hs.styledtext , указывающая конец подстроки для установки атрибутов. По умолчанию длина текста объекта. Если это число отрицательное, оно подсчитывается назад от конца текста объекта.
clear - необязательный логический тип, указывающий, следует ли полностью заменить существующие атрибуты (true) или добавить/изменить их (false). По умолчанию false.
Returns
копия объекта hs.styledtext с применёнными указанными атрибутами к заданному диапазону исходного объекта.
Notes
starts и ends следуют соглашениям i и j для функции Lua string.sub.
См. документацию описания модуля (help.hs.styledtext) для описания формата таблицы атрибутов.
Возвращает подстроку, включая атрибуты стиля, заданные указанными индексами из объекта hs.styledtext. Имитирует функцию Lua string.sub.
Parameters
starts - позиция индекса в тексте объекта hs.styledtext , указывающая начало подстроки для возврата. Если это число отрицательное, оно подсчитывается назад от конца текста объекта (например, -1 — последняя позиция символа).
ends - необязательная позиция индекса в тексте объекта hs.styledtext , указывающая конец подстроки для возврата. По умолчанию длина текста объекта. Если это число отрицательное, оно подсчитывается назад от конца текста объекта.
Returns
объект hs.styledtext , содержащий указанную подстроку.
Notes
starts и ends следуют соглашениям i и j для функции Lua string.sub.