Commit Graph

1562 Commits

Author SHA1 Message Date
Cheer Xiao
c33c1d56ea eval: Add builtin printchan 2013-10-02 22:56:56 +08:00
Cheer Xiao
dc71fe5bec eval: Close the pipe channel in builtin implementation 2013-10-02 22:56:34 +08:00
Cheer Xiao
f2ccd56f27 eval: Don't close pipe channels; document redir file closing 2013-10-02 22:55:50 +08:00
Cheer Xiao
80060cc269 eval: Let builtin implementations return a string 2013-10-02 22:44:28 +08:00
Cheer Xiao
e859c76275 main: Use heuristics to suppress excessive state update messages 2013-10-02 22:42:08 +08:00
Cheer Xiao
376fece703 eval: Connect pipes in ExecPipeline; support channel pipes 2013-10-02 22:41:13 +08:00
Cheer Xiao
13049b3f34 eval: Distinguish &io{} and (*io)(nil) 2013-10-02 22:24:48 +08:00
Cheer Xiao
b4cdb39195 eval: Add builtin println
Needed for testing since \n is not yet implemented
2013-10-02 22:15:45 +08:00
Cheer Xiao
ffe86e7626 eval: Make some names private 2013-10-02 22:12:38 +08:00
Cheer Xiao
571f43eb53 eval: Support running builtins (chan IO still not supported yet) 2013-10-02 22:10:21 +08:00
Cheer Xiao
29061872c7 eval: Add builtin "print" 2013-10-02 22:10:07 +08:00
Cheer Xiao
39abd54013 eval: Update a comment 2013-10-02 21:57:41 +08:00
Cheer Xiao
5e7e5caadd eval: Use a channel of StateUpdate to keep track of command states.
This is more generic than returning pids, and is suitable for builtins.
2013-10-02 19:25:25 +08:00
Cheer Xiao
0838d80757 eval: Regard nil IO as closing as well 2013-10-02 18:50:57 +08:00
Cheer Xiao
0f726af1cf eval: Simpler IO handling.
Also, fdIO -> fileIO
2013-10-02 18:47:54 +08:00
Cheer Xiao
3b10b1d99e eval: Support evaluating builtin commands and structured pipes.
They cannot be executed, however...
2013-10-01 21:34:49 +08:00
Cheer Xiao
524b7669f1 eval: Fix env initing 2013-10-01 21:25:43 +08:00
Cheer Xiao
8d5e7ddfd4 eval: Cleanup 2013-09-28 15:56:44 +08:00
Cheer Xiao
939d9c74bb eval: Separate evalCommand func 2013-09-28 15:32:29 +08:00
Cheer Xiao
9a65a6ca89 eval: add builtinCommand struct 2013-09-28 14:45:07 +08:00
Cheer Xiao
b7e9833317 eval: Use intermediate command struct to build commands 2013-09-28 14:43:12 +08:00
Cheer Xiao
3613781db2 eval: Change ExecCommand to take additional cmdType arg 2013-09-28 11:29:52 +08:00
Cheer Xiao
a756e800bb eval: Remove outdated comment 2013-09-27 21:32:00 +08:00
Cheer Xiao
99fa623aa3 edit: Unknown -> Unbound 2013-09-27 21:29:13 +08:00
Cheer Xiao
ad6ce84204 edit: Remove unused func 2013-09-27 21:27:42 +08:00
Cheer Xiao
516e26177a edit: Format function key runes more compactly 2013-09-27 21:27:21 +08:00
Cheer Xiao
3c2ab4c15e edit: Key.String now outputs names of function keys 2013-09-27 21:26:17 +08:00
Cheer Xiao
3584180846 edit: Fix parsing of Alt- (letter) 2013-09-27 21:15:16 +08:00
Cheer Xiao
c3d3993c15 edit: Remove unused code 2013-09-27 21:13:24 +08:00
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