Commit Graph

1591 Commits

Author SHA1 Message Date
Qi Xiao
8d65044d54 eval: table is now callable 2016-01-27 21:38:49 +00:00
Qi Xiao
8c849af711 prefix for functions is now "&". 2016-01-27 21:24:17 +00:00
Qi Xiao
a92c371467 parse: the first char of variable name can now be anything 2016-01-27 21:22:47 +00:00
Qi Xiao
d8b87da39a Makefile: run tests with -v 2016-01-27 20:48:11 +00:00
Qi Xiao
4ef1f82e96 eval: fix deadlock with evalWithOut 2016-01-27 20:47:41 +00:00
Qi Xiao
0efb651e25 eval: (out capt) now also captures bytes 2016-01-27 20:34:58 +00:00
Qi Xiao
989e10cdb7 eval: synchronize conversion of channel to stdout correctly 2016-01-27 20:05:02 +00:00
Qi Xiao
ab52faa191 edit: stop the reader correctly in finishReadLine 2016-01-27 19:54:15 +00:00
Qi Xiao
87ee1adf6a edit: tab no longer cycles through candidates.
Since now tab can quit and re-enter completion mode in a single iteration of
the editor main loop, a bug where the editor is not correctly refreshed has
been revealed. It has also been fixed.

This fixes #66.
2016-01-27 19:49:56 +00:00
Qi Xiao
e14b91f382 eval: special-case completion of unambiguous dir name. 2016-01-27 19:39:49 +00:00
Qi Xiao
c5bb836835 eval: add $paths 2016-01-27 19:16:41 +00:00
Qi Xiao
ac605a1dee edit: suspend the reader when the writer is active.
The reader sets the O_NONBLOCK flag on the terminal when it is active, which
will cause writes to result in EAGAIN in some cases.

This fixes #54 and #56.
2016-01-27 13:04:15 +00:00
Qi Xiao
97302b5504 edit: beep -> flash 2016-01-27 02:46:49 +01:00
Qi Xiao
7e5f167b70 rework README more 2016-01-27 00:19:48 +01:00
Qi Xiao
10f511ee21 rework README.md 2016-01-27 00:11:55 +01:00
Qi Xiao
0851184d50 add a put-all builtin 2016-01-27 00:11:47 +01:00
Qi Xiao
de9515d032 Update README.md to reflect language changes 2016-01-26 22:18:19 +01:00
Qi Xiao
633a0ea077 edit: use channels in fileNames 2016-01-26 21:05:12 +00:00
Qi Xiao
a6859b2e77 edit: complete new form and new arg 2016-01-26 20:26:44 +00:00
Qi Xiao
5e410a733f fix - builtin 2016-01-26 20:59:34 +01:00
Qi Xiao
1b93fcd988 eval: builtin revamps 2016-01-26 19:17:28 +01:00
Qi Xiao
c3c75bf67e eval: remove BuiltinFnNames 2016-01-26 18:02:50 +01:00
Qi Xiao
a48fab1ed8 eval: builtin true is synonym with : 2016-01-26 17:49:46 +01:00
Qi Xiao
e763f70226 builtins {print,feed}chan -> {into,from}-lines; parse-json -> from-json 2016-01-26 17:48:41 +01:00
Qi Xiao
76c1c97d46 expose eval.fnPrefix; update docstring for fn 2016-01-26 17:42:37 +01:00
Qi Xiao
37686bce82 edit: complete fn- functions as commands 2016-01-26 17:38:59 +01:00
Qi Xiao
18b6e705c9 edit: color builtin specials correctly 2016-01-26 17:35:43 +01:00
Qi Xiao
9096d71704 edit: remove a superfluous line 2016-01-26 17:27:50 +01:00
Qi Xiao
982ee6cf09 edit: simplify completion 2016-01-26 17:25:00 +01:00
Qi Xiao
e238cdeb4f edit: refactor completers 2016-01-26 16:27:41 +01:00
Qi Xiao
8ac6dce0e4 parse: make backup after a read of EOF behave correctly
This is done by introducing an "overEOF" count, so that when rd.next() == EOF,
rd.backup() does nothing. This behavior is needed for some incomplete inputs.
2016-01-26 14:54:24 +01:00
Qi Xiao
2eaa8fde6b edit: complete variable 2016-01-26 00:46:46 +01:00
Qi Xiao
58bc615caa expose Evaler.global via .Global 2016-01-26 00:41:52 +01:00
Qi Xiao
30f07d9e7f edit: color and complete external command names 2016-01-26 00:31:45 +01:00
Qi Xiao
673c2438d2 eval: Factor out DontSearch 2016-01-26 00:26:49 +01:00
Qi Xiao
ad73f297c2 eval: move Evaler.Search to separate file; expose isExecutable 2016-01-26 00:04:54 +01:00
Qi Xiao
a65ff31b29 eval: expose Evaler.search 2016-01-25 23:57:22 +01:00
Qi Xiao
e2292b9680 eval: there is no builtin: namespace anymore. 2016-01-25 23:53:40 +01:00
Qi Xiao
743185f6f3 eval: make lexical scoping less broken 2016-01-25 23:53:17 +01:00
Qi Xiao
0e1f1fe408 eval: add a new failing test case on lexical scoping 2016-01-25 23:28:24 +01:00
Qi Xiao
5c4de3302a add semantic coloring of variables 2016-01-25 23:09:47 +01:00
Qi Xiao
4a6880534c edit: fix a panic in nodeutil.go 2016-01-25 23:05:40 +01:00
Qi Xiao
c0d783996e edit: terminate completion early if current token has no node 2016-01-25 23:01:31 +01:00
Qi Xiao
ea2b7e8b92 edit: move utils for evaluation of nodes into nodeutil.go 2016-01-25 22:47:43 +01:00
Qi Xiao
52d3565af1 edit: support coloring of Sep's 2016-01-25 22:43:39 +01:00
Qi Xiao
065549965d edit: Token now has an MoreStyle field 2016-01-25 22:35:19 +01:00
Qi Xiao
13d914f9a8 edit: bs *editorState -> es *editorState 2016-01-25 22:19:44 +01:00
Qi Xiao
cca6d75c36 Store a pointer to eval.Evaler in edit.Editor 2016-01-25 22:14:12 +01:00
Qi Xiao
5c64fa16e0 parse: support comments 2016-01-25 21:57:31 +01:00
Qi Xiao
c3fbfea7b1 edit: change styling of mode 2016-01-25 17:54:18 +01:00