Improve cursor handling in embedded terminal

This commit is contained in:
Drew DeVault 2019-03-21 21:00:03 -04:00
parent 55ad16bb70
commit 0b26241b42
5 changed files with 528 additions and 9 deletions

2
go.mod
View file

@ -1,7 +1,7 @@
module git.sr.ht/~sircmpwn/aerc2 module git.sr.ht/~sircmpwn/aerc2
require ( require (
git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190321235500-26a1fd7312be git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190322002230-17c9f17a421a
github.com/emersion/go-imap v1.0.0-beta.1 github.com/emersion/go-imap v1.0.0-beta.1
github.com/emersion/go-imap-idle v0.0.0-20180114101550-2af93776db6b github.com/emersion/go-imap-idle v0.0.0-20180114101550-2af93776db6b
github.com/emersion/go-sasl v0.0.0-20161116183048-7e096a0a6197 // indirect github.com/emersion/go-sasl v0.0.0-20161116183048-7e096a0a6197 // indirect

6
go.sum
View file

@ -14,6 +14,12 @@ git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190321231430-3db654768b06 h1:x9azyMxWqg
git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190321231430-3db654768b06/go.mod h1:hT88+cTemwwESbMptwC7O33qrJfQX0SgRWbXlndUS2c= git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190321231430-3db654768b06/go.mod h1:hT88+cTemwwESbMptwC7O33qrJfQX0SgRWbXlndUS2c=
git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190321235500-26a1fd7312be h1:2c/wWvhAzx530xu6pU8oEjtBAnHDyqQQIFmzIdko/48= git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190321235500-26a1fd7312be h1:2c/wWvhAzx530xu6pU8oEjtBAnHDyqQQIFmzIdko/48=
git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190321235500-26a1fd7312be/go.mod h1:hT88+cTemwwESbMptwC7O33qrJfQX0SgRWbXlndUS2c= git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190321235500-26a1fd7312be/go.mod h1:hT88+cTemwwESbMptwC7O33qrJfQX0SgRWbXlndUS2c=
git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190322000612-b4ccb83205ad h1:kZN7edC9VBtXDy0WudAl5E32Bf+BKXIo9kndm1STKEE=
git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190322000612-b4ccb83205ad/go.mod h1:hT88+cTemwwESbMptwC7O33qrJfQX0SgRWbXlndUS2c=
git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190322001004-741298f37f76 h1:D9PCVZ+pgtpYTQBLeWMe38yVD3944hJJoRsmJUKO3VM=
git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190322001004-741298f37f76/go.mod h1:hT88+cTemwwESbMptwC7O33qrJfQX0SgRWbXlndUS2c=
git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190322002230-17c9f17a421a h1:ktjo0NVokhdhhyS/VYA1/8R/Az8x5x43r0SuI6McqW4=
git.sr.ht/~sircmpwn/go-libvterm v0.0.0-20190322002230-17c9f17a421a/go.mod h1:hT88+cTemwwESbMptwC7O33qrJfQX0SgRWbXlndUS2c=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emersion/go-imap v1.0.0-beta.1 h1:bTCaVlUnb5mKoW9lEukusxguSYYZPer+q0g5t+vw5X0= github.com/emersion/go-imap v1.0.0-beta.1 h1:bTCaVlUnb5mKoW9lEukusxguSYYZPer+q0g5t+vw5X0=

499
trace Normal file
View file

@ -0,0 +1,499 @@
11330 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11330 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340f\0\0\0\0\0\0"..., 832) = 832
11330 read(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
11330 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000C\2\0\0\0\0\0"..., 832) = 832
11330 read(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\201\336\t\36\251c\324\233E\371SoK\5H\334"..., 68) = 68
11330 read(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\201\336\t\36\251c\324\233E\371SoK\5H\334"..., 68) = 68
11330 read(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
11330 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0\5\0\0\0\0"..., 4096) = 3536
11330 read(3, "", 4096) = 0
11330 read(3, "#\n# aerc main configuration\n\n[ui"..., 4096) = 3338
11330 read(3, "", 4096) = 0
11330 read(3, "#\n# aerc accounts configuration\n"..., 4096) = 566
11330 read(3, "", 4096) = 0
11330 read(3, "# Binds are of the form <key seq"..., 4096) = 997
11330 read(3, "", 4096) = 0
11339 read(7, "0-7\n", 8192) = 4
11336 read(6, "# Name Service Switch configurat"..., 1024) = 334
11336 read(6, "", 1024) = 0
11336 read(6, "# Generated by resolvconf\nnamese"..., 65536) = 46
11336 read(6, "", 65490) = 0
11336 read(6, "", 65536) = 0
11336 read(6, "# Name Service Switch configurat"..., 4096) = 334
11336 read(6, "", 4096) = 0
11336 read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
11339 read(3, 0xc00009ed80, 128) = -1 EAGAIN (Resource temporarily unavailable)
11336 read(6, "# Full data: /usr/share/iana-etc"..., 4096) = 4096
11336 read(6, " 101/udp\niso-tsap "..., 4096) = 4096
11336 read(6, "udp\nbgp 179/sctp\nr"..., 4096) = 4096
11336 read(6, "ogic 313/tcp\nmagenta-logic "..., 4096) = 4096
11336 read(6, "dp\nprm-nm 409/tcp\nprm"..., 4096) = 4096
11336 read(6, " 486/udp\nsaft "..., 4096) = 4096
11336 read(6, "p\nwhoami 565/tcp\nwhoa"..., 4096) = 4096
11336 read(6, " 644/tcp\ndwr "..., 4096) = 4096
11336 read(6, "kerberos-adm 749/udp\nrfile "..., 4096) = 4096
11336 read(6, "# Configuration for getaddrinfo("..., 4096) = 2584
11336 read(6, "", 4096) = 0
11336 read(6, "# Resolver configuration file.\n#"..., 4096) = 73
11336 read(6, "", 4096) = 0
11336 read(6, "# Generated by resolvconf\nnamese"..., 4096) = 46
11336 read(6, "", 4096) = 0
11336 read(6, "# Static table lookup for hostna"..., 4096) = 551
11336 read(6, "", 4096) = 0
11336 read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 `\0\0\0\0\0\0"..., 832) = 832
11336 read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11336 read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 `\0\0\0\0\0\0"..., 832) = 832
11336 read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \20\0\0\0\0\0\0"..., 832) = 832
11336 read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 @\0\0\0\0\0\0"..., 832) = 832
11339 read(6, 0xc0002de000, 517) = -1 EAGAIN (Resource temporarily unavailable)
11340 read(6, "\26\3\3\0]\2\0\0Y\3\3\323\257\347\202\253siA}\215\212\255\322\5Hm{\367\362dL"..., 517) = 517
11340 read(6, "\321\253\326\330@\27\314\16m\4\24038\251\237\262\r\264\361\254\333i_\35\223\23\376\2509\0\0/"..., 2347) = 931
11340 read(6, 0xc0002f2546, 1416) = -1 EAGAIN (Resource temporarily unavailable)
11340 read(6, "\364]f\3701`\210oZ\3550'\n0\r\6\t*\206H\206\367\r\1\1\v\5\0\3\202\1\1"..., 1416) = 859
11340 read(6, 0xc0002f2000, 2766) = -1 EAGAIN (Resource temporarily unavailable)
11337 read(6, "\24\3\3\0\1\1\26\3\3\0(EY\230\37\332v]\237m\17Q\335\v\322[\25\303\211\375@,"..., 2766) = 51
11337 read(6, 0xc0002f2000, 2766) = -1 EAGAIN (Resource temporarily unavailable)
11339 read(6, "\27\3\3\0\212EY\230\37\332v]\240Ku\347\221\252=\270\10\217\4\317\22\0K;G%\36\25"..., 2766) = 143
11339 read(6, 0xc0002f2000, 2766) = -1 EAGAIN (Resource temporarily unavailable)
11338 read(6, "\27\3\3\1\206EY\230\37\332v]\241?u\36D\312\314\303\265\r\17B\347y\f\203\334\345\316j"..., 2766) = 395
11338 read(6, 0xc0002f2000, 2766) = -1 EAGAIN (Resource temporarily unavailable)
11336 read(6, "\27\3\3\2\24EY\230\37\332v]\242\211\264w\202\265lOEJ-\344y\274\304\310\373\2\353\325"..., 2766) = 537
11336 read(6, 0xc0002f2000, 2766) = -1 EAGAIN (Resource temporarily unavailable)
11337 read(6, "\27\3\3\4\fEY\230\37\332v]\243\2745o \30\333\30ZBn_\24\242N\361\230\322\354\252"..., 2766) = 1041
11338 read(6, 0xc0002f2000, 2766) = -1 EAGAIN (Resource temporarily unavailable)
11341 read(6, "\27\3\3\0024EY\230\37\332v]\244\356|\246\2032n\242y\356\367\227Y\245\321\205\330\343\252\301"..., 2766) = 569
11341 read(6, 0xc0002f2000, 2766) = -1 EAGAIN (Resource temporarily unavailable)
11336 read(6, "\27\3\3\0pEY\230\37\332v]\245\257\325D\205{sJ\379\246\365<\324R\0265?7\274"..., 2766) = 117
11336 read(6, 0xc0002f2000, 2766) = -1 EAGAIN (Resource temporarily unavailable)
11336 read(6, "\27\3\3\10\272EY\230\37\332v]\246;+s\362pF\262Lk@-o\36V\314\241\335\306^"..., 2766) = 2239
11333 read(6, 0xc0002f2000, 2766) = -1 EAGAIN (Resource temporarily unavailable)
11338 read(6, "\27\3\3\0IEY\230\37\332v]\247\375'\216N\203#\375U\2512L\35\273%\236q\244\270\252"..., 2766) = 78
11338 read(6, 0xc0002f2000, 2766) = -1 EAGAIN (Resource temporarily unavailable)
11338 read(3, "$", 128) = 1
11338 read(3, 0xc0002f0600, 128) = -1 EAGAIN (Resource temporarily unavailable)
11333 read(3, "v", 128) = 1
11333 read(3, 0xc0002f0680, 128) = -1 EAGAIN (Resource temporarily unavailable)
11333 read(3, "i", 128) = 1
11333 read(3, 0xc00039e000, 128) = -1 EAGAIN (Resource temporarily unavailable)
11333 read(3, "m", 128) = 1
11333 read(3, 0xc00039e080, 128) = -1 EAGAIN (Resource temporarily unavailable)
11333 read(3, "\r", 128) = 1
11333 read(3, 0xc00039e100, 128) = -1 EAGAIN (Resource temporarily unavailable)
11341 read(9, "", 8) = 0
11334 read(7, <unfinished ...>
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 @\10\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \240\2\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 P\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \320\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \1\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 `\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 `\3\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \340\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \260\1\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0PH\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220 \1\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \300\1\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \320\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 p\1\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\30\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \20\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340f\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
11347 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000C\2\0\0\0\0\0"..., 832) = 832
11347 read(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\201\336\t\36\251c\324\233E\371SoK\5H\334"..., 68) = 68
11347 read(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\201\336\t\36\251c\324\233E\371SoK\5H\334"..., 68) = 68
11347 read(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \20\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\24\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 @\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \260\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \300\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \320\5\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\22\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \240\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 p\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \200\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \320\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\n\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \20\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \20\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 P\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \20\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \20\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 `\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 @\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \260\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 `\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \20\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \300\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 `\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320!\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \300\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 @\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@ \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\21\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \340\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\1\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 @\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\21\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \20\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \240\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \20\1\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300,\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\300\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 @\0\0\0\0\0\0"..., 832) = 832
11347 read(3, "# Locale name alias data base.\n#"..., 4096) = 2997
11347 read(3, "", 4096) = 0
11347 read(3, "\36\2%\0&\0\17\0\235\1\2\6xterm-256color|xterm"..., 32768) = 3713
11347 read(3, "", 28672) = 0
11347 read(3, "\" All system-wide defaults are s"..., 4096) = 912
11347 read(4, "\" The Arch Linux global vimrc - "..., 4096) = 1423
11347 read(4, "", 4096) = 0
11347 read(3, "", 4096) = 0
11347 read(3, "set nocompatible\nfiletype off\n\ns"..., 4096) = 4096
11347 read(4, "\" Vim support file to switch off"..., 4096) = 280
11347 read(4, "", 4096) = 0
11347 read(4, "\" Vundle is a shortcut fo"..., 4096) = 3800
11347 read(4, "", 4096) = 0
11347 read(4, "\" ------------------------------"..., 4096) = 4096
11347 read(4, "be supplied with the bundle spec"..., 4096) = 4096
11347 read(4, " the corresponding 'after' direc"..., 4096) = 2323
11347 read(4, "", 4096) = 0
11347 read(4, "\" Vim support file to detect fil"..., 4096) = 4096
11347 read(4, " getline(1) . getline(2) . getli"..., 4096) = 4096
11347 read(4, "libs\nau BufNewFile,BufRead *.tlh"..., 4096) = 4096
11347 read(4, "tch\n\t\\ if getline(1) =~ '^From ["..., 4096) = 4096
11347 read(4, " \\ if getline(1) =~ '^From.*# T"..., 4096) = 4096
11347 read(4, "usw2kagtlog\n\n\" Ipfilter\nau BufNe"..., 4096) = 4096
11347 read(4, ",BufRead .mailcap,mailcap\t\tsetf "..., 4096) = 4096
11347 read(4, " omnimark\n\n\" OpenROAD\nau BufNewF"..., 4096) = 4096
11347 read(4, "and Python Stub Files\n\" Quixote "..., 4096) = 4096
11347 read(4, ") =~ '<!DOCTYPE.*DocBook' || get"..., 4096) = 4096
11347 read(4, "Read *.ado,*.do,*.imata,*.mata\ts"..., 4096) = 4096
11347 read(4, "l Basic (also uses *.bas) or FOR"..., 4096) = 4096
11347 read(4, "age template)\nau BufNewFile,BufR"..., 4096) = 4096
11347 read(4, "etf('muttrc')\nau BufNewFile,BufR"..., 4096) = 4096
11347 read(5, "autocmd BufReadPost *.fugitivebl"..., 4096) = 62
11347 read(5, "", 4096) = 0
11347 read(5, "if !has('patch-7.4.480')\n \" B"..., 4096) = 362
11347 read(5, "", 4096) = 0
11347 read(5, "\" Go dep and Rust use several TO"..., 4096) = 190
11347 read(5, "", 4096) = 0
11347 read(5, "\" vint: -ProhibitAutocmdWithNoGr"..., 4096) = 195
11347 read(5, "", 4096) = 0
11347 read(5, "\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""..., 4096) = 1261
11347 read(5, "", 4096) = 0
11347 read(5, "fun! s:SelectJavascript()\n if g"..., 4096) = 316
11347 read(5, "", 4096) = 0
11347 read(5, "\" Language: CoffeeScript\n\" Ma"..., 4096) = 552
11347 read(5, "", 4096) = 0
11347 read(5, "\" Language: Literate CoffeeScr"..., 4096) = 299
11347 read(5, "", 4096) = 0
11347 read(5, "\" Copyright 2014 Google Inc. All"..., 4096) = 699
11347 read(5, "", 4096) = 0
11347 read(5, "au BufRead,BufNewFile *.scad "..., 4096) = 114
11347 read(5, "", 4096) = 0
11347 read(5, "\" use `set filetype` to override"..., 4096) = 255
11347 read(5, "", 4096) = 0
11347 read(5, "if !exists('g:glsl_default_versi"..., 4096) = 1207
11347 read(5, "", 4096) = 0
11347 read(5, "autocmd BufRead,BufNewFile *.gd "..., 4096) = 55
11347 read(5, "", 4096) = 0
11347 read(5, "autocmd BufRead,BufNewFile *.sha"..., 4096) = 53
11347 read(5, "", 4096) = 0
11347 read(5, "au BufNewFile,BufRead PKGBUILD s"..., 4096) = 53
11347 read(5, "", 4096) = 0
11347 read(5, "au BufNewFile,BufRead *.aug set "..., 4096) = 48
11347 read(5, "", 4096) = 0
11347 read(5, "au BufNewFile,BufRead [Dd]ockerf"..., 4096) = 92
11347 read(5, "", 4096) = 0
11347 read(5, "au BufNewFile,BufRead meson.buil"..., 4096) = 112
11347 read(5, "", 4096) = 0
11347 read(5, "au BufRead,BufNewFile *.nginx se"..., 4096) = 198
11347 read(5, "", 4096) = 0
11347 read(4, "tore 'cpoptions'\nlet &cpo = s:cp"..., 4096) = 56
11347 read(4, "", 4096) = 0
11347 read(4, "\" Vim support file to switch on "..., 4096) = 971
11347 read(4, "", 4096) = 0
11347 read(4, "\" Vim support file to switch on "..., 4096) = 767
11347 read(4, "", 4096) = 0
11347 read(4, "\" Vim syntax support file\n\" Main"..., 4096) = 1228
11347 read(5, "\" Vim syntax support file\n\" Main"..., 4096) = 1984
11347 read(6, "\" Vim syntax support file\n\" Main"..., 4096) = 4093
11347 read(7, "255 250 250\t\tsnow\n248 248 255\t\tg"..., 4096) = 4096
11347 read(7, "dYellow\n255 255 224\t\tlight yello"..., 4096) = 4096
11347 read(7, "8\t\tLightBlue2\n154 192 205\t\tLight"..., 4096) = 4096
11347 read(7, "1 159\t\tPaleVioletRed2\n205 104 13"..., 4096) = 4096
11347 read(7, "9 199 199\t\tgray78\n199 199 199\t\tg"..., 4096) = 1396
11347 read(7, "", 4096) = 0
11347 read(7, "255 250 250\t\tsnow\n248 248 255\t\tg"..., 4096) = 4096
11347 read(7, "dYellow\n255 255 224\t\tlight yello"..., 4096) = 4096
11347 read(7, "8\t\tLightBlue2\n154 192 205\t\tLight"..., 4096) = 4096
11347 read(7, "1 159\t\tPaleVioletRed2\n205 104 13"..., 4096) = 4096
11347 read(7, "9 199 199\t\tgray78\n199 199 199\t\tg"..., 4096) = 1396
11347 read(7, "", 4096) = 0
11347 read(6, "", 4096) = 0
11347 read(5, "", 4096) = 0
11347 read(4, "", 4096) = 0
11347 read(4, "\" Vim syntax support file\n\" Main"..., 4096) = 1228
11347 read(5, "\" Vim syntax support file\n\" Main"..., 4096) = 755
11347 read(5, "", 4096) = 0
11347 read(5, "\" Vim syntax support file\n\" Main"..., 4096) = 1984
11347 read(6, "\" Vim syntax support file\n\" Main"..., 4096) = 4093
11347 read(6, "", 4096) = 0
11347 read(5, "", 4096) = 0
11347 read(4, "", 4096) = 0
11347 read(4, "\" local syntax file - set colors"..., 4096) = 1393
11347 read(5, "\" Vim syntax support file\n\" Main"..., 4096) = 4093
11347 read(5, "", 4096) = 0
11347 read(5, "\" Vim syntax support file\n\" Main"..., 4096) = 4093
11347 read(5, "", 4096) = 0
11347 read(5, "\" Vim syntax support file\n\" Main"..., 4096) = 4093
11347 read(5, "", 4096) = 0
11347 read(4, "", 4096) = 0
11347 read(3, "FileReadPre *.gpg set noswapfile"..., 4096) = 661
11347 read(3, "", 4096) = 0
11347 read(4, "\" Adapted from unimpaired.vim by"..., 4096) = 3861
11347 read(4, "", 4096) = 0
11347 read(3, "\" fugitive.vim - A Git wrapper s"..., 4096) = 4096
11347 read(3, "fugitive:'\n return matchstr(p"..., 4096) = 4096
11347 read(3, " if FugitiveIsGitDir(expand('<am"..., 4096) = 1004
11347 read(3, "", 4096) = 0
11347 read(3, "\" =============================="..., 4096) = 2481
11347 read(4, "\" =============================="..., 4096) = 4064
11347 read(4, "", 4096) = 0
11347 read(3, "", 4096) = 0
11347 read(3, "\" surround.vim - Surroundings\n\" "..., 4096) = 4096
11347 read(3, "if\n let default = matchstr("..., 4096) = 4096
11347 read(3, "ile char == \"\\<CR>\" || char == \""..., 4096) = 4096
11347 read(3, "special)\n endif\n silent exe 'n"..., 4096) = 4096
11347 read(3, " ! g:surround_no_mappings\n nmap"..., 4096) = 619
11347 read(3, "", 4096) = 0
11347 read(3, "\" Copyright (c) 2011-2015 Editor"..., 4096) = 4096
11347 read(3, " \\ '/usr/bin/python24']"..., 4096) = 4096
11347 read(3, "if\n\n \" Find python interp\n "..., 4096) = 4096
11347 read(3, "ath, ':h')\n if l:path == "..., 4096) = 4096
11347 read(3, " l:eq_left = strpart(one_line, 0"..., 4096) = 4096
11347 read(3, " \" Fill only "..., 4096) = 1362
11347 read(3, "", 4096) = 0
11347 read(3, "\" SyntaxRange.vim: Define a diff"..., 4096) = 1045
11347 read(3, "", 4096) = 0
11347 read(3, "if exists('g:loaded_rust_vim_plu"..., 4096) = 955
11347 read(3, "", 4096) = 0
11347 read(3, "\" Vim syntastic plugin helper\n\" "..., 4096) = 718
11347 read(3, "", 4096) = 0
11347 read(3, "\n\n\" A plugin for jsonnet files.\n"..., 4096) = 723
11347 read(3, "", 4096) = 0
11347 read(3, "\" ------------------------------"..., 4096) = 1393
11347 read(3, "", 4096) = 0
11347 read(3, "\" Vim plugin for editing compres"..., 4096) = 2499
11347 read(3, "", 4096) = 0
11347 read(3, "\" LogiPat: Boolean logical patte"..., 4096) = 4096
11347 read(3, " let s:nopstack= 0\n endif\n\n \""..., 4096) = 4096
11347 read(3, "tern {{{2\nfun! s:LP_Not(pat)\n\" "..., 4096) = 2077
11347 read(3, "", 4096) = 0
11347 read(3, "\" Vim plugin for using Vim as ma"..., 4096) = 676
11347 read(3, "", 4096) = 0
11347 read(3, "\" Vim plugin for showing matchin"..., 4096) = 4096
11347 read(3, "ne = stoplinetop\n endif\n\n \" Li"..., 4096) = 2989
11347 read(3, "", 4096) = 0
11347 read(3, "\" netrwPlugin.vim: Handles file "..., 4096) = 4096
11347 read(3, ">0,<q-args>)\ncom! -nargs=* -bar "..., 4096) = 4096
11347 read(3, " listing when appropriate.\n"..., 4096) = 2248
11347 read(3, "", 4096) = 0
11347 read(3, "\" Vim plugin with helper functio"..., 4096) = 1414
11347 read(3, "", 4096) = 0
11347 read(3, "\" Vim plugin for downloading spe"..., 4096) = 499
11347 read(3, "", 4096) = 0
11347 read(3, "\" tarPlugin.vim -- a Vim plugin "..., 4096) = 2271
11347 read(3, "", 4096) = 0
11347 read(3, "\" Vim plugin for converting a sy"..., 4096) = 4096
11347 read(3, "' for converted document encodin"..., 4096) = 4096
11347 read(3, " html_prevent_copy contains\n\" "..., 4096) = 2274
11347 read(3, "", 4096) = 0
11347 read(3, "\" vimballPlugin : construct a fi"..., 4096) = 2898
11347 read(3, "", 4096) = 0
11347 read(3, "\" zipPlugin.vim: Handles browsin"..., 4096) = 2510
11347 read(3, "", 4096) = 0
11347 read(3, "# This viminfo file was generate"..., 4096) = 4096
11347 read(3, "9919,47,\"SelectedTab\"\n?/Global\n|"..., 4096) = 4096
11347 read(3, " drown in emails...\n\t> \n\t> Thank"..., 4096) = 4096
11347 read(3, " At first I wanted to patch teh "..., 4096) = 4096
11347 read(3, "~/sources/go-libvterm/.git/COMMI"..., 4096) = 4096
11347 read(3, "/neovim/src/nvim/terminal.c\n|4,3"..., 4096) = 4096
11347 read(3, " ~/sources/neovim/src/nvim/term"..., 4096) = 4096
11347 read(3, "1553214152\t0\n\t\"\t1\t18\n\t^\t1\t19\n\t.\t"..., 4096) = 4096
11347 read(3, "\"\t219\t0\n\t^\t176\t15\n\t.\t177\t34\n\t+\t1"..., 4096) = 4096
11347 read(3, "0\n\t^\t1\t15\n\t.\t1\t14\n\t+\t10\t1\n\t+\t1\t1"..., 4096) = 4096
11347 read(3, "/asdf\n\t*\t1553186123\t0\n\t\"\t1\t0\n\n> "..., 4096) = 1482
11347 read(3, "", 4096) = 0
11347 read(4, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 4096) = 4096
11347 read(4, "UTF-8\nbo_IN.utf8\t\t\t\t\tbo_IN.UTF-8"..., 4096) = 4096
11347 read(4, "\t\t\tde_DE.ISO8859-15\nde_DE.88591\t"..., 4096) = 4096
11347 read(4, "ES.ISO8859-1\nes.UTF-8\t\t\t\t\tes_ES."..., 4096) = 4096
11347 read(4, "91\t\t\t\t\tfi_FI.ISO8859-1\nfi_FI.ISO"..., 4096) = 4096
11347 read(4, "\t\t\t\the_IL.UTF-8\nhi\t\t\t\t\t\thi_IN.IS"..., 4096) = 4096
11347 read(4, ".ISO8859-13\nlt_LT\t\t\t\t\t\tlt_LT.ISO"..., 4096) = 4096
11347 read(4, "so88591\t\t\t\t\tpd_DE.ISO8859-1\npd_U"..., 4096) = 4096
11347 read(4, "s_ZA.ISO8859-1\nss_ZA.iso88591\t\t\t"..., 4096) = 4096
11347 read(4, "5hkscs\nzh_HK.BIG5-HKSCS\t\t\t\tzh_HK"..., 4096) = 4096
11347 read(4, "af_ZA.iso88591:\t\t\t\t\taf_ZA.ISO885"..., 4096) = 4096
11347 read(4, "SO8859-1\nca_AD:\t\t\t\t\t\tca_AD.ISO88"..., 4096) = 4096
11347 read(4, "\t\t\tde_DE.UTF-8\nde_LU:\t\t\t\t\t\tde_LU"..., 4096) = 4096
11347 read(4, "8859-1\nes_CL.ISO-8859-1:\t\t\t\tes_C"..., 4096) = 4096
11347 read(4, "\t\t\tfi_FI.ISO8859-15\nfi_FI.utf8:\t"..., 4096) = 4096
11347 read(4, "idev:\t\t\t\t\thi_IN.ISCII-DEV\nhi_IN."..., 4096) = 4096
11347 read(4, "\n\n\n\n\n\n\nlt:\t\t\t\t\t\tlt_LT.ISO8859-13"..., 4096) = 4096
11347 read(4, "N.UTF-8\npa_IN.utf8:\t\t\t\t\tpa_IN.UT"..., 4096) = 4096
11347 read(4, "r_RS.UTF-8\nsr@latin:\t\t\t\t\tsr_RS.U"..., 4096) = 4096
11347 read(4, "ucCN\nzh_CN.GB2312:\t\t\t\t\tzh_CN.gb2"..., 4096) = 3875
11347 read(4, "", 4096) = 0
11347 read(4, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 4096) = 4096
11347 read(4, "UTF-8\nbo_IN.utf8\t\t\t\t\tbo_IN.UTF-8"..., 4096) = 4096
11347 read(4, "\t\t\tde_DE.ISO8859-15\nde_DE.88591\t"..., 4096) = 4096
11347 read(4, "ES.ISO8859-1\nes.UTF-8\t\t\t\t\tes_ES."..., 4096) = 4096
11347 read(4, "91\t\t\t\t\tfi_FI.ISO8859-1\nfi_FI.ISO"..., 4096) = 4096
11347 read(4, "\t\t\t\the_IL.UTF-8\nhi\t\t\t\t\t\thi_IN.IS"..., 4096) = 4096
11347 read(4, ".ISO8859-13\nlt_LT\t\t\t\t\t\tlt_LT.ISO"..., 4096) = 4096
11347 read(4, "so88591\t\t\t\t\tpd_DE.ISO8859-1\npd_U"..., 4096) = 4096
11347 read(4, "s_ZA.ISO8859-1\nss_ZA.iso88591\t\t\t"..., 4096) = 4096
11347 read(4, "5hkscs\nzh_HK.BIG5-HKSCS\t\t\t\tzh_HK"..., 4096) = 4096
11347 read(4, "af_ZA.iso88591:\t\t\t\t\taf_ZA.ISO885"..., 4096) = 4096
11347 read(4, "SO8859-1\nca_AD:\t\t\t\t\t\tca_AD.ISO88"..., 4096) = 4096
11347 read(4, "\t\t\tde_DE.UTF-8\nde_LU:\t\t\t\t\t\tde_LU"..., 4096) = 4096
11347 read(4, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 4096) = 4096
11347 read(4, "CALE\t\t\tes_NI.ISO8859-1\niso8859-1"..., 4096) = 4096
11347 read(4, "E\t\t\tph_PH.ISO8859-1\niso8859-2/XL"..., 4096) = 4096
11347 read(4, "-8\nen_US.UTF-8/XLC_LOCALE\t\t\ten_B"..., 4096) = 4096
11347 read(4, "_PT.UTF-8\nen_US.UTF-8/XLC_LOCALE"..., 4096) = 4096
11347 read(4, "\niso8859-15/XLC_LOCALE:\t\t\tde_CH."..., 4096) = 4096
11347 read(4, "ALE:\t\t\thu_HU.ISO8859-2\narmscii-8"..., 4096) = 4096
11347 read(4, "/XLC_LOCALE:\t\t\tzh_CN.eucCN\nzh_CN"..., 4096) = 4096
11347 read(4, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 4096) = 4096
11347 read(4, "\n \n#\tcs20 class\ncs15\t{\n\tside\t\tGR"..., 4096) = 155
11347 read(4, "", 4096) = 0
11334 <... read resumed> "\33[?1000h\33[?2004h", 4096) = 16
11334 read(7, "\33[?1049h\33[22;0;0t\33[?1h\33=\33[?2004h"..., 4096) = 65
11334 read(7, <unfinished ...>
11347 read(4, "# Name Service Switch configurat"..., 4096) = 334
11347 read(4, "", 4096) = 0
11347 read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 0\0\0\0\0\0\0"..., 832) = 832
11347 read(4, "root:x:0:0::/root:/bin/bash\nbin:"..., 4096) = 2333
11347 read(4, "\" Location: autoload/fugitiv"..., 4096) = 4096
11347 read(4, "\n endtry\nendfunction\n\n\" Section"..., 4096) = 4096
11347 read(4, "-C ' . s:shellesc(tree) . ' ' . "..., 4096) = 4096
11347 read(4, "!=# ''\n if has_key(s:repos, d"..., 4096) = 4096
11347 read(4, "ile] = s:DirCommitFile(a:url)\n "..., 4096) = 4096
11347 read(4, "\\)\\|^:[0-3]:\\%(/\\|\\a\\+:\\)'\n l"..., 4096) = 4096
11347 read(4, "'fugitive_blamed_bufnr', '')\n "..., 4096) = 4096
11347 read(4, "(tree, path, [])\n if empty(entr"..., 4096) = 4096
11347 read(4, "# 'blob'\n return []\n endif\n "..., 4096) = 4096
11347 read(4, "name() which has been removed. R"..., 4096) = 4096
11347 read(4, "ll map(entries,'s:sub(v:val,\"^04"..., 4096) = 4096
11347 read(4, "tatus['Unstaged'][files] = line["..., 4096) = 4096
11347 read(4, ")\n let nowait = v:version >= "..., 4096) = 4096
11347 read(4, "ch>')\n let [dir, rev] = s:DirRe"..., 4096) = 4096
11347 read(4, "'cat-file', b:fugitive_type, rev"..., 4096) = 4096
11347 read(4, "\n else\n -tabnew\n endi"..., 4096) = 4096
11347 read(4, ")\n if len(filename) &&\n "..., 4096) = 4096
11347 read(4, "(\\x\\x\\x\\)\\@!\\l\\+\\ze [0-9a-f]'),\n"..., 4096) = 4096
11347 read(4, "ion)\n let status = s:Do{a"..., 4096) = 4096
11347 read(4, "eturn 'Git! diff --no-ext-diff -"..., 4096) = 4096
11347 read(4, ") abort\n exe 'edit' s:fnameesca"..., 4096) = 4096
11347 read(4, "rgs =~# '\\%(^\\| \\)-\\%(-interacti"..., 4096) = 4096
11347 read(4, "TCH_HEAD\\nMERGE_HEAD\\nORIG_HEAD\""..., 4096) = 4096
11347 read(4, "dit\\|--abort\\|-m\\)\\>' || a:cmd ="..., 4096) = 4096
11347 read(4, "f:%l:%c:%m,%f:%l:%m,%m %f match%"..., 4096) = 4096
11347 read(4, "ose\n if winnr('$') > 1\n"..., 4096) = 4096
11347 read(4, "l s:command(\"-bar -bang -nargs=*"..., 4096) = 4096
11347 read(4, " restorewinnr = 1\n endif\n"..., 4096) = 4096
11347 read(4, "fthis() abort\n if !&diff\n le"..., 4096) = 4096
11347 read(4, "f\n endif\n return post\n ca"..., 4096) = 4096
11347 read(4, "len(s:gsub(matchstr(getline('.')"..., 4096) = 4096
11347 read(4, "ve:[\\\\/][\\\\/]\"<Bar>Gedit<Bar>end"..., 4096) = 4096
11347 read(4, "ameAnnotation,fugitiveblameOrigi"..., 4096) = 4096
11347 read(4, "\n else\n let expanded = s"..., 4096) = 4096
11347 read(4, "# '^ref: ' && i < 10\n let"..., 4096) = 4096
11347 read(4, "U>.,.+2Gblame<CR>\n else\n "..., 4096) = 4096
11347 read(4, "==# 'Unstaged' && info.sigil !=#"..., 4096) = 4096
11347 read(4, "eif getline('.') =~# '^[+-]' && "..., 4096) = 4096
11347 read(4, "(...) abort\n if empty(s:Dir())\n"..., 4096) = 3445
11347 read(4, "", 4096) = 0
11334 <... read resumed> "\33[27m\33[23m\33[29m\33[m\33[H\33[2J\33[?25l\33"..., 4096) = 2029
11334 read(7, "\33[25;1H\33[38;5;242m[No Name] "..., 4096) = 564
11334 read(7, <unfinished ...>
11339 read(3, ":", 128) = 1
11339 read(3, 0xc0002f0000, 128) = -1 EAGAIN (Resource temporarily unavailable)
11347 read(0, ":", 4096) = 1
11334 <... read resumed> "\33[?25l\33[26;1H:", 4096) = 14
11334 read(7, "\33[?2004h\33[?25h", 4096) = 14
11334 read(7, <unfinished ...>
11333 read(3, "q", 128) = 1
11333 read(3, 0xc0002f0080, 128) = -1 EAGAIN (Resource temporarily unavailable)
11347 read(0, "q", 4096) = 1
11334 <... read resumed> "q\33[?25l\33[?25h", 4096) = 13
11334 read(7, <unfinished ...>
11336 read(3, "!", 128) = 1
11336 read(3, 0xc00009e000, 128) = -1 EAGAIN (Resource temporarily unavailable)
11347 read(0, "!", 4096) = 1
11334 <... read resumed> "!\33[?25l\33[?25h", 4096) = 13
11334 read(7, <unfinished ...>
11336 read(3, "\r", 128) = 1
11336 read(3, 0xc0002f0000, 128) = -1 EAGAIN (Resource temporarily unavailable)
11347 read(0, "\r", 4096) = 1
11334 <... read resumed> "\r", 4096) = 1
11334 read(7, <unfinished ...>
11347 read(4, "\" =============================="..., 4096) = 2886
11347 read(4, "", 4096) = 0
11347 read(4, "/home/sircmpwn/sources/pangoterm"..., 4096) = 4096
11347 read(4, "home/sircmpwn/sources/musl/src/i"..., 4096) = 4096
11347 read(4, "p/mutt-homura-1000-10676-1575043"..., 4096) = 4096
11347 read(4, "sources/godot/platform/generic-u"..., 4096) = 1059
11347 read(4, "", 4096) = 0
11347 read(4, "# This viminfo file was generate"..., 4096) = 4096
11347 read(4, "9919,47,\"SelectedTab\"\n?/Global\n|"..., 4096) = 4096
11347 read(4, " drown in emails...\n\t> \n\t> Thank"..., 4096) = 4096
11347 read(4, " At first I wanted to patch teh "..., 4096) = 4096
11347 read(4, "~/sources/go-libvterm/.git/COMMI"..., 4096) = 4096
11347 read(4, "/neovim/src/nvim/terminal.c\n|4,3"..., 4096) = 4096
11347 read(4, " ~/sources/neovim/src/nvim/term"..., 4096) = 4096
11347 read(4, "1553214152\t0\n\t\"\t1\t18\n\t^\t1\t19\n\t.\t"..., 4096) = 4096
11347 read(4, "\"\t219\t0\n\t^\t176\t15\n\t.\t177\t34\n\t+\t1"..., 4096) = 4096
11347 read(4, "0\n\t^\t1\t15\n\t.\t1\t14\n\t+\t10\t1\n\t+\t1\t1"..., 4096) = 4096
11347 read(4, "/asdf\n\t*\t1553186123\t0\n\t\"\t1\t0\n\n> "..., 4096) = 1482
11347 read(4, "", 4096) = 0
11334 <... read resumed> "\33[?25l\33[?1000l\33[?2004l", 4096) = 22
11334 read(7, "\33[23;2t\33[23;1t\33[22;2t\33[22;1t\33[23"..., 4096) = 97
11334 read(7, 0xc0003be000, 4096) = -1 EIO (Input/output error)
11347 +++ exited with 0 +++
11334 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=11347, si_uid=1000, si_status=0, si_utime=5, si_stime=3} ---
11336 read(3, "q", 128) = 1
11336 read(3, 0xc0002f0080, 128) = -1 EAGAIN (Resource temporarily unavailable)
11349 +++ exited with 0 +++
11348 +++ exited with 0 +++
11340 +++ exited with 0 +++
11341 +++ exited with 0 +++
11339 +++ exited with 0 +++
11338 +++ exited with 0 +++
11337 +++ exited with 0 +++
11336 +++ exited with 0 +++
11335 +++ exited with 0 +++
11334 +++ exited with 0 +++
11333 +++ exited with 0 +++
11332 +++ exited with 0 +++
11331 +++ exited with 0 +++
11330 +++ exited with 0 +++

View file

@ -149,6 +149,9 @@ func (ml *MessageList) Select(index int) {
} }
func (ml *MessageList) nextPrev(delta int) { func (ml *MessageList) nextPrev(delta int) {
if ml.store == nil || len(ml.store.Uids) == 0 {
return
}
ml.selected += delta ml.selected += delta
if ml.selected < 0 { if ml.selected < 0 {
ml.selected = 0 ml.selected = 0

View file

@ -93,6 +93,7 @@ type Terminal struct {
colors map[tcell.Color]tcell.Color colors map[tcell.Color]tcell.Color
ctx *ui.Context ctx *ui.Context
cursorShown bool cursorShown bool
cursorPos vterm.Pos
damage []vterm.Rect damage []vterm.Rect
err error err error
focus bool focus bool
@ -106,14 +107,17 @@ type Terminal struct {
} }
func NewTerminal(cmd *exec.Cmd) (*Terminal, error) { func NewTerminal(cmd *exec.Cmd) (*Terminal, error) {
term := &Terminal{} term := &Terminal{
cursorShown: true,
}
term.cmd = cmd term.cmd = cmd
term.vterm = vterm.New(24, 80) term.vterm = vterm.New(24, 80)
term.vterm.SetUTF8(true) term.vterm.SetUTF8(true)
term.start = make(chan interface{}) term.start = make(chan interface{})
screen := term.vterm.ObtainScreen()
go func() { go func() {
<-term.start <-term.start
buf := make([]byte, 2048) buf := make([]byte, 4096)
for { for {
n, err := term.pty.Read(buf) n, err := term.pty.Read(buf)
if err != nil { if err != nil {
@ -126,10 +130,10 @@ func NewTerminal(cmd *exec.Cmd) (*Terminal, error) {
term.Close(err) term.Close(err)
return return
} }
screen.Flush()
term.Invalidate() term.Invalidate()
} }
}() }()
screen := term.vterm.ObtainScreen()
screen.OnDamage = term.onDamage screen.OnDamage = term.onDamage
screen.OnMoveCursor = term.onMoveCursor screen.OnMoveCursor = term.onMoveCursor
screen.OnSetTermProp = term.onSetTermProp screen.OnSetTermProp = term.onSetTermProp
@ -165,7 +169,7 @@ func NewTerminal(cmd *exec.Cmd) (*Terminal, error) {
} }
func (term *Terminal) flushTerminal() { func (term *Terminal) flushTerminal() {
buf := make([]byte, 2048) buf := make([]byte, 4096)
for { for {
n, err := term.vterm.Read(buf) n, err := term.vterm.Read(buf)
if err != nil { if err != nil {
@ -253,7 +257,6 @@ func (term *Terminal) Draw(ctx *ui.Context) {
} }
screen := term.vterm.ObtainScreen() screen := term.vterm.ObtainScreen()
screen.Flush()
type coords struct { type coords struct {
x int x int
@ -287,8 +290,7 @@ func (term *Terminal) Draw(ctx *ui.Context) {
if !term.cursorShown { if !term.cursorShown {
ctx.HideCursor() ctx.HideCursor()
} else { } else {
row, col := term.vterm.ObtainState().GetCursorPos() ctx.SetCursor(term.cursorPos.Col(), term.cursorPos.Row())
ctx.SetCursor(col, row)
} }
} }
@ -382,7 +384,13 @@ func (term *Terminal) onDamage(rect *vterm.Rect) int {
func (term *Terminal) onMoveCursor(old *vterm.Pos, func (term *Terminal) onMoveCursor(old *vterm.Pos,
pos *vterm.Pos, visible bool) int { pos *vterm.Pos, visible bool) int {
term.cursorShown = visible rows, cols, _ := pty.Getsize(term.pty)
if pos.Row() >= rows || pos.Col() >= cols {
return 1
}
term.cursorPos = *pos
term.Invalidate()
return 1 return 1
} }
@ -392,6 +400,9 @@ func (term *Terminal) onSetTermProp(prop int, val *vterm.VTermValue) int {
if term.OnTitle != nil { if term.OnTitle != nil {
term.OnTitle(val.String) term.OnTitle(val.String)
} }
case vterm.VTERM_PROP_CURSORVISIBLE:
term.cursorShown = val.Boolean
term.Invalidate()
} }
return 1 return 1
} }