-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathTODO.rst
70 lines (46 loc) · 1.82 KB
/
TODO.rst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Even when most of these are in the github issues, I leave it here so I can
attack it offline (when I code best).
Really do:
----------
* better error reporting, including remotes
* interface so local and remote can easily setup more communication channels
* we're weeding out imports, we could gather a list and reimport them in the
remote
* from foo import bar is gonna break
* imported ayrton scripts should be parsed with the ayrton parser.
* becareful with if cat () | grep (); error codes must be carried too
* exit code of last Command should be used as return code of functions
* process substitution
* https://github.com/amoffat/sh/issues/66
* becareful with buitins, might eclipse valid usages: bash() (exp) blocks /bin/bash
* rename bash() to expand()
* add option _exec=True for actually executing the binary.
* check ``bash``'s manpage and see what's missing.
* subprocess
* with ayrton (): ...
* a setting for making references to unkown envvars as in bash.
* trap?
* executable path caching à la bash.
* with parallel(2):
....
Think deeply about:
-------------------
* what to do about relative/absolute command paths?
* git (commit) vs git.commit() vs git ('commit')
* function names are expressions too:
* / as unary op? => /path/to/excecutable and relative/path
* foo_bar vs foo__bar vs foo-bar
* -f vs (-)f vs _f
* commands in keywords should also be _out=Capture
* which is the sanest default, bash (..., single=True) or otherwise
* exec &> ./create.log
* implement -m so we can run ayrton -x -m foo
* check whether we can replace a lot of code with Popen/subprocess
* convert tests to function calls
* -P=True, ok; -P=False?
* format strings -> bash expansion
* s/bash/expand/
* case/matching?
If we have the time:
--------------------
* ast.Name('x', ast.Load(), lineno=1, col_offset=6)