File: undo.py

package info (click to toggle)
fish 4.2.1-3.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 35,976 kB
  • sloc: python: 6,972; javascript: 1,407; sh: 1,009; xml: 411; ansic: 230; objc: 78; makefile: 20
file content (45 lines) | stat: -rw-r--r-- 852 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env python3
from pexpect_helper import SpawnedProc

sp = SpawnedProc()
send, sendline, sleep, expect_prompt, expect_re, expect_str = (
    sp.send,
    sp.sendline,
    sp.sleep,
    sp.expect_prompt,
    sp.expect_re,
    sp.expect_str,
)
expect_prompt()

sendline("set -g fish_autosuggestion_enabled 0")
expect_prompt()
sendline("bind U,n,d,o undo; bind R,e,d,o redo")
expect_prompt()

send("echo word")
expect_str("echo word")

send("Undo")
expect_str("echo")

send("Redo\r")
expect_prompt("echo word")

sendline(
    "bind x begin-undo-group 'commandline -i \"+ \"' 'commandline -i 3' end-undo-group"
)
expect_prompt()
send("math 2 x\r")
expect_prompt("5")

send("math 4x")
send("Undo1\r")
expect_prompt("41")

send("math 5 x")
send("\x02")  # c-b, moving before the 3
send("Undo")
send("Redo")
send("9\r")  # 5 + 93
expect_prompt("98")