From b015798df07d0f9ae95a5c1d093529c0fcd8ffc5 Mon Sep 17 00:00:00 2001 From: Ted Conbeer Date: Mon, 26 Jun 2023 15:06:24 -0600 Subject: [PATCH] chore: bump textual-textarea to v0.3.1 (#129) * chore: bump textual-textarea to v0.3.1 * fix: xfail MD tests on windows --- CHANGELOG.md | 6 +++ poetry.lock | 66 ++++++++++++++++++++++--- pyproject.toml | 2 +- tests/functional_tests/test_duck_ops.py | 4 ++ 4 files changed, 69 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ee8c5ee..8474d2ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Features +- It's back: select text in the query editor using click and drag ([#42](https://github.com/tconbeer/textual-textarea/issues/42)). + +### Bug Fixes +- Fixes a bug where PgUp could cause a crash ([#46](https://github.com/tconbeer/textual-textarea/issues/46)). + ## [0.0.18] - 2023-06-23 ### Bug Fixes diff --git a/poetry.lock b/poetry.lock index ad79479c..99d9c176 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,9 +1,10 @@ -# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. [[package]] name = "aiohttp" version = "3.8.4" description = "Async http client/server framework (asyncio)" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -112,6 +113,7 @@ speedups = ["Brotli", "aiodns", "cchardet"] name = "aiosignal" version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -126,6 +128,7 @@ frozenlist = ">=1.1.0" name = "async-timeout" version = "4.0.2" description = "Timeout context manager for asyncio programs" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -137,6 +140,7 @@ files = [ name = "attrs" version = "23.1.0" description = "Classes Without Boilerplate" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -155,6 +159,7 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte name = "black" version = "23.3.0" description = "The uncompromising code formatter." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -204,6 +209,7 @@ uvloop = ["uvloop (>=0.15.2)"] name = "cfgv" version = "3.3.1" description = "Validate configuration and produce human readable error messages." +category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -215,6 +221,7 @@ files = [ name = "charset-normalizer" version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "dev" optional = false python-versions = ">=3.7.0" files = [ @@ -299,6 +306,7 @@ files = [ name = "click" version = "8.1.3" description = "Composable command line interface toolkit" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -313,6 +321,7 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -324,6 +333,7 @@ files = [ name = "distlib" version = "0.3.6" description = "Distribution utilities" +category = "dev" optional = false python-versions = "*" files = [ @@ -335,6 +345,7 @@ files = [ name = "duckdb" version = "0.8.1" description = "DuckDB embedded database" +category = "main" optional = false python-versions = "*" files = [ @@ -396,6 +407,7 @@ files = [ name = "exceptiongroup" version = "1.1.1" description = "Backport of PEP 654 (exception groups)" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -410,6 +422,7 @@ test = ["pytest (>=6)"] name = "filelock" version = "3.12.2" description = "A platform independent file lock." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -425,6 +438,7 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "diff-cover (>=7.5)", "p name = "frozenlist" version = "1.3.3" description = "A list-like structure which implements collections.abc.MutableSequence" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -508,6 +522,7 @@ files = [ name = "identify" version = "2.5.24" description = "File identification library for Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -522,6 +537,7 @@ license = ["ukkonen"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" +category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -533,6 +549,7 @@ files = [ name = "importlib-metadata" version = "6.7.0" description = "Read metadata from Python packages" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -552,6 +569,7 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -563,6 +581,7 @@ files = [ name = "linkify-it-py" version = "2.0.2" description = "Links recognition library with FULL unicode support." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -583,6 +602,7 @@ test = ["coverage", "pytest", "pytest-cov"] name = "markdown-it-py" version = "2.2.0" description = "Python port of markdown-it. Markdown parsing, done right!" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -609,6 +629,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "mdit-py-plugins" version = "0.4.0" description = "Collection of plugins for markdown-it-py" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -628,6 +649,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "mdurl" version = "0.1.2" description = "Markdown URL utilities" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -639,6 +661,7 @@ files = [ name = "msgpack" version = "1.0.5" description = "MessagePack serializer" +category = "dev" optional = false python-versions = "*" files = [ @@ -711,6 +734,7 @@ files = [ name = "multidict" version = "6.0.4" description = "multidict implementation" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -794,6 +818,7 @@ files = [ name = "mypy" version = "1.4.1" description = "Optional static typing for Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -840,6 +865,7 @@ reports = ["lxml"] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." +category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -851,6 +877,7 @@ files = [ name = "nodeenv" version = "1.8.0" description = "Node.js virtual environment builder" +category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ @@ -865,6 +892,7 @@ setuptools = "*" name = "packaging" version = "23.1" description = "Core utilities for Python packages" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -876,6 +904,7 @@ files = [ name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -885,13 +914,14 @@ files = [ [[package]] name = "platformdirs" -version = "3.7.0" +version = "3.8.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.7.0-py3-none-any.whl", hash = "sha256:cfd065ba43133ff103ab3bd10aecb095c2a0035fcd1f07217c9376900d94ba07"}, - {file = "platformdirs-3.7.0.tar.gz", hash = "sha256:87fbf6473e87c078d536980ba970a472422e94f17b752cfad17024c18876d481"}, + {file = "platformdirs-3.8.0-py3-none-any.whl", hash = "sha256:ca9ed98ce73076ba72e092b23d3c93ea6c4e186b3f1c3dad6edd98ff6ffcca2e"}, + {file = "platformdirs-3.8.0.tar.gz", hash = "sha256:b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc"}, ] [package.extras] @@ -902,6 +932,7 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest- name = "pluggy" version = "1.2.0" description = "plugin and hook calling mechanisms for python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -917,6 +948,7 @@ testing = ["pytest", "pytest-benchmark"] name = "pre-commit" version = "3.3.3" description = "A framework for managing and maintaining multi-language pre-commit hooks." +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -935,6 +967,7 @@ virtualenv = ">=20.10.0" name = "pygments" version = "2.15.1" description = "Pygments is a syntax highlighting package written in Python." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -949,6 +982,7 @@ plugins = ["importlib-metadata"] name = "pyperclip" version = "1.8.2" description = "A cross-platform clipboard module for Python. (Only handles plain text for now.)" +category = "main" optional = false python-versions = "*" files = [ @@ -959,6 +993,7 @@ files = [ name = "pytest" version = "7.4.0" description = "pytest: simple powerful testing with Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -981,6 +1016,7 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "pytest-asyncio" version = "0.21.0" description = "Pytest support for asyncio" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -999,6 +1035,7 @@ testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1048,6 +1085,7 @@ files = [ name = "rich" version = "13.4.2" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -1067,6 +1105,7 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] name = "ruff" version = "0.0.275" description = "An extremely fast Python linter, written in Rust." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1093,6 +1132,7 @@ files = [ name = "setuptools" version = "68.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1109,6 +1149,7 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( name = "shandy-sqlfmt" version = "0.19.0" description = "sqlfmt is an opinionated CLI tool that formats your sql files" +category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -1130,6 +1171,7 @@ sqlfmt-primer = ["gitpython (>=3.1.24,<4.0.0)"] name = "textual" version = "0.28.1" description = "Modern Text User Interface framework" +category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -1151,13 +1193,14 @@ dev = ["aiohttp (>=3.8.1)", "click (>=8.1.2)", "msgpack (>=1.0.3)"] [[package]] name = "textual-textarea" -version = "0.2.2" +version = "0.3.1" description = "A text area (multi-line input) with syntax highlighting for Textual" +category = "main" optional = false python-versions = ">=3.8,<4.0" files = [ - {file = "textual_textarea-0.2.2-py3-none-any.whl", hash = "sha256:528ac2c38063170f4c9ac560e58c4ded57ea9c3933fafd020359ef6e06eeb5e5"}, - {file = "textual_textarea-0.2.2.tar.gz", hash = "sha256:fb6032a09d87b11953b5a5cdfc096db2e590b9c9e1e77334de6bbb59eb2661a5"}, + {file = "textual_textarea-0.3.1-py3-none-any.whl", hash = "sha256:cddf923079ac9bba08bcb86c39b168d915e641320e554487783aca39b309d32d"}, + {file = "textual_textarea-0.3.1.tar.gz", hash = "sha256:f876a0acc74819d099b4ebf4ee393d5c63aa69d48b5e980aa3ba50bac63924ca"}, ] [package.dependencies] @@ -1168,6 +1211,7 @@ textual = ">=0.21.0,<1.0.0" name = "tomli" version = "2.0.1" description = "A lil' TOML parser" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1179,6 +1223,7 @@ files = [ name = "tqdm" version = "4.65.0" description = "Fast, Extensible Progress Meter" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1199,6 +1244,7 @@ telegram = ["requests"] name = "typing-extensions" version = "4.6.3" description = "Backported and Experimental Type Hints for Python 3.7+" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1210,6 +1256,7 @@ files = [ name = "uc-micro-py" version = "1.0.2" description = "Micro subset of unicode data files for linkify-it-py projects." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1224,6 +1271,7 @@ test = ["coverage", "pytest", "pytest-cov"] name = "virtualenv" version = "20.23.1" description = "Virtual Python Environment builder" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1244,6 +1292,7 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess name = "yarl" version = "1.9.2" description = "Yet another URL library" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1331,6 +1380,7 @@ multidict = ">=4.0" name = "zipp" version = "3.15.0" description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1345,4 +1395,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "e26c5d074aa1db050d76469904f6e740cd5c0d5e41a252d54c35e915f344871b" +content-hash = "e2af39a062676fcecab36f7112d24b43c1f310d1411ceda2694d7b8c3218556d" diff --git a/pyproject.toml b/pyproject.toml index 803cd0f0..866f426b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.dependencies] python = "^3.8" textual = "==0.28.1" -textual-textarea = "==0.2.2" +textual-textarea = "==0.3.1" click = "^8.1.3" duckdb = ">=0.8.0" shandy-sqlfmt = ">=0.19.0" diff --git a/tests/functional_tests/test_duck_ops.py b/tests/functional_tests/test_duck_ops.py index 80ad8e52..f4dbb06e 100644 --- a/tests/functional_tests/test_duck_ops.py +++ b/tests/functional_tests/test_duck_ops.py @@ -1,3 +1,4 @@ +import sys from pathlib import Path import pytest @@ -22,6 +23,9 @@ def test_connect(tiny_db: Path, small_db: Path, tmp_path: Path) -> None: assert connect([tmp_path / "new.db"]) +@pytest.mark.xfail( + sys.platform == "win32", reason="MotherDuck extension not yet built for Windows." +) def test_connect_motherduck(tiny_db: Path) -> None: # note: set environment variable motherduck_token assert connect(["md:"])