Пополнение вкладок на удаленном Emacs с SLIME

На SLIME repl на удаленном SWANK набрав:

(открыть "~/

а затем нажать TAB

Это вызывает буфер с автозаполнением в моей локальной файловой системе. Кто-нибудь знает, как заставить его показывать файлы в удаленной системе?

В настоящее время мой.emacs выглядит так:

(load (expand-file-name "~/quicklisp/slime-helper.el"))
(setq inferior-lisp-program "sbcl")
(require 'slime)
(slime-setup '(slime-fancy slime-tramp slime-asdf))
(slime-require :swank-listener-hooks)
(push (slime-create-filename-translator :machine-instance "ws1"
                    :remote-host "ws1"
                    :username "myusername")
      slime-filename-translations)  

Я немного гуглю и пробую случайные вещи, любая помощь очень ценится!

1 ответ

Вам нужно будет предоставить новую реализацию функции slime-maybe-complete-as-filename, Его реализация по умолчанию вызывает функцию Emacs comint-replace-by-expanded-filename,

Наиболее универсальным решением этой проблемы будет запрос удаленного Lisp для данных файловой системы. Вероятно, было бы проще написать функцию, которая просто перенаправляет завершение через соединение TRAMP с удаленной системой.

Другие вопросы по тегам