MCPcopy Create free account
hub / github.com/Effect-TS/effect / renderPrompt

Function renderPrompt

packages/cli/src/internal/prompt/file.ts:111–132  ·  view source on GitHub ↗
(
  confirm: Doc.AnsiDoc,
  message: string,
  leadingSymbol: Doc.AnsiDoc,
  trailingSymbol: Doc.AnsiDoc
)

Source from the content-addressed store, hash-verified

109const NEWLINE_REGEX = /\r?\n/
110
111function renderPrompt(
112 confirm: Doc.AnsiDoc,
113 message: string,
114 leadingSymbol: Doc.AnsiDoc,
115 trailingSymbol: Doc.AnsiDoc
116) {
117 const annotateLine = (line: string): Doc.AnsiDoc => Doc.annotate(Doc.text(line), Ansi.bold)
118 const prefix = Doc.cat(leadingSymbol, Doc.space)
119 return Arr.match(message.split(NEWLINE_REGEX), {
120 onEmpty: () => Doc.hsep([prefix, trailingSymbol, confirm]),
121 onNonEmpty: (promptLines) => {
122 const lines = Arr.map(promptLines, (line) => annotateLine(line))
123 return prefix.pipe(
124 Doc.cat(Doc.nest(Doc.vsep(lines), 2)),
125 Doc.cat(Doc.space),
126 Doc.cat(trailingSymbol),
127 Doc.cat(Doc.space),
128 Doc.cat(confirm)
129 )
130 }
131 })
132}
133
134function renderPrefix(
135 state: State,

Callers 2

renderNextFrameFunction · 0.85
renderSubmissionFunction · 0.85

Calls 4

splitMethod · 0.80
annotateLineFunction · 0.70
mapMethod · 0.65
pipeMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…