User Tools

Site Tools


geda:gschem_repl.ru

Эта страница доступна также на следующих языках: English

Использование REPL в gschem

Встроенные графические функции REPL в gschem

Поле ввода процедур guile открывается по нажатию клавиши : (двоеточие). После этого пользователь может вводить команды в появившемся поле ввода и наблюдать результат выполнения команд в окне журнала.

REPL в фоновом терминале

В текущей версии репозитория geda-gaf (на 09.02.2016) имеется дополнительная функция вызова REPL в фоновом терминале, запускаемая по нажатию FShift+R.

Учтите, что в данный момент можно запустить её несколько раз, что может привести к путанице в терминале. Кроме того, есть вероятность закрыть работающую версию gschem, при использовании некоторых сочетаний клавиш.

При работе в терминале можно подключить функции библиотеки readline. Для этого в терминале следует набрать:

(use-modules (ice-9 readline))
(activate-readline)

Внешний графический REPL

Для запуска внешнего графического окна, предоставляющего функции REPL, необходима библиотека работы с REPL из проекта guile-gnome. В Debian, например, для её использования необходимо установить пакет guile-gnome2-gtk. Для вывода окна наберите в поле встроенного REPL:

(use-modules (gnome-2) (gnome gtk) (gnome gtk graphical-repl))
(guile-gtk-repl)

REPL в любом терминале

Для запуска REPL в терминале нужно открыть сокет изнутри gschem. Для этого надо загрузить системный модуль для REPL и вызвать функцию порождения сервера.

(use-modules (system repl server))
(spawn-server)

Без параметров функция запуска сервера работает с портом 37146, используемым в guile по умолчанию. Для использования другого порта можно задать, например:

(spawn-server 1234)

При открытии порта учтите соображения по безопасности, указанные здесь https://lists.gnu.org/archive/html/guile-devel/2010-10/msg00044.html.

Дальше необходимо просто подключиться к нему любой программой, которая может работать с сокетом, например, используя telnet, netcat или другую программу. Примеры использования telnet:

$ telnet localhost 37146

Пример использования netcat:

$ nc localhost 37146

В этом случае интерфейс readline работать не будет.

Пользователи Emacs для работы с REPL могут использовать чудесное окружение Geiser. Для этого нужно установить данный пакет, запустить сервер REPL в gschem и подключиться к нему в Emacs с помощью M+X connect-to-guile.

geda/gschem_repl.ru.txt · Last modified: 2019/10/06 08:14 by rlutz