Локальные переменные подключения
Локальные переменные подключения предоставляют общий механизм для различных настроек переменных в буферах с удаленным подключением. Они привязаны и устанавливаются в зависимости от удаленного подключения, к которому относится буфер.
- Функция: connection-local-set-profile-variables переменные профиля
-
Эта функция определяет набор настроек переменных для подключения profile, которое является символом. Позже вы можете назначить профиль подключения одному или нескольким удаленным подключениям, и Emacs применит эти настройки переменных ко всем буферам процессов для этих подключений. Список в variables является списком пар ключ-значение в формате
(name . value). Пример:(connection-local-set-profile-variables 'remote-bash '((shell-file-name . "/bin/bash") (shell-command-switch . "-c") (shell-interactive-switch . "-i") (shell-login-switch . "-l")))(connection-local-set-profile-variables 'remote-ksh '((shell-file-name . "/bin/ksh") (shell-command-switch . "-c") (shell-interactive-switch . "-i") (shell-login-switch . "-l")))(connection-local-set-profile-variables 'remote-null-device '((null-device . "/dev/null")))
- Переменная: connection-local-profile-alist
Этот список пар ключ-значение хранит символы профилей подключения и соответствующие настройки переменных. Он обновляется функцией
connection-local-set-profile-variables.
- Функция: connection-local-set-profiles критерии &rest профили
-
Эта функция назначает профили, которые являются символами, всем удаленным подключениям, идентифицируемым по критериям. Критерии — это список свойств, идентифицирующий подключение и приложение, использующее это подключение. Названия свойств могут быть
:application,:protocol,:userи:machine. Значение свойства:application— символ, все остальные значения свойств — строки. Все свойства необязательны; если критерии являютсяnil, это всегда применяется. Пример:(connection-local-set-profiles '(:application 'tramp :protocol "ssh" :machine "localhost") 'remote-bash 'remote-null-device)
(connection-local-set-profiles '(:application 'tramp :protocol "sudo" :user "root" :machine "localhost") 'remote-ksh 'remote-null-device)Если критерии являются
nil, это применяется ко всем удаленным подключениям. Таким образом, пример выше был бы эквивалентен(connection-local-set-profiles '(:application 'tramp :protocol "ssh" :machine "localhost") 'remote-bash)
(connection-local-set-profiles '(:application 'tramp :protocol "sudo" :user "root" :machine "localhost") 'remote-ksh)(connection-local-set-profiles nil 'remote-null-device)
Любой профиль подключения из профилей должен быть уже определен функцией
connection-local-set-profile-variables.
- Переменная: connection-local-criteria-alist
Этот список пар ключ-значение содержит критерии подключения и назначенные имена профилей. Функция
connection-local-set-profilesобновляет этот список.
- Функция: hack-connection-local-variables критерии
-
Эта функция собирает применимые локальные переменные подключения, связанные с критериями в
connection-local-variables-alist, без их применения. Пример:(hack-connection-local-variables '(:application 'tramp :protocol "ssh" :machine "localhost"))
connection-local-variables-alist ⇒ ((null-device . "/dev/null") (shell-login-switch . "-l") (shell-interactive-switch . "-i") (shell-command-switch . "-c") (shell-file-name . "/bin/bash"))
- Функция: hack-connection-local-variables-apply критерии
Эта функция ищет локальные переменные подключения по критериям и немедленно применяет их в текущем буфере.
- Макрос: with-connection-local-variables &rest тело
-
Применяются все локальные переменные подключения, которые указаны в
default-directory.После этого выполняется тело, и локальные переменные подключения снимаются.
(connection-local-set-profile-variables 'remote-perl '((perl-command-name . "/usr/local/bin/perl") (perl-command-switch . "-e %s")))(connection-local-set-profiles '(:application 'tramp :protocol "ssh" :machine "remotehost") 'remote-perl)
(let ((default-directory "/ssh:remotehost:/working/dir/")) (with-connection-local-variables do something useful))
- Переменная: enable-connection-local-variables
Если значение
nil, локальные переменные подключения игнорируются. Эта переменная должна изменяться только временно в специальных режимах.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Connection-Local-Variables.html