diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/index.tsx | 67 |
1 files changed, 39 insertions, 28 deletions
diff --git a/src/index.tsx b/src/index.tsx index b300f20..aa7f16b 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -3,7 +3,7 @@ import { connect, Socket } from "net"; import { showFailureToast } from "@raycast/utils"; import { useState, useEffect, useRef } from "react"; -export default function Command({ arguments: { host, port } }: { arguments: { host: string, port: string } }) { +export default function Command({ arguments: { host, port } }: { arguments: { host: string; port: string } }) { const [elements, setElements] = useState<string[]>(); const socket = useRef<Socket>(); @@ -13,50 +13,61 @@ export default function Command({ arguments: { host, port } }: { arguments: { ho setElements([]); }; - const s = connect({ host, port: parseInt(port) }) - socket.current = s - s.on('error', showErr); + const s = connect({ host, port: parseInt(port) }); + socket.current = s; + s.on("error", showErr); - let buf: string = ''; + let buf: string = ""; - s.on('data', data => { + s.on("data", (data) => { buf += data; - const firstLineEnding = buf.indexOf('\n'); + const firstLineEnding = buf.indexOf("\n"); if (firstLineEnding == -1) return; const amount = parseInt(buf.slice(0, firstLineEnding)); - const lines = buf.slice(firstLineEnding + 1).trim().split("\n"); + const lines = buf + .slice(firstLineEnding + 1) + .trim() + .split("\n"); if (lines.length != amount) return; - setElements(lines.map(s => s.trim()).filter(s => s.length != 0)); - }) + setElements(lines.map((s) => s.trim()).filter((s) => s.length != 0)); + }); - s.on('close', () => closeMainWindow()); + s.on("close", () => closeMainWindow()); return () => { if (socket.current != null) socket.current.end(); - } - }, [host, port]) - + }; + }, [host, port]); return ( <List isLoading={elements === undefined}> - {elements?.map((item, idx) => <List.Item title={item} key={idx} actions={ - <ActionPanel> - <Action title="Select" onAction={() => { - const s = socket.current; - if (s == null) { - showFailureToast('Socket disconnected') - closeMainWindow(); - return; - } - s.write(item + '\n') - s.end() - }} /> - </ActionPanel> - } />)} + {elements?.map((item, idx) => ( + <List.Item + title={item} + key={idx} + actions={ + <ActionPanel> + <Action + title="Select" + onAction={() => { + const s = socket.current; + if (s == null) { + showFailureToast("Socket disconnected"); + closeMainWindow(); + return; + } + s.write(item + "\n"); + s.end(); + }} + /> + </ActionPanel> + } + /> + ))} </List> ); } |
