bpo-17535: IDLE editor line numbers (GH-14030) · python/cpython@1da6a31 (original) (raw)

`@@ -819,6 +819,7 @@ def create_page_highlight(self):

`

819

819

`'Shell Error Text': ('error', '12'),

`

820

820

`'Shell Stdout Text': ('stdout', '13'),

`

821

821

`'Shell Stderr Text': ('stderr', '14'),

`

``

822

`+

'Line Number': ('linenumber', '16'),

`

822

823

` }

`

823

824

`self.builtin_name = tracers.add(

`

824

825

`StringVar(self), self.var_changed_builtin_name)

`

`@@ -866,6 +867,11 @@ def create_page_highlight(self):

`

866

867

` ('stderr', 'stderr'), ('\n\n', 'normal'))

`

867

868

`for texttag in text_and_tags:

`

868

869

`text.insert(END, texttag[0], texttag[1])

`

``

870

`+

n_lines = len(text.get('1.0', END).splitlines())

`

``

871

`+

for lineno in range(1, n_lines + 1):

`

``

872

`+

text.insert(f'{lineno}.0',

`

``

873

`+

f'{lineno:{len(str(n_lines))}d} ',

`

``

874

`+

'linenumber')

`

869

875

`for element in self.theme_elements:

`

870

876

`def tem(event, elem=element):

`

871

877

`# event.widget.winfo_top_level().highlight_target.set(elem)

`

`@@ -1827,6 +1833,9 @@ def create_page_general(self):

`

1827

1833

` frame_format: Frame

`

1828

1834

` format_width_title: Label

`

1829

1835

` (*)format_width_int: Entry - format_width

`

``

1836

`+

frame_line_numbers_default: Frame

`

``

1837

`+

line_numbers_default_title: Label

`

``

1838

`+

(*)line_numbers_default_bool: Checkbutton - line_numbers_default

`

1830

1839

` frame_context: Frame

`

1831

1840

` context_title: Label

`

1832

1841

` (*)context_int: Entry - context_lines

`

`@@ -1866,6 +1875,9 @@ def create_page_general(self):

`

1866

1875

`IntVar(self), ('main', 'General', 'autosave'))

`

1867

1876

`self.format_width = tracers.add(

`

1868

1877

`StringVar(self), ('extensions', 'FormatParagraph', 'max-width'))

`

``

1878

`+

self.line_numbers_default = tracers.add(

`

``

1879

`+

BooleanVar(self),

`

``

1880

`+

('main', 'EditorWindow', 'line-numbers-default'))

`

1869

1881

`self.context_lines = tracers.add(

`

1870

1882

`StringVar(self), ('extensions', 'CodeContext', 'maxlines'))

`

1871

1883

``

`@@ -1944,6 +1956,14 @@ def create_page_general(self):

`

1944

1956

`validatecommand=self.digits_only, validate='key',

`

1945

1957

` )

`

1946

1958

``

``

1959

`+

frame_line_numbers_default = Frame(frame_editor, borderwidth=0)

`

``

1960

`+

line_numbers_default_title = Label(

`

``

1961

`+

frame_line_numbers_default, text='Show line numbers in new windows')

`

``

1962

`+

self.line_numbers_default_bool = Checkbutton(

`

``

1963

`+

frame_line_numbers_default,

`

``

1964

`+

variable=self.line_numbers_default,

`

``

1965

`+

width=1)

`

``

1966

+

1947

1967

`frame_context = Frame(frame_editor, borderwidth=0)

`

1948

1968

`context_title = Label(frame_context, text='Max Context Lines :')

`

1949

1969

`self.context_int = Entry(

`

`@@ -2021,6 +2041,10 @@ def create_page_general(self):

`

2021

2041

`frame_format.pack(side=TOP, padx=5, pady=0, fill=X)

`

2022

2042

`format_width_title.pack(side=LEFT, anchor=W, padx=5, pady=5)

`

2023

2043

`self.format_width_int.pack(side=TOP, padx=10, pady=5)

`

``

2044

`+

frame_line_numbers_default.

`

``

2045

`+

frame_line_numbers_default.pack(side=TOP, padx=5, pady=0, fill=X)

`

``

2046

`+

line_numbers_default_title.pack(side=LEFT, anchor=W, padx=5, pady=5)

`

``

2047

`+

self.line_numbers_default_bool.pack(side=LEFT, padx=5, pady=5)

`

2024

2048

`# frame_context.

`

2025

2049

`frame_context.pack(side=TOP, padx=5, pady=0, fill=X)

`

2026

2050

`context_title.pack(side=LEFT, anchor=W, padx=5, pady=5)

`

`@@ -2063,6 +2087,8 @@ def load_general_cfg(self):

`

2063

2087

`'main', 'General', 'autosave', default=0, type='bool'))

`

2064

2088

`self.format_width.set(idleConf.GetOption(

`

2065

2089

`'extensions', 'FormatParagraph', 'max-width', type='int'))

`

``

2090

`+

self.line_numbers_default.set(idleConf.GetOption(

`

``

2091

`+

'main', 'EditorWindow', 'line-numbers-default', type='bool'))

`

2066

2092

`self.context_lines.set(idleConf.GetOption(

`

2067

2093

`'extensions', 'CodeContext', 'maxlines', type='int'))

`

2068

2094

``