Show More
@@ -87,10 +87,23 b' def create_ipython_shortcuts(shell):' | |||||
87 |
|
87 | |||
88 |
|
88 | |||
89 | def newline_or_execute_outer(shell): |
|
89 | def newline_or_execute_outer(shell): | |
|
90 | ||||
|
91 | import black | |||
90 | def newline_or_execute(event): |
|
92 | def newline_or_execute(event): | |
91 | """When the user presses return, insert a newline or execute the code.""" |
|
93 | """When the user presses return, insert a newline or execute the code.""" | |
92 | b = event.current_buffer |
|
94 | b = event.current_buffer | |
93 | d = b.document |
|
95 | d = b.document | |
|
96 | def try_reformat(): | |||
|
97 | try: | |||
|
98 | tbc = b.delete_before_cursor(len(d.text[:d.cursor_position])) | |||
|
99 | fmt= black.format_str(tbc, mode=black.FileMode()) | |||
|
100 | if not tbc.endswith('\n') and fmt.endswith('\n'): | |||
|
101 | fmt = fmt[:-1] | |||
|
102 | b.insert_text(fmt) | |||
|
103 | #print(f'no eexc |{tbc[-1]}|,|{d.text[-1]}|, |{fmt[-3:-1]}|') | |||
|
104 | except Exception as e: | |||
|
105 | b.insert_text(tbc) | |||
|
106 | ||||
94 |
|
107 | |||
95 | if b.complete_state: |
|
108 | if b.complete_state: | |
96 | cc = b.complete_state.current_completion |
|
109 | cc = b.complete_state.current_completion | |
@@ -118,9 +131,11 b' def newline_or_execute_outer(shell):' | |||||
118 | return |
|
131 | return | |
119 |
|
132 | |||
120 | if (status != 'incomplete') and b.accept_handler: |
|
133 | if (status != 'incomplete') and b.accept_handler: | |
|
134 | try_reformat() | |||
121 | b.validate_and_handle() |
|
135 | b.validate_and_handle() | |
122 | else: |
|
136 | else: | |
123 | if shell.autoindent: |
|
137 | if shell.autoindent: | |
|
138 | try_reformat() | |||
124 | b.insert_text('\n' + indent) |
|
139 | b.insert_text('\n' + indent) | |
125 | else: |
|
140 | else: | |
126 | b.insert_text('\n') |
|
141 | b.insert_text('\n') |
General Comments 0
You need to be logged in to leave comments.
Login now