diff --git a/clean_files.txt b/clean_files.txt index 84c904d8..4ecda787 100644 --- a/clean_files.txt +++ b/clean_files.txt @@ -111,6 +111,7 @@ plugins/available/osx.plugin.bash plugins/available/percol.plugin.bash plugins/available/plenv.plugin.bash plugins/available/pyenv.plugin.bash +plugins/available/python.plugin.bash plugins/available/rbenv.plugin.bash plugins/available/ruby.plugin.bash plugins/available/textmate.plugin.bash diff --git a/plugins/available/python.plugin.bash b/plugins/available/python.plugin.bash index 77fa7dd6..bd644e8b 100644 --- a/plugins/available/python.plugin.bash +++ b/plugins/available/python.plugin.bash @@ -1,31 +1,32 @@ -cite about-plugin +# shellcheck shell=bash about-plugin 'alias "shttp" to SimpleHTTPServer' -if [[ "$OSTYPE" == 'linux'* ]] -then - alias shttp='python2 -m SimpleHTTPServer' +if _command_exists python3; then + alias shttp='python3 -m http.server' +elif _command_exists python; then + alias shttp='python -m http.server' else - alias shttp='python -m SimpleHTTPServer' + _log_warning "Unable to load 'plugin/python' due to being unable to find a working 'python'" + return 1 fi function pyedit() { - about 'opens python module in your EDITOR' - param '1: python module to open' - example '$ pyedit requests' - group 'python' + about 'opens python module in your EDITOR' + param '1: python module to open' + example '$ pyedit requests' + group 'python' - xpyc=`python -c "import os, sys; f = open(os.devnull, 'w'); sys.stderr = f; module = __import__('$1'); sys.stdout.write(module.__file__)"` + xpyc="$(python -c "import os, sys; f = open(os.devnull, 'w'); sys.stderr = f; module = __import__('$1'); sys.stdout.write(module.__file__)")" - if [[ "$xpyc" == "" ]]; then - echo "Python module $1 not found" - return -1 - - elif [[ $xpyc == *__init__.py* ]]; then - xpydir=`dirname $xpyc`; - echo "$EDITOR $xpydir"; - $EDITOR "$xpydir"; - else - echo "$EDITOR ${xpyc%.*}.py"; - $EDITOR "${xpyc%.*}.py"; - fi + if [[ "$xpyc" == "" ]]; then + echo "Python module $1 not found" + return 1 + elif [[ "$xpyc" == *__init__.py* ]]; then + xpydir="${xpyc%/*}" + echo "$EDITOR $xpydir" + ${VISUAL:-${EDITOR:-${ALTERNATE_EDITOR:-nano}}} "$xpydir" + else + echo "$EDITOR ${xpyc%.*}.py" + ${VISUAL:-${EDITOR:-${ALTERNATE_EDITOR:-nano}}} "${xpyc%.*}.py" + fi }