diff --git a/prompt_toolkit-1.0.15.tar.gz b/prompt_toolkit-1.0.15.tar.gz deleted file mode 100644 index 9ab4c3a..0000000 --- a/prompt_toolkit-1.0.15.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:858588f1983ca497f1cf4ffde01d978a3ea02b01c8a26a8bbc5cd2e66d816917 -size 243734 diff --git a/prompt_toolkit-2.0.6.tar.gz b/prompt_toolkit-2.0.6.tar.gz new file mode 100644 index 0000000..556cc99 --- /dev/null +++ b/prompt_toolkit-2.0.6.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82766ffd7397e6661465e20bd1390db0781ca4fbbab4cf6c2578cacdd8b09754 +size 339714 diff --git a/python-prompt_toolkit.changes b/python-prompt_toolkit.changes index ef2f51a..fb9a272 100644 --- a/python-prompt_toolkit.changes +++ b/python-prompt_toolkit.changes @@ -1,3 +1,271 @@ +------------------------------------------------------------------- +Sat Oct 13 16:03:06 UTC 2018 - Arun Persaud + +- update to version 2.0.6: + * Bug fixes: + + Don't use the predefined ANSI colors for colors that are defined + as RGB. (Terminals can assign different color schemes for ansi + colors, and we don't want use any of those for colors that are + defined like #aabbcc for instance.) + + Fix in handling of CPRs when patch_stdout is used. + * Backwards incompatible changes: + + Change to the `Buffer` class. Reset the buffer unless the + `accept_handler` returns `True` (which means: "keep_text"). This + doesn't affect applications that use `PromptSession`. + * New features: + + Added `AdjustBrightnessStyleTransformation`. This is a simple + style transformation that improves the rendering on terminals + with light or dark background. + + Improved performance (string width caching and line height + calculation). + + Improved `TextArea`: + o Exposed `focus_on_click`. + o Added attributes: `auto_suggest`, `complete_while_typing`, + `history`, `get_line_prefix`, `input_processors`. + o Made attributes writable: `lexer`, `completer`, + `complete_while_typing`, `accept_handler`, `read_only`, + `wrap_lines`. + +- changes from version 2.0.5: + * Bug fixes: + + Fix in `DynamicContainer`. Return correct result for + `get_children`. This fixes a bug related to focusing. + + Properly compute length of `start`, `end` and `sym_b` characters + of progress bar. + + CPR (cursor position request) fix. + * Backwards incompatible changes: + + Stop restoring `PromptSession` attributes when exiting prompt. + * New features: + + Added `get_line_prefix` attribute to window. This opens many + possibilities: + o Line wrapping (soft and hard) can insert whitespace in front of + the line, or insert some symbols in front. Like the Vim + "breakindent" option. + o Single line prompts also support line continuations now. + o Line continuations can have a variable width. + + For VI mode: implemented temporary normal mode (control-O in + insert mode). + + Added style transformations API. Useful for swapping between + light and dark color schemes. Added `swap_light_and_dark_colors` + parameter to `prompt()` function. + + Added `format()` method to ANSI formatted text. + + Set cursor position for Button widgets. + + Added `pre_run` argument to `PromptSession.prompt()` method. + +------------------------------------------------------------------- +Fri Sep 28 03:43:16 UTC 2018 - Todd R + +- Update to 2.0.4 + + Bug fixes: + * Fix render height for rendering full screen applications in Windows. + * Fix in `TextArea`. Set `accept_handler` to `None` if not given. + * Go to the beginning of the next line when enter is pressed in Vi navigation + mode, and the buffer doesn't have an accept handler. + * Fix the `default` argument of the `prompt` function when called multiple + times. + * Display decomposed multiwidth characters correctly. + * Accept `history` in `prompt()` function again. + + Backwards incompatible changes: + * Renamed `PipeInput` to `PosixPipeInput`. Added `Win32PipeInput` and + `create_input_pipe`. + * Pass `buffer` argument to the `accept_handler` of `TextArea`. + + New features: + * Added `accept_default` argument to `prompt()`. + * Make it easier to change the body/title of a Frame/Dialog. + * Added `DynamicContainer`. + * Added `merge_completers` for merging multiple completers together. + * Add vt100 data to key presses in Windows. + * Handle left/right key bindings in Vi block insert mode. +- Update to 2.0.3 + + Bug fixes: + * Fix in 'x' and 'X' Vi key bindings. Correctly handle line endings and args. + * Fixed off by one error in Vi line selection. + * Fixed bugs in Vi block selection. Correctly handle lines that the selection + doesn't cross. + * Python 2 bugfix. Handle str/unicode correctly. + * Handle option+left/right in iTerm. +- Update to 2.0.2 + + Bug fixes: + * Python 3.7 support: correctly handle StopIteration in asynchronous generator. + * Fixed off-by-one bug in Vi visual block mode. + * Bugfix in TabsProcessor: handle situations when the cursor is at the end of + the line. +- Update to 2.0.1 + + Changes: + * No automatic translation from \r into \n during the input processing. These + are two different keys that can be handled independently. This is a big + backward-incompatibility, because the `Enter` key is `ControlM`, not + `ControlJ`. So, now that we stopped translating \r into \n, it could be that + custom key bindings for `Enter` don't work anymore. Make sure to bind + `Keys.Enter` instead of `Keys.ControlJ` for handling the `Enter` key. + * The `CommandLineInterface` and the `Application` classes are merged. First, + `CommandLineInterface` contained all the I/O objects (like the input, output + and event loop), while the `Application` contained everything else. There was + no practical reason to keep this separation. (`CommandLineInterface` was + mostly a proxy to `Application`.) + * prompt_toolkit no longer depends on Pygments, but it can still use Pygments + for its color schemes and lexers. In many places we used Pygments "Tokens", + this has been replaced by the concept of class names, somewhat similar to + HTML and CSS. + > `PygmentsStyle` and `PygmentsLexer` adaptors are available for + plugging in Pygments styles and lexers. + > Wherever we had a list of `(Token, text)` tuples, we now have lists of + `(style_string, text)` tuples. The style string can contain both inline + styling as well as refer to a class from the style sheet. `PygmentsTokens` + is an adaptor that converts a list of Pygments tokens into a list of + `(style_string, text)` tuples. + * Changes in the `Style` classes. + > `style.from_dict` does not exist anymore. Instantiate the ``Style`` class + directory to create a new style. ``Style.from_dict`` can be used to create + a style from a dictionary, where the dictionary keys are a space separated + list of class names, and the values, style strings (like before). + > `print_tokens` was renamed to `print_formatted_text`. + > In many places in the layout, we accept a parameter named `style`. All the + styles from the layout hierarchy are combined to decide what style to be + used. + > The ANSI color names were confusing and inconsistent with common naming + conventions. This has been fixed, but aliases for the original names were + kept. + * The way focusing works is different. Before it was always a `Buffer` that + was focused, and because of that, any visible `BufferControl` that contained + this `Buffer` would be focused. Now, any user control can be focused. All + of this is handled in the `Application.layout` object. + * The `buffers` dictionary (`CommandLineInterface.buffers`) does not exist + anymore. Further, `buffers` was a `BufferMapping` that keeps track of which + buffer has the focus. This significantly reduces the freedom for creating + complex applications. We wanted to move toward a layout that can be defined + as a (hierarchical) collection of user widgets. A user widget does not need + to have a `Buffer` underneath and any widget should be focusable. + > `layout.Layout` was introduced to contain the root layout widget and keep + track of the focus. + * The key bindings were refactored. It became much more flexible to combine + sets of key bindings. + > `Registry` has been renamed to `KeyBindings`. + > The `add_binding` function has been renamed to simply `add`. + > Every `load_*` function returns one `KeyBindings` objects, instead of + populating an existing one, like before. + > `ConditionalKeyBindings` was added. This can be used to enable/disable + all the key bindings from a given `Registry`. + > A function named `merge_key_bindings` was added. This takes a list of + `KeyBindings` and merges them into one. + > `key_binding.defaults.load_key_bindings` was added to load all the key + bindings. + > `KeyBindingManager` has been removed completely. + > `input_processor` was renamed to `key_processor`. + > The `Key` class does not exist anymore. Every key is a string and it's + considered fine to use string literals in the key bindings. This is more + readable, but we still have run-time validation. The `Keys` enum still + exist (for backwards-compatibility, but also to have an overview of which + keys are supported.) + > 'enter' and 'tab' are key aliases for 'c-m' and 'c-i'. + * User controls can define key bindings, which are active when the user control + is focused. + > `UIControl` got a `get_key_bindings` (abstract) method. + * Changes in the layout engine: + > `LayoutDimension` was renamed to `Dimension`. + > `VSplit` and `HSplit` now take a `padding` argument. + > `VSplit` and `HSplit` now take an `align` argument. + (TOP/CENTER/BOTTOM/JUSTIFY) or (LEFT/CENTER/RIGHT/JUSTIFY). + > `Float` now takes `allow_cover_cursor` and `attach_to_window` arguments. + > `Window` got an `WindowAlign` argument. This can be used for the alignment + of the content. `TokenListControl` (renamed to `FormattedTextControl`) does + not have an alignment argument anymore. + > All container objects, like `Window`, got a `style` argument. The style for + parent containers propagate to child containers, but can be overriden. + This is in particular useful for setting a background color. + > `FillControl` does not exist anymore. Use the `style` and `char` arguments + of the `Window` class instead. + > `DummyControl` was added. + > The continuation function of `PromptMargin` now takes `line_number` and + `is_soft_wrap` as input. + * Changes to `BufferControl`: + > The `InputProcessor` class has been refactored. The `apply_transformation` + method should now takes a `TransformationInput` object as input. + > The text `(reverse-i-search)` is now displayed through a processor. (See + the `shortcuts` module for an example of its usage.) + * `widgets` and `dialogs` modules: + > A small collection of widgets was added. These are more complex collections + of user controls that are ready to embed in a layout. A `shortcuts.dialogs` + module was added as a high level API for displaying input, confirmation and + message dialogs. + > Every class that exposes a ``__pt_container__`` method (which is supposed + to return a ``Container`` instance) is considered a widget. The + ``to_container`` shortcut will call this method in situations where a + ``Container`` object is expected. This avoids inheritance from other + ``Container`` types, but also having to unpack the container object from + the widget, in case we would have used composition. + > Warning: The API of the widgets module is not considered stable yet, and + can change is the future, if needed. + * Changes to `Buffer`: + > A `Buffer` no longer takes an `accept_action`. Both `AcceptAction` and + `AbortAction` have been removed. Instead it takes an `accept_handler`. + * Changes regarding auto completion: + > The left and right arrows now work in the multi-column auto completion + menu. + > By default, autocompletion is synchronous. The completer needs to be + wrapped in `ThreadedCompleter` in order to get asynchronous autocompletion. + > When the completer runs in a background thread, completions will be + displayed as soon as they are generated. This means that we don't have to + wait for all the completions to be generated, before displaying the first + one. The completion menus are updated as soon as new completions arrive. + * Changes regarding input validation: + > Added the `Validator.from_callable` class method for easy creation of + new validators. + * Changes regarding the `History` classes: + > The `History` base class has a different interface. This was needed for + asynchronous loading of the history. `ThreadedHistory` was added for this. + * Changes related to `shortcuts.prompt`: + > There is now a class `PromptSession` which also has a method `prompt`. Both + the class and the method take about the same arguments. This can be used to + create a session. Every `prompt` call of the same instance will reuse all + the arguments given to the class itself. + The input history is always shared during the entire session. + Of course, it's still possible to call the global `prompt` function. This + will create a new `PromptSession` every time when it's called. + > The `prompt` function now takes a `key_bindings` argument instead of + `key_bindings_registry`. This should only contain the additional bindings. + (The default bindings are always included.) + * Changes to the event loops: + > The event loop API is now closer to how asyncio works. A prompt_toolkit + `Application` now has a `Future` object. Calling the `.run_async()` method + creates and returns that `Future`. An event loop has a `run_until_complete` + method that takes a future and runs the event loop until the Future is set. + The idea is to be able to transition easily to asyncio when Python 2 + support can be dropped in the future. + > `Application` still has a method `run()` that underneath still runs the + event loop until the `Future` is set and returns that result. + > The asyncio adaptors (like the asyncio event loop integration) now require + Python 3.5. (We use the async/await syntax internally.) + > The `Input` and `Output` classes have some changes. (Not really important.) + > `Application.run_sub_applications` has been removed. The alternative is to + call `run_coroutine_in_terminal` which returns a `Future`. + * Changes to the `filters` module: + > The `Application` is no longer passed around, so both `CLIFilter` and + `SimpleFilter` were merged into `Filter`. `to_cli_filter` and + `to_simple_filter` became `to_filter`. + > All filters have been turned into functions. For instance, `IsDone` + became `is_done` and `HasCompletions` became `has_completions`. + This was done because almost all classes were called without any arguments + in the `__init__` causing additional braces everywhere. This means that + `HasCompletions()` has to be replaced by `has_completions` (without + parenthesis). + The few filters that took arguments as input, became functions, but still + have to be called with the given arguments. + For new filters, it is recommended to use the `@Condition` decorator, + rather then inheriting from `Filter`. + * Other renames: + > `IncrementalSearchDirection` was renamed to `SearchDirection`. + > The `use_alternate_screen` parameter has been renamed to `full_screen`. + > `Buffer.initial_document` was renamed to `Buffer.document`. + > `TokenListControl` has been renamed to `FormattedTextControl`. + > `Application.set_return_value` has been renamed to `Application.set_result`. + * Other new features: + > `DummyAutoSuggest` and `DynamicAutoSuggest` were added. + > `DummyClipboard` and `DynamicClipboard` were added. + > `DummyCompleter` and `DynamicCompleter` were added. + > `DummyHistory` and `DynamicHistory` was added. + > `to_container` and `to_window` utilities were added. + ------------------------------------------------------------------- Fri Jul 27 07:07:38 UTC 2018 - jengelh@inai.de diff --git a/python-prompt_toolkit.spec b/python-prompt_toolkit.spec index 5094b77..477dcd0 100644 --- a/python-prompt_toolkit.spec +++ b/python-prompt_toolkit.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -20,7 +20,7 @@ %define oldpython python %bcond_without test Name: python-prompt_toolkit -Version: 1.0.15 +Version: 2.0.6 Release: 0 Summary: Library for building interactive command lines in Python License: BSD-3-Clause @@ -33,6 +33,7 @@ BuildRequires: python-rpm-macros Requires: python-six >= 1.9.0 Requires: python-wcwidth Recommends: python-Pygments +Conflicts: python-prompt_toolkit1 BuildArch: noarch %if %{with test} BuildRequires: %{python_module pytest}