##// END OF EJS Templates
Fix completion tuple (#14594)...
Fix completion tuple (#14594) In progress work toward #14585 guarded eval strip leading characters until it find soemthing, this is problematic as `(1, x`, becomes valid after 1 char strip: `1, x` is a tuple; So now we trim until it is valid an not a tuple. This is still imperfect as things like `(1, a[" "].y` will be trimmed to `y`, while it should stop with `a[" "].y` ? I think maybe we should back-propagate; build back up from `y`, to `a[" "].y`, greedily until we get the last valid expression – skipping any unbalanced parentheses/quotes if we encounter imblanced.

File last commit:

r26875:5f90ef7c
r28978:9cdf92d3 merge
Show More
gui-gtk4.py
37 lines | 716 B | text/x-python | PythonLexer
#!/usr/bin/env python
"""Simple Gtk example to manually test event loop integration.
This is meant to run tests manually in ipython as:
In [1]: %gui gtk4
In [2]: %run gui-gtk4.py
"""
import gi
gi.require_version("Gtk", "4.0")
from gi.repository import Gtk, GLib # noqa
def hello_world(widget, data=None):
print("Hello World")
def close_request_cb(widget, data=None):
global running
running = False
running = True
window = Gtk.Window()
window.connect("close-request", close_request_cb)
button = Gtk.Button(label="Hello World")
button.connect("clicked", hello_world, None)
window.set_child(button)
window.show()
context = GLib.MainContext.default()
while running:
context.iteration(True)