Size: a a a

Emacs — русскоговорящее сообщество

2020 September 06

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
Подпатчил executable-find, lsp заработал
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
И емакс завис :(
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Sergey Makarov
Обновляет PATH или что?
да
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Sergey Makarov
И емакс завис :(
ох
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
Ну он от direnv получает список переменных со значениями, парсит его и выставляет переменные окружения, exec-path, process-environment, tramp-remote-process-environment
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
И eshell-path-env обновляет
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
Офигеть, оно заработало
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
Как лучше этот хак с переопределением executable-find в конфиге оформить? Можно конечно просто defun в недрах конфига сделать, но может, есть варианты лучше?
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
Sergey Makarov
Как лучше этот хак с переопределением executable-find в конфиге оформить? Можно конечно просто defun в недрах конфига сделать, но может, есть варианты лучше?
а покажи, что ты сделал?
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
а покажи, что ты сделал?
я переписал executable-find, чтобы он удалённые файлы искал помимо того списка ещё и в tramp-remote-path
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
(defun executable-find (command &optional remote)
 "Search for COMMAND in `exec-path' and return the absolute file name.
Return nil if COMMAND is not found anywhere in `exec-path'.  If
REMOTE is non-nil, search on the remote host indicated by
`default-directory' instead."
 (if (and remote (file-remote-p default-directory))
     (let ((res (locate-file
          command
          (append (mapcar
           (lambda (x) (concat (file-remote-p default-directory) x))
           (exec-path)) tramp-remote-path)
          exec-suffixes 'file-executable-p)))
       (when (stringp res) (file-local-name res)))
   ;; Use 1 rather than file-executable-p to better match the
   ;; behavior of call-process.
   (let ((default-directory (file-name-quote default-directory 'top)))
     (locate-file command exec-path exec-suffixes 1))))
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
Типа такого
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
фигаси портянка
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
Ну это копипаста исходного варианта
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
Я только append добавил
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
(defun executable-find (command)
 "Search for COMMAND in `exec-path' and return the absolute file name.
Return nil if COMMAND is not found anywhere in `exec-path'."
 ;; Use 1 rather than file-executable-p to better match the behavior of
 ;; call-process.
 (locate-file command exec-path exec-suffixes 1))
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
у мя такой
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
Это до 27
источник

SM

Sergey Makarov in Emacs — русскоговорящее сообщество
С 27 он умеет искать в remote-файлах
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
а
источник