File size: 540 Bytes
7e3630c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import { useTerminalInfo } from "../InkPictureProvider.js";
import { getBestProtocol } from "../utils/getBestProtocol.js";

export default function useProtocol(
  specifiedProtocol?:
    | "ascii"
    | "braille"
    | "halfBlock"
    | "iterm2"
    | "kitty"
    | "sixel",
): "ascii" | "braille" | "halfBlock" | "iterm2" | "kitty" | "sixel" {
  const terminalInfo = useTerminalInfo();

  if (specifiedProtocol) {
    return specifiedProtocol;
  }

  if (!terminalInfo) {
    return "ascii";
  }

  return getBestProtocol(terminalInfo);
}