Server IP : 103.191.208.50 / Your IP : 216.73.216.226 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 5.6.40 Disable Function : show_source, system, shell_exec, passthru, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/../opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
"""Example extension, also used for testing. See extend.txt for more details on creating an extension. See config-extension.def for configuring an extension. """ from idlelib.config import idleConf from functools import wraps def format_selection(format_line): "Apply a formatting function to all of the selected lines." @wraps(format_line) def apply(self, event=None): head, tail, chars, lines = self.formatter.get_region() for pos in range(len(lines) - 1): line = lines[pos] lines[pos] = format_line(self, line) self.formatter.set_region(head, tail, chars, lines) return 'break' return apply class ZzDummy: """Prepend or remove initial text from selected lines.""" # Extend the format menu. menudefs = [ ('format', [ ('Z in', '<<z-in>>'), ('Z out', '<<z-out>>'), ] ) ] def __init__(self, editwin): "Initialize the settings for this extension." self.editwin = editwin self.text = editwin.text self.formatter = editwin.fregion @classmethod def reload(cls): "Load class variables from config." cls.ztext = idleConf.GetOption('extensions', 'ZzDummy', 'z-text') @format_selection def z_in_event(self, line): """Insert text at the beginning of each selected line. This is bound to the <<z-in>> virtual event when the extensions are loaded. """ return f'{self.ztext}{line}' @format_selection def z_out_event(self, line): """Remove specific text from the beginning of each selected line. This is bound to the <<z-out>> virtual event when the extensions are loaded. """ zlength = 0 if not line.startswith(self.ztext) else len(self.ztext) return line[zlength:] ZzDummy.reload() if __name__ == "__main__": import unittest unittest.main('idlelib.idle_test.test_zzdummy', verbosity=2, exit=False)