summaryrefslogtreecommitdiff
path: root/cli/tests/testdata/raw_mode_cbreak.ts
blob: c66c36f0d9a526f92e6d7048338e40a22de96536 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Deno.setRaw(0, true);
Deno.setRaw(0, true, { cbreak: true }); // Can be called multiple times

const signal = Deno.signal("SIGINT");

Deno.stdout.writeSync(new TextEncoder().encode("S"));

signal.then(() => {
  Deno.stdout.writeSync(new TextEncoder().encode("A"));

  signal.dispose();

  Deno.setRaw(0, false); // restores old mode.
  Deno.setRaw(0, false); // Can be safely called multiple times
});

setTimeout(() => {}, 10000); // Keep the program running