diff --git a/.gitignore b/.gitignore index 290b424..7ae7703 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.pyc thirdparty/** config/** +build/** diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..80598b2 --- /dev/null +++ b/Makefile @@ -0,0 +1,28 @@ +# Refer to davidhalter/jedi-vim. +BUILD_VIRTUAL_ENV:=build/venv + +$(dir $(BUILD_VIRTUAL_ENV)): + mkdir -p $@ + +$(BUILD_VIRTUAL_ENV): | $(dir $(BUILD_VIRTUAL_ENV)) + python3 -m venv $@ + # $|/bin/python -m pip upgrade + +$(BUILD_VIRTUAL_ENV)/bin/isort: | $(BUILD_VIRTUAL_ENV) + $|/bin/python -m pip install -q isort==4.3.21 + +$(BUILD_VIRTUAL_ENV)/bin/yapf: | $(BUILD_VIRTUAL_ENV) + $|/bin/python -m pip install -q yapf==0.30.0 + +isort: $(BUILD_VIRTUAL_ENV)/bin/isort + $(BUILD_VIRTUAL_ENV)/bin/isort --help + +yapf: $(BUILD_VIRTUAL_ENV)/bin/yapf + $(BUILD_VIRTUAL_ENV)/bin/yapf --help + +check: isort yapf + +clean: + rm -rf build + +.PHONY: check clean isort yapf diff --git a/python/abstract_formatter.py b/python/abstract_formatter.py index f56b1ac..bd3d518 100644 --- a/python/abstract_formatter.py +++ b/python/abstract_formatter.py @@ -2,6 +2,7 @@ import shutil import subprocess import tempfile + import vim diff --git a/python/format_json.py b/python/format_json.py index 44ef7a8..e54a488 100644 --- a/python/format_json.py +++ b/python/format_json.py @@ -1,10 +1,11 @@ -import sys import collections import json +import sys if __name__ == "__main__": if len(sys.argv) != 3: - raise RuntimeError("Please call format_json.py with arugments: indent and filename.") + raise RuntimeError( + "Please call format_json.py with arugments: indent and filename.") indent = int(sys.argv[1]) filename = sys.argv[2] diff --git a/python/json_formatter.py b/python/json_formatter.py index 4609e6b..b6069f9 100644 --- a/python/json_formatter.py +++ b/python/json_formatter.py @@ -1,5 +1,4 @@ import vim - from abstract_formatter import AbstractFormatter diff --git a/python/main.py b/python/main.py index 2e07cd1..1cf9f15 100644 --- a/python/main.py +++ b/python/main.py @@ -1,5 +1,4 @@ import vim - from json_formatter import JsonFormatter from python_formatter import PythonFormatter diff --git a/python/python_formatter.py b/python/python_formatter.py index 8b36380..2f6b73c 100644 --- a/python/python_formatter.py +++ b/python/python_formatter.py @@ -1,5 +1,4 @@ import vim - from abstract_formatter import AbstractFormatter @@ -17,6 +16,7 @@ def _getGuideFilename(self): def _getFormatCommand(self, formattedFilename, guideFilename): guideFilename = vim.eval("g:VimFormatterPythonStyle") - cmd = '{} --style="{}" "{}"'.format(self._yapf, guideFilename, - formattedFilename) + isort = "{}/build/venv/bin/isort".format(self._getRootDir()) + cmd = '{} --stdout "{}" | {} --style="{}"'.format( + isort, formattedFilename, self._yapf, guideFilename) return cmd