Commit Graph

36 Commits

Author SHA1 Message Date
Benjamin Summers
154fc5f849 Never run a local terminal. 2019-12-17 03:29:58 -08:00
Elliot Glaysher
8a09262092 Separate the config into pier and network sections.
Make the ames tests compile again, reading from a test instance of
HasNetworkConfig without phony HasPierConfig data.
2019-10-22 11:25:04 -07:00
Elliot Glaysher
b0ed770cc8 Build (HasPierConfig env) and use it for pier path and network state 2019-10-17 14:06:25 -07:00
Elliot Glaysher
31403543b8 Make it build 2019-09-18 11:05:36 -07:00
Elliot Glaysher
ba9bd01e35
Merge branch 'king-haskell' into king-exit-cleanly 2019-09-18 11:02:46 -07:00
Elliot Glaysher
f417c084a4 Merge remote-tracking branch 'origin/king-haskell' into king-exit-cleanly 2019-09-18 10:38:20 -07:00
Benjamin Summers
b1a9dff197 Fixes live-lock by changing type of Vere.Term.API.Client.give to take [Term.Ev]. 2019-09-18 02:11:18 -07:00
Benjamin Summers
24bc28e834 Hooked up a remote terminal, it runs but doesn't work yet. 2019-09-18 00:24:10 -07:00
Benjamin Summers
4c3342f9c6 External terminals get added to the demuxed terminal set. 2019-09-17 23:59:07 -07:00
Benjamin Summers
09b30bf169 Collect terminal size. 2019-09-17 23:58:42 -07:00
Benjamin Summers
cd07b10946 Impement basic support for multiple terminals pretending to be one terminal. 2019-09-17 23:17:54 -07:00
Benjamin Summers
ebf3d3e5c6 Move terminal client API into it's own module. 2019-09-17 22:22:19 -07:00
Benjamin Summers
4fdfab66df Minor 2019-09-17 22:06:40 -07:00
Benjamin Summers
99dd161b86 Simplify term interface. 2019-09-17 22:01:44 -07:00
Benjamin Summers
c4be3e4a19 Terminal loop cleanup. 2019-09-17 21:41:31 -07:00
Elliot Glaysher
7c6a3c2300 Make king shutdown cleanly on a new line.
This makes canceling the persistance thread not rethrow an exception
which kills the process, and makes the terminal driver write one
final newline before giving control back to the terminal so the
bash prompt writes to its own line.
2019-09-17 14:00:54 -07:00
Elliot Glaysher
c7945689d2 Terminal spinner implementation in King Haskell.
This gets a terminal spinner to spin after a short delay like in
vere. This also fixes a bug in termRefreshLine which was screwing
up redisplay of the terminal spinner; it hadn't been translated
from C properly.
2019-09-16 16:51:17 -07:00
Elliot Glaysher
229870e0cc Fix atom putfiles + do unicode accumulation correctly. 2019-09-13 11:46:03 -07:00
Elliot Glaysher
189f03e285 Stylish + 80 col 2019-09-13 11:02:41 -07:00
Elliot Glaysher
3927e4d50a Clay syncing.
This performs all normal filesystem operations. We can take
filesystem hash snapshots on startup, write the contents of an
%ergo to disk, send changes to Urbit with an %into, and finally
delete mount points when they are %ogre.

This doesn't deal with updating an initial filesystem on first
run with -A, or with acquiring a lockfile, which should happen
elsewhere.

Can take filesystem hash snapshots on startup, and can write the
contents of an %ergo to disk.
2019-09-11 16:20:05 -07:00
Elliot Glaysher
5e9822d268 Make the compute thread take a request instead of an event.
The compute thread should take an event or a save request or a
shutdown request. We now take snapshots every 120 seconds like
vere does, and take a snapshot before clean shutdown.

(Also changes the terminal driver so that it doesn't unboundedly
block shutdown.)
2019-09-06 12:59:56 -07:00
Elliot Glaysher
75e44f95ee Remove warning override. 2019-09-04 13:02:51 -07:00
Elliot Glaysher
c635abd58e Hook up ~& to the terminal driver. 2019-09-03 15:17:20 -07:00
Elliot Glaysher
8af0d7bef9 Move all of Term.hs into RIO. 2019-09-03 11:02:54 -07:00
Elliot Glaysher
22647bb91e Rough draft of putfiles. 2019-08-30 13:26:51 -07:00
Elliot Glaysher
80e71b2532 Actually send ^D to the Urbit; handle %logo in response to shutdown. 2019-08-30 11:01:37 -07:00
Elliot Glaysher
206230cec6 Get ^D to end your Urbit session.
This also does a bunch of style cleanup and rearranging so that we
can have the reader thread end.
2019-08-29 16:35:52 -07:00
Elliot Glaysher
8ac461477a Log "interrupt" on C-c properly. 2019-08-29 15:05:01 -07:00
Elliot Glaysher
e2d304d43c At least detect when we have ^C or ^D. 2019-08-29 14:54:34 -07:00
Elliot Glaysher
6f6811def5 Very basic input works. Edge cases unhandled. 2019-08-29 13:19:06 -07:00
Elliot Glaysher
70ef39210f Get basic text working. 2019-08-29 11:12:50 -07:00
Elliot Glaysher
cdcdc6a59e Merge remote-tracking branch 'origin/bs/king-logging' into eg/uterm 2019-08-29 10:30:53 -07:00
Elliot Glaysher
d1a9eaeaa0 A closer copy of the term.c output.
After looking at vty for a bit, I decided to just do a straight port
of term.c's raw output code. This gets the "~zod:dojo" in the right
position, though the other logging output screws things up a bit.
2019-08-28 17:08:47 -07:00
Elliot Glaysher
555b9e7dcf Moved terminal initialization up to Pier.
Joe told me to look at the Jaque terminal and I just did. That uses
the Lanterna Java library to handle terminal output. Joe then suggested
that I move the entire system here to curses or another similar library.
2019-08-28 13:17:01 -07:00
Elliot Glaysher
994c5948e1 Construct the %blew and %hail initalEvents correctly. 2019-08-27 16:22:01 -07:00
Elliot Glaysher
5e3e1e7c1a Skeleton terminal implementation.
This sends the right events on startup, and there's a minimal key
reading logic, but not much else works yet.
2019-08-27 15:29:11 -07:00