I'm trying to use directory local variables so my realgud:pdb
invocation can be:
Run pdb (like this): /home/username/work/place/environments/default/bin/python -m pdb /home/username/work/place/scratch.py
Instead of :
Run pdb (like this): python -m pdb /home/username/work/place/scratch.py
as suggested here.
However, in order to transform the suggestion there to be compatible with .dir-locals.el
, I understand I need to use nil and eval per this answer.
So I am left with this:
;; .dir-locals.el
;; set the test runner
((nil . ((eval . (add-hook 'python-mode-hook
(function (lambda ()
(let* ((conda-python (format "%/envs/default/bin/python -m pdb" (projectile-project-root))))
(setq-local realgud:pdb-command-name conda-python))
)))
))
))
This doesn't complain or fail, except for asking me whether I trust the eval parameters. However, it doesn't seem to work, as my M-x realgud:pdb
invocation is still:
Run pdb (like this): python -m pdb /home/username/work/place/scratch.py
My init.el
contains:
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(column-number-mode t)
'(conda-anaconda-home (expand-file-name "~/anaconda3"))
'(elpy-test-pytest-runner-command '("py.test"))
'(elpy-test-runner 'elpy-test-pytest-runner)
...which I don't think interferes but include for completeness.
What should I change so that my .dir-local.el
picks up the correct test runner for pdb? Essentially, I am trying to combine the suggestion of the linked answer to modify my init.el
, but in a per directory basis, using .dir-locals.el
, as my projects have different environment names and I'm stuck having one per project.
let*: Invalid format operation %/