Cheer Xiao
|
84cdc6c50f
|
parse: Remove outdated TODO
|
2013-10-06 13:07:45 +08:00 |
|
Cheer Xiao
|
e4db8e7d0d
|
parse: Lex comments as ItemSpace (until we need fancier comment handling)
|
2013-10-06 10:45:16 +08:00 |
|
Cheer Xiao
|
7b20e5f45b
|
parse: Fix unquoting of ItemSingleQuoted and termination of bareword
ItemSingleQuoted is now quoted with ` now.
|
2013-10-05 09:53:58 +08:00 |
|
Cheer Xiao
|
4a78397c7f
|
parse: Lex (but not yet parse) ItemComment
Comments can only start at start of line or after spaces. Thus `echo a#`
doesn't have a comment.
|
2013-10-05 09:40:26 +08:00 |
|
Cheer Xiao
|
4471583e1c
|
eval: A little reorg
|
2013-10-05 00:38:18 +08:00 |
|
Cheer Xiao
|
c9d6a8f7ba
|
eval: Evaluate terms as Cartesian products of factors
|
2013-10-05 00:38:07 +08:00 |
|
Cheer Xiao
|
a4301d195f
|
Parse and evaluate factor of term list
Note: the evaluation is currently a stub.
|
2013-10-05 00:19:40 +08:00 |
|
Cheer Xiao
|
b5319c9528
|
parse: Introduce ItemList node; allow empty pipeline
|
2013-10-05 00:11:28 +08:00 |
|
Cheer Xiao
|
755ff1a26e
|
parse: Backquote is now used for single-quoting
|
2013-10-04 23:59:57 +08:00 |
|
Cheer Xiao
|
a24ad63573
|
parse: Terminate barewords at " ' too
|
2013-10-04 23:59:08 +08:00 |
|
Cheer Xiao
|
c9b29f6447
|
Implement parsing & evaluation of terms
What used to be terms are now just factors.
|
2013-10-04 23:57:49 +08:00 |
|
Cheer Xiao
|
9ea3d77043
|
parse: Document the grammar
|
2013-10-04 23:49:00 +08:00 |
|
Cheer Xiao
|
77342c2bd4
|
parse: Parse single-rune tokens more compactly
|
2013-10-04 23:25:30 +08:00 |
|
Cheer Xiao
|
1e0cebf749
|
parse: More compact use of switch/case
|
2013-10-04 23:21:14 +08:00 |
|
Cheer Xiao
|
257bb658e8
|
parse: Add tokens LParen and RParen
|
2013-10-04 23:18:52 +08:00 |
|
Cheer Xiao
|
a69cc93bec
|
parse: Stricter rule for bareword termination
|
2013-10-04 23:15:17 +08:00 |
|
Cheer Xiao
|
bd584bcd3d
|
edit: Implement editor actions as functions
|
2013-10-03 22:43:12 +08:00 |
|
Cheer Xiao
|
b518e84bab
|
edit: Make prompt, line, tip and dot part of Editor
|
2013-10-03 22:20:27 +08:00 |
|
Cheer Xiao
|
ba15b37dc1
|
edit: Comment, cleanup
|
2013-10-03 22:10:57 +08:00 |
|
Cheer Xiao
|
55a3d41c00
|
edit: Support Ctrl-K
|
2013-10-03 22:00:40 +08:00 |
|
Cheer Xiao
|
f328cc6094
|
edit: Implement Left and Right
|
2013-10-03 21:59:23 +08:00 |
|
Cheer Xiao
|
b217131a13
|
edit: point -> dot, in spirit of acme (or maybe sam...)
|
2013-10-03 21:57:44 +08:00 |
|
Cheer Xiao
|
cb6ec7628b
|
edit: Point-aware editor operations
|
2013-10-03 21:56:54 +08:00 |
|
Cheer Xiao
|
1598c02eaa
|
eval: Keep the point as index into string
|
2013-10-03 21:52:46 +08:00 |
|
Cheer Xiao
|
5586825704
|
edit: Comments
|
2013-10-03 21:44:37 +08:00 |
|
Cheer Xiao
|
151708212e
|
edit: Remove Editor.refresh
|
2013-10-03 21:37:43 +08:00 |
|
Cheer Xiao
|
84ff82d249
|
edit: Implement point (cursor as seen by user)
|
2013-10-03 21:37:07 +08:00 |
|
Cheer Xiao
|
f142655b09
|
edit: Let the writer handle \n in text; drop unprintable runes
|
2013-10-03 21:29:46 +08:00 |
|
Cheer Xiao
|
526dc33aac
|
eval: Update comment
|
2013-10-02 22:58:16 +08:00 |
|
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 |
|