Commit Graph

1402 Commits

Author SHA1 Message Date
Qi Xiao
b8e831f709 Implement builtin len. 2016-02-15 23:00:21 +01:00
Qi Xiao
5000c60813 add Eval.Struct, use it to wrap structs. 2016-02-15 22:36:37 +01:00
Qi Xiao
c863ac6381 eval: add roVariable. 2016-02-15 22:19:51 +01:00
Qi Xiao
fa8a69c5d3 edit: Fix interface of BindingTable. 2016-02-15 18:34:31 +01:00
Qi Xiao
a73efadf4d Add a count builtin. 2016-02-15 15:15:40 +01:00
Qi Xiao
5609dd1a84 Implement IndexerCaller.
Now we have M-expression!
2016-02-15 15:00:34 +01:00
Qi Xiao
a2635d78b7 eval: getCaller -> mustCaller 2016-02-15 14:54:41 +01:00
Qi Xiao
5219fbcbdf Make Indexer.Index take []Value and return []Value 2016-02-15 14:53:27 +01:00
Qi Xiao
ed2855c595 Fix using Indexer as Caller. 2016-02-15 14:31:59 +01:00
Qi Xiao
0fdf595633 eval: factor out captureOutput. 2016-02-15 14:28:32 +01:00
Qi Xiao
043de2371f eval: Reorganize files. 2016-02-15 14:18:27 +01:00
Qi Xiao
6f32a4d1fd Make String a Caller. 2016-02-15 14:14:15 +01:00
Qi Xiao
0f4d68a5bd Close DB before execing.
Weirdly, this does not fix the database lock bug.
2016-02-15 14:13:50 +01:00
Qi Xiao
a8635caab7 Use \e[2m (dim) as the style for completion and history. 2016-02-15 13:37:08 +01:00
Qi Xiao
d1fbe07f46 edit: Insert history in a separate goroutine. 2016-02-15 09:56:44 +01:00
Qi Xiao
a1b770db3a Deal with args and redirs on control structures. 2016-02-14 20:13:42 +01:00
Qi Xiao
1c40246c22 Print the panic cause in the global recovery function. 2016-02-14 20:06:34 +01:00
Qi Xiao
27a548488f More sensible parsing of command leaders. 2016-02-14 20:06:18 +01:00
Qi Xiao
9eaca63c9b parse: Force parsing of form head. 2016-02-14 19:58:36 +01:00
Qi Xiao
eda20bad02 Fix while, for only running one loop; fix do.
This complete resolves #104.
2016-02-14 19:52:23 +01:00
Qi Xiao
f66b39e2ec Handle continue and break in for and while. 2016-02-14 19:45:31 +01:00
Qi Xiao
ec9a628ba0 Implement for. 2016-02-14 19:42:08 +01:00
Qi Xiao
26006a03f4 Parse the for form correctly. 2016-02-14 19:18:10 +01:00
Qi Xiao
6e1090b887 Implement control structures except for for. 2016-02-14 19:13:12 +01:00
Qi Xiao
0afe57b179 Parse G3 arrow keys. 2016-02-14 18:31:36 +01:00
Qi Xiao
4b3d18442a Use outer product semantics for indexing. 2016-02-14 18:13:53 +01:00
Qi Xiao
b9a2693e57 edit: Only write bufListing when necessary. 2016-02-14 17:52:06 +01:00
Qi Xiao
097ecfe6f6 eval: Factor out an outerProduct; remove some code. 2016-02-14 17:46:25 +01:00
Qi Xiao
a1abcdff28 Disable mouse tracking for now. 2016-02-14 15:35:32 +01:00
Qi Xiao
09c91f2628 edit: Break mode-changing sequences apart. 2016-02-14 15:35:07 +01:00
Qi Xiao
0e981ee6de Preliminary parsing of control structures. 2016-02-14 15:29:00 +01:00
Qi Xiao
fe2b07e936 Add a history listing mode. 2016-02-14 07:52:31 +00:00
Qi Xiao
d377d89dcb Fix logger prefixes. 2016-02-13 21:40:54 +01:00
Qi Xiao
4ed010ab7d Edit: Update the render algorithm.
The old erase sequence is restored and explained in the comment. Some
unncessary sequences are suppressed.
2016-02-13 21:38:33 +01:00
Qi Xiao
96e52579a4 Add an "-exec" builtin. 2016-02-13 21:24:46 +01:00
Qi Xiao
e3826f42ae Require go>=1.5, remove drone.io badge. 2016-02-13 21:14:38 +01:00
Qi Xiao
725d1d48c8 Fix last commit. 2016-02-13 21:06:35 +01:00
Qi Xiao
84ea0384c5 Fix -log ''. 2016-02-13 21:06:16 +01:00
Qi Xiao
8e728ef076 Allow setting log file at runtime. 2016-02-13 21:05:35 +01:00
Qi Xiao
9483c60f19 edit: Simplify the erase sequence. 2016-02-13 20:54:39 +01:00
Qi Xiao
fee18f2543 edit: Use %+v to print mouse event. 2016-02-13 20:37:21 +01:00
Qi Xiao
089d4ad79c edit: read "normal" mouse event as well. 2016-02-13 20:37:02 +01:00
Qi Xiao
874855e967 edit: fix addTip. 2016-02-13 20:35:06 +01:00
Qi Xiao
3c718a9bff edit: Adjust reader logic to deal with CSI starter. 2016-02-13 20:19:14 +01:00
Qi Xiao
26c4eba04c Initialize currentSeq properly. 2016-02-13 19:43:49 +01:00
Qi Xiao
1dd89b8fe6 edit: Support multi-line tips.
The line-cutting strategy has also been refined.
2016-02-13 19:40:43 +01:00
Qi Xiao
55e3f4b029 pushTip -> addTip; make it nicer to use. 2016-02-13 19:27:21 +01:00
Qi Xiao
c08ae1ea54 edit: More small refactor. 2016-02-13 19:21:29 +01:00
Qi Xiao
4586199219 edit: Small refactor. 2016-02-13 19:17:20 +01:00
Qi Xiao
011f4dcaa2 Fix select-history-next. 2016-02-13 16:45:16 +01:00