Eval формы запускает весь файл, если я не переключаюсь на пространство имен в repl - PullRequest
0 голосов
/ 18 января 2020

Я использую это, и я думаю, что у меня странное поведение. Я открываю repl в проекте root (foons), открываю файл (ex.clj) с помощью vim в проекте и затем вывожу следующее (оба с <,>Eval и cpp внутри формы) :

(clojure.core/in-ns 'foons.ex)

Когда я делаю это, создается впечатление, что оценивается весь файл, а не только выбранная мной форма, что я считаю неправильным.

Однако , если я изменяю на foons.ex пространство имен в запущенном мной репле и выполняю ту же команду in-ns внутри Vim, я получаю ожидаемое поведение, и оценивается только форма, а не весь файл.

Это ошибка, или у меня что-то неправильно настроено?

Характеристики:

Leiningen 2.9.1 на Java 13.0.1 Java HotSpot (TM) 64 -Bit Server VM

Clojure: 1.10.0

nrepl: 0.6.0

Я также открыл ошибку здесь: https://github.com/tpope/vim-fireplace/issues/373

1 Ответ

0 голосов
/ 20 января 2020

На этот вопрос ответили в проблеме github, которую я подал здесь: https://github.com/tpope/vim-fireplace/issues/373

Подводя итог, он ведет себя так, как задумано. Из вопроса:

Если я правильно понимаю, он работает как положено. Камин: Eval всегда происходит внутри пространства имен текущего файла, а это значит, что нам нужно предварительно запросить его, если он еще не определен.

...