Title: Multi-line editing · Issue #1013 · bpython/bpython · GitHub
Open Graph Title: Multi-line editing · Issue #1013 · bpython/bpython
X Title: Multi-line editing · Issue #1013 · bpython/bpython
Description: (This complements #22, it is not a duplicate.) While inputting a multi-line form (e.g. a function or class), bpython does not let me cursor back to a previous line (e.g. to fix a typo). Note, this is orthogonal and complementary to worki...
Open Graph Description: (This complements #22, it is not a duplicate.) While inputting a multi-line form (e.g. a function or class), bpython does not let me cursor back to a previous line (e.g. to fix a typo). Note, this ...
X Description: (This complements #22, it is not a duplicate.) While inputting a multi-line form (e.g. a function or class), bpython does not let me cursor back to a previous line (e.g. to fix a typo). Note, this ...
Opengraph URL: https://github.com/bpython/bpython/issues/1013
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Multi-line editing","articleBody":"*(This **complements** #22, it is not a duplicate.)*\r\n\r\nWhile inputting a multi-line form (e.g. a function or class), bpython does not let me cursor back to a previous line (e.g. to fix a typo).\r\n\r\nNote, this is orthogonal and complementary to working with multi-line entries from history, which is already tracked by #22.\r\n\r\n# Repro\r\n\r\n1. (Optional/recommended) Move aside your history file for exact reproducibility, as this occurs regardless of history\r\n```\r\nmv ~/.pythonhist{,.bak}\r\n```\r\n\r\n2. Run `bpython`, and input at least the first line of any multi-line form\r\n```\r\n❯ bpython\r\nbpython version 0.24 on top of Python 3.11.7 ...\r\n\u003e\u003e\u003e def foo():\r\n... \r\n```\r\n\r\n3. Try to navigate back to the previous line (e.g. via Up arrow or Ctrl+P, or by pressing Alt+B multiple times to jump backward by word, which works across lines in other REPLs such as IPython)\r\n\r\n# Expected\r\n\r\nYou can move the cursor to the previous line (and then make any necessary changes to it before going back to the next line).\r\n\r\n# Observed\r\n\r\nYou can't move the cursor to a previous line. It stays stuck in the current line.\r\n\r\n# Prior Art\r\n\r\nThis works in other REPLs such as IPython:\r\n\r\nhttps://github.com/bpython/bpython/assets/64992/d42549d5-9a3d-4b32-a876-f0a67f752d73\r\n\r\n\r\n# Workarounds\r\n\r\n1. Press C-x to open the current block in your default text editor.\r\n\r\nBesides requiring extra steps/friction and being less discoverable, a major downside of this workaround is that, if your text editor opens \"on top of\" bpython in the same terminal (e.g. you use vim, you're not in a GUI environment where your editor can open in a new desktop window, etc.), then you lose the context of your previous input in your bpython session, which you may need to refer to for your current input.\r\n\r\n2. Press F7 to open the current session in your default text editor.\r\n\r\nThis avoids the loss of context of the C-x workaround, but still requires more steps and mental overhead to make a simple change like a typo fix to the previous line.","author":{"url":"https://github.com/jab","@type":"Person","name":"jab"},"datePublished":"2024-03-26T15:02:06.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/1013/bpython/issues/1013"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:c341bcd0-6d39-4816-4b08-abc4dcbfa7ff |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | D2CE:398F7A:A6BC79:EFDBA8:69676BC8 |
| html-safe-nonce | d999aad9de13d7dec1475a08fb36c7026d0fb034e6dffd657c710a512ad7759c |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEMkNFOjM5OEY3QTpBNkJDNzk6RUZEQkE4OjY5Njc2QkM4IiwidmlzaXRvcl9pZCI6IjMwNTgwNjkyNjExNTAyODQ3NDQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 94b181b83ca39db2e120c8786455f913dd39b37f2e9f7ba411dbc08fc77169c4 |
| hovercard-subject-tag | issue:2208511144 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/bpython/bpython/1013/issue_layout |
| twitter:image | https://opengraph.githubassets.com/d3aa3e94992a264e65d67330358dffd6a8e3ef3545a52a36163ff900fdcae5ff/bpython/bpython/issues/1013 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/d3aa3e94992a264e65d67330358dffd6a8e3ef3545a52a36163ff900fdcae5ff/bpython/bpython/issues/1013 |
| og:image:alt | (This complements #22, it is not a duplicate.) While inputting a multi-line form (e.g. a function or class), bpython does not let me cursor back to a previous line (e.g. to fix a typo). Note, this ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | jab |
| hostname | github.com |
| expected-hostname | github.com |
| None | 1a6a4ac66aaa8be0077b72a69fd56fb51cd11215a1e31f0365079e012987234a |
| turbo-cache-control | no-preview |
| go-import | github.com/bpython/bpython git https://github.com/bpython/bpython.git |
| octolytics-dimension-user_id | 8071396 |
| octolytics-dimension-user_login | bpython |
| octolytics-dimension-repository_id | 21508865 |
| octolytics-dimension-repository_nwo | bpython/bpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 21508865 |
| octolytics-dimension-repository_network_root_nwo | bpython/bpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 045909cd564d790cacd96dcb8722039dff679d63 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width