Commit Graph

183 Commits

Author SHA1 Message Date
Cheer Xiao
2765c43328 edit: Handle \r \n and Backspace as if they are graphical 2013-09-27 21:11:17 +08:00
Cheer Xiao
a0025694d1 edit: Parse Shift- function keys 2013-09-27 21:10:13 +08:00
Cheer Xiao
bb9f6e2850 edit: Fix an error not being returned 2013-09-27 20:57:34 +08:00
Cheer Xiao
d0694198f6 edit: Fix Alt-[ parsing 2013-09-27 20:56:44 +08:00
Cheer Xiao
f21de6531f edit: Save modifiers as bitmasks, not bool members 2013-09-27 20:56:18 +08:00
Cheer Xiao
f853f3d616 edit: Remove reader.readAhead 2013-09-27 20:46:47 +08:00
Cheer Xiao
c6823f7eb3 edit: Move Key into separate file 2013-09-27 20:45:45 +08:00
Cheer Xiao
21c8f6e3ed edit: Use the tip to inform reader errors 2013-09-27 20:43:03 +08:00
Cheer Xiao
cc93192a2b Parse most xterm-style function key sequences.
Notably, Shift- keys are not parsed.
2013-09-27 20:37:08 +08:00
Cheer Xiao
e0cf2dd5c8 Implement reader with timeout using syscall.Select instead
The old implementation is not correct since it always tries to read one more
rune and os.Stdin is shared with forked subprocesses
2013-09-27 12:19:06 +08:00
Cheer Xiao
74d60410a2 edit: Read arrow key escape sequence (^[[A etc.) 2013-09-24 18:07:38 +08:00
Cheer Xiao
debef0104d edit: Comment special Ctrl- sequences 2013-09-23 18:13:48 +08:00
Cheer Xiao
753f79f4bf edit: Remove special rune Escape 2013-09-23 18:10:49 +08:00
Cheer Xiao
aaa6cab6f2 edit: Support alt- keys 2013-09-23 18:06:52 +08:00
Cheer Xiao
4ef9564800 edit: Clear style after writing line 2013-09-23 16:34:00 +08:00
Cheer Xiao
368e67f85f edit: Fix reading of Enter key 2013-09-23 16:32:23 +08:00
Cheer Xiao
13189cf58d async: Take timeout each time RuneReader reads rune 2013-09-23 16:29:01 +08:00
Cheer Xiao
85ed89f64b Revamp async.RuneReader 2013-09-22 18:49:37 +08:00
Cheer Xiao
dfcc56ce4e RADME: Add a "philosophy" section 2013-09-22 18:49:07 +08:00
Cheer Xiao
6c97f0600c README: Change markup... 2013-09-21 21:08:54 +08:00
Cheer Xiao
6ceae0b609 README: Expand 2013-09-21 21:05:27 +08:00
Cheer Xiao
3ac4e9e164 New async.RuneReader to read runes asynchronously 2013-09-21 15:40:55 +08:00
Cheer Xiao
916a977546 edit: Let writer keep a copy of the terminal file 2013-09-21 10:32:53 +08:00
Cheer Xiao
b749897275 edit: Add reader.readAhead 2013-09-21 10:28:59 +08:00
Cheer Xiao
761bccb401 edit: Cleanup 2013-09-21 00:32:55 +08:00
Cheer Xiao
c3bff421d4 edit: Implement Key.String() 2013-09-21 00:31:20 +08:00
Cheer Xiao
90882e53bf edit: Cleanup 2013-09-21 00:29:41 +08:00
Cheer Xiao
f8652b6523 edit: Factor reading-related things into reader.go 2013-09-21 00:27:12 +08:00
Cheer Xiao
7b43256549 edit: Add a pos struct to storage position 2013-09-20 09:28:32 +08:00
Cheer Xiao
42e464ddae edit: Re-support tips
buffer now also keeps the position of the cursor.
2013-09-20 00:26:19 +08:00
Cheer Xiao
86b22ee87b edit: Factor buffer keeping & syncing to a struct writer 2013-09-19 18:36:47 +08:00
Cheer Xiao
153d3890b7 edit: Style the pipe like redir leaders 2013-09-19 18:16:01 +08:00
Cheer Xiao
e5ea03e0c7 eval: FILE_{CLOSE,NONE} -> FD_NIL, add comment 2013-09-19 18:15:23 +08:00
Cheer Xiao
e6f0375f64 Use uintptr for fd in IO redirections.
IO redirections use os module now, which uses uintptr for fd.
2013-09-19 18:11:01 +08:00
Cheer Xiao
40b85fdf51 eval: Small fixes 2013-09-19 17:58:52 +08:00
Cheer Xiao
5458975198 eval: Connect the pipes
Also fixed an unclosed fd by using os.OpenFile instead of syscall.Open.
2013-09-19 17:52:38 +08:00
Cheer Xiao
f2d35b8c39 Evaluate pipeline. Pipes are not yet connected. 2013-09-19 13:20:55 +08:00
Cheer Xiao
70534cd80a main: Cosmetics 2013-09-18 22:58:50 +08:00
Cheer Xiao
cd43635cd3 eval: Little cleanup 2013-09-18 22:57:51 +08:00
Cheer Xiao
7fb680c98f eval: Use defer to close files in ExecCommand 2013-09-18 22:56:30 +08:00
Cheer Xiao
0789faf57f eval: Move evaluation & execution into package eval 2013-09-18 22:51:48 +08:00
Cheer Xiao
92eb05b488 main: Fix unclosed fds when doing filename redir 2013-09-18 19:55:18 +08:00
Cheer Xiao
5c045fbd0f main: Print pid at startup to aid debugging 2013-09-18 19:53:07 +08:00
Cheer Xiao
9ba448c92d parse: Update comment 2013-09-18 19:47:38 +08:00
Cheer Xiao
8ec1a90f33 parse: Parse a pipeline
das only executes the first command now.
2013-09-18 19:46:34 +08:00
Cheer Xiao
fbb4e376b0 parse: Include name of item type in Item.String 2013-09-18 19:38:15 +08:00
Cheer Xiao
7c69e3b5b1 parse: Lex the pipe (not parsing it yet) 2013-09-18 19:34:03 +08:00
Cheer Xiao
21837bc0a3 parse: Remove unneeded NodeType 2013-09-18 19:20:22 +08:00
Cheer Xiao
18d1e9bf40 parse: Cleanup, docs 2013-09-18 19:14:13 +08:00
Cheer Xiao
a46860b519 .gitignore: Add /t/ 2013-09-18 18:04:13 +08:00