Commit Graph

3655 Commits

Author SHA1 Message Date
Rodrigo Girão Serrão
b4262201ae Update mkdocs.yml 2022-12-16 13:13:08 +00:00
Rodrigo Girão Serrão
92391339ae Fix link typo 2022-12-16 11:49:07 +00:00
Will McGugan
6bc7e98889 fix scroll to top 2022-12-16 09:09:29 +00:00
Dave Pearson
4512d33c90 Merge pull request #1373 from davep/list-item-checks-fix
Correct the check list for the `ListItem`
2022-12-15 16:27:05 +00:00
Dave Pearson
c90e4adaf8 Correct the check list for the ListItem
The checks in the list, which were unckecked, needed spaces in them to
render correctly in the docs.
2022-12-15 16:23:49 +00:00
Dave Pearson
4ee1aba436 Add a note about priority and defaults to the binding documentation 2022-12-15 15:02:55 +00:00
darrenburns
14a4ad48cd Merge branch 'main' into validator-first-set 2022-12-15 14:50:46 +00:00
Dave Pearson
b0de5aed3d Remove vestigial cast from earlier tests 2022-12-15 14:46:37 +00:00
Dave Pearson
f25f6cbbb5 Fix a typo 2022-12-15 14:45:34 +00:00
Dave Pearson
6dfa8802ec Update the CHANGELOG 2022-12-15 14:37:54 +00:00
Dave Pearson
50dd8d095c Remove universal=True from bindings in 5x5
Not only has universal not changed to priority, these bindings are on the
screen and so have priority anyway. This means we can safely go back to how
5x5 was prior to 0.6.0.
2022-12-15 14:30:48 +00:00
Dave Pearson
431053182c Merge branch 'main' into bug/1342/inherited-movement-keys 2022-12-15 14:28:03 +00:00
Dave Pearson
75c9fba393 Use is to test tri-state, rather than equality
See https://github.com/Textualize/textual/pull/1346#discussion_r1049675405
2022-12-15 14:26:10 +00:00
Dave Pearson
b9f2382f96 Merge pull request #1360 from davep/5x5-cursor-keys
Make the cursor keys work in 5x5 again
2022-12-15 14:18:56 +00:00
Dave Pearson
d389c9185a s/mk_/make_/g
mk_bgr
2022-12-15 14:14:25 +00:00
Dave Pearson
f08b4eda6d Swap final test to a screen type rather than instance
See https://github.com/Textualize/textual/pull/1346#discussion_r1049678092
2022-12-15 14:12:52 +00:00
Dave Pearson
7397cff52a Revert previous attempt at an experiment 2022-12-15 14:12:00 +00:00
Will McGugan
4dcdea8940 Merge pull request #1361 from Textualize/key-display-fixes
Ensure only printable keys added to footer
2022-12-15 14:07:28 +00:00
Dave Pearson
549fd6b47e Experiment with recording at all levels
More attempts to figure out why I'm getting the async issue with messages
and the pilot.
2022-12-15 14:04:03 +00:00
Dave Pearson
f2db3f345c Revert deliberate test fail
Wasn't that.
2022-12-15 13:53:20 +00:00
Dave Pearson
32d3fc054a Revert to a deliberate priority binding lookup fail
Just for the moment; just to see if I can get this to fail normally in CI.
2022-12-15 13:47:17 +00:00
Dave Pearson
251e756231 Merge pull request #1362 from davep/export-typing-types
Export the types that _typing.py imports and makes available
2022-12-15 13:46:42 +00:00
Dave Pearson
0e89e88943 Hail Mary change to how I reverse the binding chain
This seems highly unlikely, but as an experiment...
2022-12-15 13:31:24 +00:00
Dave Pearson
b196d8cd2e Revert experimental backing out of recent changes
Didn't make a difference. CI on GitHub is still acting differently.
2022-12-15 13:29:27 +00:00
Dave Pearson
76a22d81d4 Eliminating changes
This is the one biggish change between the last working test run in GitHub,
and now. Tests are still running locally fine, an on GitHub, in the last
run, I had one job pass and another fail, both on the same OS, just 3.10
passed and 3.9 failed. The problem still to do with (as far as I can tell)
messages inside Textual and some sort of async issue.

So let's try this.
2022-12-15 13:25:05 +00:00
Dave Pearson
938cd3bd1d Namespace the recording actions
Wondering if this is the issue with why the tests have stopped working in
GitHub; but also not *really* confused as to why they were working in the
first place.
2022-12-15 13:17:16 +00:00
Dave Pearson
2f77bab409 Extra long pause test
This code is running just finally locally in tests, but is failing with:

RuntimeError: Task <Task pending name='Task-279' coro=<MessagePump._process_messages() running at /home/runner/work/textual/textual/src/textual/message_pump.py:314>> got Future <Future pending> attached to a different loop

in GitHub Actions. Pretty sure I saw this before, which made me add the
pause in the first place. Given this seems to just be affecting the last
test, from what I can tell, let's make the pause longer to see if that
helps.

I hate chasing action issues...
2022-12-15 12:57:14 +00:00
Dave Pearson
ad7c2e6c4d Round off the priority clash test and un-xfail it
Also add in a test for when there is no priority anywhere. This is still a
priority level that needs testing, it just isn't a priority.
2022-12-15 12:47:46 +00:00
Dave Pearson
90ecf4e37b If checking for a priority binding, go App down
If not, go lowest level up.
2022-12-15 12:46:48 +00:00
Dave Pearson
618db503b9 Add tests for competing bindings an priority permutations
This is set to xfail at the moment because the tested result is what I think
should be the result, but what happens now isn't that. Need to check with
Will to see what he thinks the correct resolution is here.
2022-12-15 12:16:27 +00:00
Dave Pearson
50df082479 Keep black happy 2022-12-15 12:16:16 +00:00
Dave Pearson
8ff9af581c Test rationale comment update 2022-12-15 09:10:00 +00:00
Dave Pearson
4a78283574 Update the binding inheritance tests to reflect the emerging changes
I feel some more will be needed, but this is all of the basics, hitting all
of the important points that relate to #1343. More importantly all of the
xfails are now removed.
2022-12-14 20:59:57 +00:00
Dave Pearson
bb5dd97634 Make bindings on App and child classes priority by default
As requested by @willmcgugan while discussing #1343.
2022-12-14 20:59:35 +00:00
Dave Pearson
f1b5af2c71 Make bindings on Screen and child classes priority by default
As requested by @willmcgugan while discussing #1343.
2022-12-14 20:58:19 +00:00
Dave Pearson
cb0f8d2664 Add support for a PRIORITY_BINDINGS classvar
This works in conjunction with BINDINGS. If a widget has BINDINGS, and if
any of those bindings have a priority that isn't True or False, the value of
PRIORITY_BINDINGS will be used (or the value from one of the parent classes,
if there are any, will be used if it isn't set on the current class).

See #1343.
2022-12-14 20:57:54 +00:00
Dave Pearson
96a7701de1 Add support for a default priority for Bindings
This commit changes things slightly so that the priority of a binding is an
three-state: True, False or None. True and False are firm choices that
nothing else should override. None says "fall back to whatever default is up
for grabs".

The commit also then adds support for a default priority and, when building
a binding, it uses that if the binding has a priority of None.

See #1343.
2022-12-14 20:52:09 +00:00
Dave Pearson
e300bf2d71 Strip the keys before turning them into bindings 2022-12-14 17:35:11 +00:00
Dave Pearson
dcad134acd Add a (currently) breaking test for spaces within a key list
At the moment at least, we don't allow binding on " ", we bind on "space".
Meanwhile, tidy folk may try and bind in "a, b, c, d" as opposed to trying
to bind on "a,b,c,d". I feel we should allow for that.

This test, which breaks at the moment, should be satisfied.
2022-12-14 17:29:47 +00:00
Dave Pearson
bf3c2dd060 Add a docstring to Bindings.__init__ 2022-12-14 17:13:44 +00:00
Dave Pearson
29ef8e888b Merge pull request #1365 from davep/binding-merge-docstring-typo
Correct what looks to be a typo in the Bindings.merge docstring
2022-12-14 16:56:31 +00:00
Dave Pearson
c95cd96e50 Correct what looks to be a typo in the Bindings.merge docstring
In the given context, I suspect subsequent makes more sense than subsequence.
2022-12-14 16:38:41 +00:00
Dave Pearson
af5ef6c1a4 Merge branch 'main' into bug/1342/inherited-movement-keys 2022-12-14 16:21:57 +00:00
Dave Pearson
b2ac3f66c8 Merge pull request #1363 from davep/prune-unused-mounterror-import
Remove unused import of MounrError in app.py
2022-12-14 16:00:21 +00:00
Dave Pearson
e9de8a2d44 Remove unused import of MounrError in app.py
Noticed while passing by.
2022-12-14 15:29:25 +00:00
Dave Pearson
7c37c9b0f3 Rename the binding universal argument to priority
As per https://github.com/Textualize/textual/issues/1343#issuecomment-1351087237
2022-12-14 15:21:03 +00:00
Dave Pearson
9cec7bd840 Add a docstring to the Binding dataclass 2022-12-14 15:04:33 +00:00
Dave Pearson
29a9827ba1 Export the types that _typing.py imports and makes available
Mostly adding this so that it turns this:

$ poetry run mypy --strict binding.py
binding.py:8: error: Module "textual._typing" does not explicitly export attribute "TypeAlias"  [attr-defined]
Found 1 error in 1 file (checked 1 source file)

into this:

$ poetry run mypy --strict binding.py
Success: no issues found in 1 source file
2022-12-14 14:53:20 +00:00
Darren Burns
e01c33c06a Snapshot updates 2022-12-14 14:21:41 +00:00
Darren Burns
473c5c5a51 Update CHANGELOG 2022-12-14 14:13:06 +00:00