about summary refs log tree commit diff stats
path: root/stdin.mu
blob: d45f91ef54d1e2af30b5b377edd2e551828c59da (plain) (blame)
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
(function main [
  (default-space:space-address <- new space:literal 30:literal)
  (cursor-mode)
  (clear-screen)
  ; hook up stdin
  (stdin:channel-address <- init-channel 1:literal)
;?   (print-primitive nil:literal/terminal (("main: stdin is " literal)))
;?   (print-primitive nil:literal/terminal stdin:channel-address)
;?   (print-primitive nil:literal/terminal (("\n" literal)))
  (fork-helper send-keys-to-stdin:fn nil:literal/globals nil:literal/limit stdin:channel-address)
  ; now read characters from stdin until a 'q' is typed
  (print-primitive nil:literal/terminal (("? " literal)))
  { begin
    (x:tagged-value stdin:channel-address/deref <- read stdin:channel-address)
    (c:character <- maybe-coerce x:tagged-value character:literal)
;?     (print-primitive nil:literal/terminal (("main: stdin is " literal)))
;?     (print-primitive nil:literal/terminal stdin:channel-address)
;?     (print-primitive nil:literal/terminal (("\n" literal)))
;?     (print-primitive nil:literal/terminal (("check: " literal)))
;?     (print-primitive nil:literal/terminal c:character)
    (done?:boolean <- equal c:character ((#\q literal)))
    (break-if done?:boolean)
    (print-primitive nil:literal/terminal c:character)
    (loop)
  }
])
nick(void); void stub_accounts_set_muc_nick(void); void accounts_set_muc_nick_expect(char *account_name, char *nick); void mock_accounts_set_priorities(void); void stub_accounts_set_priorities(void); void accounts_set_priority_online_expect(char *account_name, gint priority); void accounts_set_priority_chat_expect(char *account_name, gint priority); void accounts_set_priority_away_expect(char *account_name, gint priority); void accounts_set_priority_xa_expect(char *account_name, gint priority); void accounts_set_priority_dnd_expect(char *account_name, gint priority); void mock_accounts_set_login_presence(void); void stub_accounts_set_login_presence(void); void accounts_set_login_presence_expect(char *account_name, char *presence); void mock_accounts_get_last_presence(void); void accounts_get_last_presence_return(resource_presence_t presence); #endif