Spec-Zone.ru › Hammerspoon

hs.ipc

Предоставляет Hammerspoon возможность создавать локальные и удалённые порты сообщений для межпроцессного взаимодействия.

Наиболее распространённое использование этого модуля — предоставление поддержки командной строки hs, которую можно добавить в вашу оболочку терминала с помощью hs.ipc.cliInstall. Командная строка не будет работать, если модуль hs.ipc не загружен предварительно, поэтому рекомендуется добавить require("hs.ipc") в ваш файл Hammerspoon init.lua (обычно расположенный в ~/.hammerspoon/init.lua), чтобы он всегда был доступен при запуске Hammerspoon.

Этот модуль сильно основан на коде из Mjolnir от Steven Degutis.

Обзор API

  • Устаревшие - функции API, которые будут удалены в будущих версиях
    • cliGetColors
    • cliResetColors
    • cliSetColors
  • Функции - вызовы API, предлагаемые непосредственно расширением
    • cliColors
    • cliInstall
    • cliSaveHistory
    • cliSaveHistorySize
    • cliStatus
    • cliUninstall
  • Конструкторы - вызовы API, которые возвращают объект, обычно тот, который предлагает методы API
    • localPort
    • remotePort
  • Методы - вызовы API, которые могут быть выполнены только на объекте, возвращённом конструктором
    • delete
    • isRemote
    • isValid
    • name
    • sendMessage

Документация API

Устаревшие

cliGetColors
Подпись hs.ipc.cliGetColors() -> table
Тип Устаревший
Описание

См. hs.ipc.cliColors.

Исходный код extensions/ipc/ipc.lua строка 112
cliResetColors
Подпись hs.ipc.cliResetColors()
Тип Устаревший
Описание

См. hs.ipc.cliColors.

Исходный код extensions/ipc/ipc.lua строка 136
cliSetColors
Подпись hs.ipc.cliSetColors(table) -> table
Тип Устаревший
Описание

См. hs.ipc.cliColors.

Исходный код extensions/ipc/ipc.lua строка 124

Функции

cliColors
Подпись hs.ipc.cliColors([colors]) -> table
Тип Функция
Описание

Получение или установка кодов эскейпа терминала, используемых для создания цветного вывода в командной строке hs.

Параметры
  • colors - необязательная таблица или явное nil, определяющая цвета для использования при раскрашивании вывода для командной строки. Если вы укажете явное nil, цвета вернутся к значениям по умолчанию. Если вы укажете таблицу, она должна содержать один или несколько из следующих ключей со строкой последовательности ключей терминала в качестве значения:
    • initial - этот цвет используется для начального заголовка при запуске командной строки и для вывода в консоль Hammerspoon, перенаправляемого на экземпляр. По умолчанию "\27[35m" (передний цвет пурпурный).
    • input - этот цвет используется для ввода, набираемого пользователем в экземпляр командной строки. По умолчанию "\27[33m" (передний цвет жёлтый).
    • output - этот цвет используется для вывода, генерируемого командами, выполняемыми внутри экземпляра, и возвращаемых результатов. По умолчанию "\27[36m" (передний цвет голубой).
    • error - этот цвет используется для ошибок lua, генерируемых командами, выполняемыми внутри экземпляра. По умолчанию "\27[31m" (передний цвет красный).
Возвращаемое значение
  • таблица, описывающая цвета, используемые при раскрашивании вывода в командной строке hs.
Примечания
  • Для краткого введения в цвета терминала вы можете посетить веб-сайт, такой как этот http://jafrog.com/2013/11/23/colors-in-terminal.html

  • Lua не поддерживает восьмеричные экранирования в строках, поэтому используйте \x1b или \27 для обозначения символа escape, например ipc.cliSetColors{ initial = "", input = "\27[33m", output = "\27[38;5;11m" }

  • Внесённые изменения с помощью этой функции сохраняются с hs.settings с соответствующими метками и будут сохраняться при перезагрузке или перезапуске Hammerspoon: "ipc.cli.color_initial", "ipc.cli.color_input", "ipc.cli.color_output" и "ipc.cli.color_error"

Исходный код extensions/ipc/ipc.lua строка 63
cliInstall
Подпись hs.ipc.cliInstall([path][,silent]) -> bool
Тип Функция
Описание

Устанавливает командную строку hs.

Параметры
  • path - необязательная строка, содержащая путь для установки инструмента. По умолчанию /usr/local
  • silent - необязательный булевый тип, указывающий, следует ли отображать ошибки в консоли Hammerspoon
Возвращаемое значение
  • Булево значение, true, если инструмент был успешно установлен, иначе false
Примечания
  • Если эта функция завершается неудачно, вероятно, у вас есть устаревшие/некорректные символические ссылки. Вы можете использовать hs.ipc.cliUninstall() для принудительной их очистки
  • Вам может потребоваться предварительно создать /usr/local/bin и /usr/local/share/man/man1 в терминале с помощью sudo и настроить разрешения, чтобы ваш пользовательский аккаунт мог записывать в них
Исходный код extensions/ipc/ipc.lua строка 268
cliSaveHistory
Подпись hs.ipc.cliSaveHistory([state]) -> boolean
Тип Функция
Описание

Получение или установка того, сохраняет ли командная строка историю введённых команд.

Параметры
  • state - необязательный булевый параметр (по умолчанию false), определяющий, должна ли история команд, введённых в командную строку, сохраняться между сеансами.
Возвращаемое значение
  • текущее, возможно изменённое, значение
Примечания
  • Если это включено, ваша история сохраняется в hs.configDir .. ".cli.history", что обычно "~/.hammerspoon/.cli.history".

  • Если у вас несколько запусков командной строки одновременно, сохраняется только история последнего, корректно завершившего работу; это ограничение, связанное с оболочкой readline, предоставленной Apple для libedit, и на данный момент нет известного обходного пути.

  • Внесённые изменения с помощью этой функции сохраняются с hs.settings с меткой "ipc.cli.saveHistory" и сохраняются при перезагрузке или перезапуске Hammerspoon.

Исходный код extensions/ipc/ipc.lua строка 148
cliSaveHistorySize
Подпись hs.ipc.cliSaveHistorySize([size]) -> number
Тип Функция
Описание

Получение или установка максимального количества команд, сохраняемых при включённом сохранении истории команд в командной строке.

Параметры
  • size - необязательное целое число (по умолчанию 1000), определяющее максимальное количество команд для сохранения, когда hs.ipc.cliSaveHistory установлено в true.
Возвращаемое значение
  • текущее, возможно изменённое, значение
Примечания
  • Если hs.ipc.cliSaveHistory включено, история сохраняется в hs.configDir .. ".cli.history", что обычно "~/.hammerspoon/.cli.history".

  • Если у вас несколько запусков командной строки одновременно, сохраняется только история последнего, корректно завершившего работу; это ограничение, связанное с оболочкой readline, предоставленной Apple для libedit, и на данный момент нет известного обходного пути.

  • Внесённые изменения с помощью этой функции сохраняются с hs.settings с меткой "ipc.cli.historyLimit" и сохраняются при перезагрузке или перезапуске Hammerspoon.

Исходный код extensions/ipc/ipc.lua строка 171
cliStatus
Подпись hs.ipc.cliStatus([path][,silent]) -> bool
Тип Функция
Описание

Получение состояния командной строки hs.

Параметры
  • path - необязательная строка, содержащая путь для поиска инструмента hs. По умолчанию /usr/local
  • silent - необязательный булевый тип, указывающий, следует ли отображать ошибки в консоли Hammerspoon
Возвращаемое значение
  • Булево значение, true, если командная строка hs правильно установлена, иначе false
Исходный код extensions/ipc/ipc.lua строка 194
cliUninstall
Подпись hs.ipc.cliUninstall([path][,silent]) -> bool
Тип Функция
Описание

Удаляет командную утилиту hs

Параметры
  • path - Необязательная строка, содержащая путь для удаления утилиты. По умолчанию /usr/local
  • silent - Необязательный булевый параметр, указывающий, нужно ли выводить ошибки в консоль Hammerspoon
Возвращает
  • Булевое значение, true, если утилита была успешно удалена, иначе false
Примечания
  • Эта функция раньше была очень осторожной и отказывалась удалять символические ссылки, о которых она не была уверена, но теперь она безусловно удаляет всё, что она находит по пути path/bin/hs и path/share/man/man1/hs.1. Это скорее всего будет полезно в ситуациях, когда эта команда действительно необходима (пожалуйста, откройте вопрос на GitHub, если вы не согласны!)
Источник extensions/ipc/ipc.lua строка 294

Конструкторы

localPort
Подпись hs.ipc.localPort(name, fn) -> ipcObject
Тип Конструктор
Описание

Создаёт новый локальный объект ipc для приёма и ответа на сообщения с удалённого порта

Параметры
  • name - строка, используемая в качестве имени порта сообщений.
  • fn - функция обратного вызова, которая будет получать сообщения.
Возвращает
  • объект ipc
Примечания
  • удаленный порт может отправлять сообщения в любой момент на локальный порт; локальный порт может отвечать только на сообщения с удаленного порта
Источник extensions/ipc/libipc.m строка 78
remotePort
Подпись hs.ipc.remotePort(name) -> ipcObject
Тип Конструктор
Описание

Создаёт новый удалённый объект ipc для асинхронной отправки сообщений на локальный порт

Параметры
  • name - строка, используемая в качестве имени порта сообщений.
Возвращает
  • объект ipc
Примечания
  • удаленный порт может отправлять сообщения в любой момент на локальный порт; локальный порт может отвечать только на сообщения с удаленного порта
Источник extensions/ipc/libipc.m строка 128

Методы

delete
Подпись hs.ipc:delete() -> None
Тип Метод
Описание

Удаляет объект ipc, останавливая его при необходимости

Параметры
  • Нет
Возвращает
  • Нет
Источник extensions/ipc/libipc.m строка 338
isRemote
Подпись hs.ipc:isRemote() -> boolean
Тип Метод
Описание

Возвращает, представляет ли объект ipc удалённый или локальный порт

Параметры
  • Нет
Возвращает
  • true, если объект является удалённым портом, иначе false
Примечания
  • удаленный порт может отправлять сообщения в любой момент на локальный порт; локальный порт может отвечать только на сообщения с удаленного порта
Источник extensions/ipc/libipc.m строка 174
isValid
Подпись hs.ipc:isValid() -> boolean
Тип Метод
Описание

Возвращает, является ли порт объекта ipc по-прежнему действительным

Параметры
  • Нет
Возвращает
  • true, если объект — это действительный порт, иначе false
Источник extensions/ipc/libipc.m строка 195
name
Подпись hs.ipc:name() -> string
Тип Метод
Описание

Возвращает имя, которое использует объект ipc для своего порта во время работы

Параметры
  • Нет
Возвращает
  • имя порта в виде строки
Источник extensions/ipc/libipc.m строка 156
sendMessage
Подпись hs.ipc:sendMessage(data, msgID, [waitTimeout], [oneWay]) -> status, response
Тип Метод
Описание

Отправляет сообщение с удаленного порта на локальный порт

Параметры
  • data - любой тип данных, который необходимо отправить на локальный порт. Данные будут преобразованы в строковое представление
  • msgID - целочисленный идентификатор сообщения
  • waitTimeout - необязательное число, по умолчанию 2.0, представляющее количество секунд, которое метод будет ждать для отправки сообщения, а затем ожидать ответа. Метод *может* блокироваться до дважды этого числа секунд, хотя обычно это будет короче.
  • oneWay - необязательный булевый параметр, по умолчанию false, указывающий, нужно ли ждать ответа. Если это true, второй возвращаемый аргумент будет nil.
Возвращает
  • status - булевое значение, указывающее, ответил ли локальный порт до истечения срока ожидания (true) или произошла ошибка или истечение срока ожидания при ожидании ответа (false)
  • response - ответ с локального порта, обычно строка, но может быть nil, если ответа не было. Если статус false, будет содержать сообщение об ошибке, описывающее ошибку.
Источник extensions/ipc/libipc.m строка 213

© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.ipc.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API