浏览代码

[direnv] Add poetry layout command

Colin Powell 1 年之前
父节点
当前提交
c862bd9d06
共有 1 个文件被更改,包括 16 次插入0 次删除
  1. 16 0
      direnv/.config/direnv/direnvrc

+ 16 - 0
direnv/.config/direnv/direnvrc

@@ -0,0 +1,16 @@
+layout_poetry() {
+  if [[ ! -f pyproject.toml ]]; then
+    log_error 'No pyproject.toml found.  Use `poetry new` or `poetry init` to create one first.'
+    exit 2
+  fi
+
+  local VENV=$(poetry env list --full-path | cut -d' ' -f1)
+  if [[ -z $VENV || ! -d $VENV/bin ]]; then
+    log_error 'No created poetry virtual environment found.  Use `poetry install` to create one first.'
+    exit 2
+  fi
+  VENV=$VENV/bin
+  export VIRTUAL_ENV=$(echo "$VENV" | rev | cut -d'/' -f2- | rev)
+  export POETRY_ACTIVE=1
+  PATH_add "$VENV"
+}