Commit Graph

31 Commits

Author SHA1 Message Date
Qi Xiao
2320106a56 eval: Remove use of throws from globbing code. 2018-09-27 20:45:05 +01:00
Qi Xiao
89a08a9e67 eval: Remove more uses of throw. 2018-09-27 02:04:53 +01:00
Qi Xiao
2e51774b81 eval/vals: Comment and rename. 2018-03-15 21:26:45 +00:00
fehnomenal
873d8eeeaf Make value concatenation more modular (#633)
* Make value concatenation more modular

* Concat via global registry

* Make concatenation simpler and thread-safe

* Concat via interfaces
2018-03-15 21:15:09 +00:00
Qi Xiao
6391222af2 Update with upstream change. 2018-03-01 18:23:36 -05:00
Qi Xiao
d4bdbbeb23 eval: Move ptr-backed variable type to eval/vars. 2018-02-15 09:26:30 +00:00
Qi Xiao
f3501bbeba eval/types -> eval/vals. 2018-02-15 09:14:05 +00:00
Qi Xiao
596816f8cf eval/types: Remove the Value type.
Just use the good old interface{} type...
2018-01-29 17:39:41 +00:00
Qi Xiao
99921ea222 Get rid of types.String.
Elvish strings are now simply Go strings. \o/ This addresses #573.
2018-01-25 22:50:42 +00:00
Qi Xiao
5841a9fc83 Remove MultiIndexer.
This addresses #570.
2018-01-20 23:35:47 +00:00
Qi Xiao
0046856e41 Name shift: IndexOneer -> Indexer -> MultiIndexer
The old definition of Indexer was too flexible, and it turns out that
only one type implements that interface directly. We now call the old
interface MultiIndexer, and rename IndexOneer to Indexer.

This commit makes no semantic changes. MultiIndexer will be removed in
the following commit.
2018-01-20 23:14:34 +00:00
Qi Xiao
8c1f9d9c27 eval: Move String to eval/types. 2018-01-02 01:34:09 +00:00
Qi Xiao
29b13a917c eval: Move Value interfaces to eval/types. 2017-12-31 20:31:45 +00:00
Qi Xiao
4f884b6dbf Add Hash to Value interface. 2017-08-30 20:52:27 +02:00
Qi Xiao
f1b9fb0b45 Eq -> Equal. 2017-08-30 19:47:50 +02:00
Qi Xiao
4a7a4184ed Add an Eqer interface, and implement for many types.
This is to prepare for the transition to using the custom persistent map
implementation, which requires an Eq method for key types.
2017-07-14 01:28:51 +01:00
Qi Xiao
e6c09e9bc0 Handle bad wildcard in the compiler correctly.
This fixes #368.
2017-06-26 19:47:38 +02:00
Qi Xiao
910610f583 Make golint slightly happier. 2017-05-21 23:54:04 +01:00
Qi Xiao
8db13b85ec Add a but: glob qualifier to exclude paths. 2017-02-16 04:10:31 +00:00
Qi Xiao
fc411c9c76 Support character sets, ranges and classes in wildcard modifiers.
This fixes #298.
2017-02-02 15:24:08 -08:00
Qi Xiao
43590f1709 Rename the modifier again to match-hidden. 2017-02-02 13:54:22 -08:00
Qi Xiao
70535f540e Glob modifier "all" -> "include-hidden". 2017-02-02 13:51:44 -08:00
Qi Xiao
aa9e2468a8 Make globs fail by default unless the pattern has a nomatch-ok modifer.
This fixes #318.
2017-02-02 13:23:20 -08:00
Qi Xiao
b855b29174 Fix last commit. 2017-02-02 13:13:08 -08:00
Qi Xiao
b0f7b41ce4 Make doGlob less stupid. 2017-02-02 13:00:48 -08:00
Qi Xiao
f2a58f53ca Make glob.Segment an interface. 2017-02-02 11:15:42 -08:00
Qi Xiao
d69530f8b4 Globbing is now interruptable! 2016-06-28 23:08:15 +02:00
Qi Xiao
345d679e5c Channel outputs are no longer pretty-printed.
There is now a "pprint" builtin that pretty-prints.
2016-03-08 02:23:49 +01:00
Qi Xiao
cea7d7675c Implement an "all" modifier for wildcards; fix tests. 2016-02-23 02:45:35 +01:00
Qi Xiao
2413edcc09 Implement pretty printing.
This fixes #112.
2016-02-19 20:11:31 +01:00
Qi Xiao
e6a9e79ea0 Restructure the eval package. 2016-02-18 22:52:05 +01:00