summaryrefslogtreecommitdiff
path: root/snakemake-mode.el
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2017-04-01 01:11:31 -0400
committerKyle Meyer <kyle@kyleam.com>2017-04-01 01:20:56 -0400
commit83323d47463a5c0597c9eef4f22d2d833314bd54 (patch)
tree296180beed949b9bb9019c86b0407e57e9c0ef07 /snakemake-mode.el
parent43f8536aee86d52e52cfa4cfc6d2e00e2ca4b04c (diff)
downloadsnakemake-mode-83323d47463a5c0597c9eef4f22d2d833314bd54.tar.gz
Add a user option to always send commands to a terminal
The primary motivation behind having a terminal interface is that it works better with tools like Guix because the environment persists across calls. And the primary reason one would want to use Guix with Snakemake is so that the dependencies to a workflow/analysis can be specified and tightly controlled. However, the user can accidentally step outside of this controlled environment by running a build command before running snakemake-term-start. The changes from this mistake can be hard to confidently reverse and may require a wide removal of output files. If a user wanted to make sure to only use the Guix-controlled environment, one approach would be to remove the Snakemake executable from the environment in which Emacs is started (most likely the default environment), exposing it only in the workflow environments. The problem with this is that snakemake.el requires the Snakemake executable for things like generating lists of targets. Also, it would be a global change, but a user could reasonably want to control dependencies with Guix for one project but go through the compile interface for another. Add a user option that allows the user to avoid the compile interface at a global or per-project level.
Diffstat (limited to 'snakemake-mode.el')
0 files changed, 0 insertions, 0 deletions