From fbb61cfee2711ab6d9f9aa4df02e1239beef1c9d Mon Sep 17 00:00:00 2001 From: Wojciech Bederski Date: Fri, 2 Aug 2013 20:40:07 +0200 Subject: [PATCH] Update README, add screenshots of Alt+. and upload update message --- README.md | 15 +++++++++------ doc/img/hard_ver_sel.png | Bin 0 -> 15524 bytes doc/img/soft_ver_sel.png | Bin 0 -> 20152 bytes messages.json | 3 +++ messages/0.2.0.txt | 7 +++++++ requirements.py | 2 ++ 6 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 doc/img/hard_ver_sel.png create mode 100644 doc/img/soft_ver_sel.png create mode 100644 messages.json create mode 100644 messages/0.2.0.txt diff --git a/README.md b/README.md index 0745425..224efd7 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,10 @@ Usage - Open any requirements.txt file or Set syntax: requirements.txt of newly created file. - Start typing package name -> autocompletion should trigger automatically. -- When cursor is placed on a single line, press `Alt+,` to pin package to the newest version but still in the current major version. For example, if the current version of xyz is 1.2.3, requirements.txt will generate following version line: xyz>=1.2.3,<2.0.0 following http://semver.org/. -- If you wish to pin exact versions, use `Alt+Shift+,` -> line will be replaced with xyz==1.2.3 -- This package supports mutliline and multicursor selections. If you wish to bring requirements.txt file up to date, just `Ctrl+A` & `Alt+Shift+`, it. +- When cursor is placed on a single line, press `Alt+,` to pin package to the most recent version but still in the current major line. For example, if the current version of xyz is 1.2.3, requirements.txt will generate following version line: xyz>=1.2.3,<2.0.0 following http://semver.org/. +- If you wish to hard pin most recent versions, use `Alt+Shift+,` -> line will be replaced with xyz==1.2.3 +- If you wish to pin a specific version, press `Alt+.` (soft) or `Alt+Shift+.` (hard) and pick a version from a quick panel. +- Commands with `,` support mutliline and multicursor selections. If you wish to bring requirements.txt file up to date, just `Ctrl+A` & `Alt+Shift+`. - Using requirements.txt also normalizes package names, so mysql-python becomes MySQL-python. @@ -24,9 +25,11 @@ Screenshots * ![](./doc/img/autocomplete.png) Autocomplete * ![](./doc/img/completed.png) Completed -* ![](./doc/img/soft_pin.png) Soft pinned `Alt+,` -* ![](./doc/img/hard_pin.png) Hard pinned `Alt+Shift+,` +* ![](./doc/img/soft_ver_sel.png) Select exact version for soft pin `Alt+.` +* ![](./doc/img/hard_ver_sel.png) Select exact version for hard pin `Alt+Shift+.` +* ![](./doc/img/soft_pin.png) Automatically soft pin most recent version `Alt+,` +* ![](./doc/img/hard_pin.png) Automatically hard pin most recent version `Alt+Shift+,` * ![](./doc/img/selection.png) Multi-line selection * ![](./doc/img/selection_soft.png) Multi-line selection & `Alt+,` * ![](./doc/img/multicursor.png) Multiple cursors -* ![](./doc/img/multicursor_hard.png) Multiple cursort & `Alt+Shift+,` +* ![](./doc/img/multicursor_hard.png) Multiple cursor & `Alt+Shift+,` diff --git a/doc/img/hard_ver_sel.png b/doc/img/hard_ver_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..2ac3f8ea50250bcb1c07235199479c91aa3fb01d GIT binary patch literal 15524 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 AkN^Mx literal 0 HcmV?d00001 diff --git a/messages.json b/messages.json new file mode 100644 index 0000000..de22aea --- /dev/null +++ b/messages.json @@ -0,0 +1,3 @@ +{ + "0.2.0": "messages/0.2.0.txt" +} diff --git a/messages/0.2.0.txt b/messages/0.2.0.txt new file mode 100644 index 0000000..2b749ea --- /dev/null +++ b/messages/0.2.0.txt @@ -0,0 +1,7 @@ +======================= +requirements.txt 0.2.0 +======================= + +Changelog: + - BUGFIX: core rewritten to make it work on OSX+ST2 and Linux+ST2 2.0.2, + - NEW: Alt+. and Alt+Shift+. let you choose specific version diff --git a/requirements.py b/requirements.py index 75d7653..8343fd0 100644 --- a/requirements.py +++ b/requirements.py @@ -160,6 +160,8 @@ def _parse_version_parts(s): def _releases(name, show_hidden=False): + """Because ServerProxy().package_releases() is soooo f*$& broken + under different ST2/3 + osx/windows/linux configurations""" template = '''\n\npackage_releases\n\n\n{name}\n\n\n{flag}\n\n\n\n''' flag = 1 if show_hidden else 0 payload = template.format(name=name, flag=flag).encode("utf-8")