1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294 |
- <?xml version="1.0" encoding="utf-8" ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <!-- This file is generated by Nim. -->
- <html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>std/terminal</title>
- <!-- Google fonts -->
- <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
- <link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
- <!-- Favicon -->
- <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
- <link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
- <!-- CSS -->
- <link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
- <!-- JS -->
- <script type="text/javascript" src="dochack.js?v=2.3.1"></script>
- </head>
- <body>
- <div class="document" id="documentId">
- <div class="container">
- <h1 class="title">std/terminal</h1>
- <div class="row">
- <div class="three columns">
- <div class="theme-select-wrapper">
- <label for="theme-select">Theme: </label>
- <select id="theme-select" onchange="setTheme(this.value)">
- <option value="auto">🌗 Match OS</option>
- <option value="dark">🌑 Dark</option>
- <option value="light">🌕 Light</option>
- </select>
- </div>
- <div id="global-links">
- <ul class="simple-boot">
- <li><a href="manual.html">Manual</a></li>
- <li><a href="lib.html">Standard library</a></li>
- <li> <a id="indexLink" href="theindex.html">Index</a></li>
- <li><a href="compiler/theindex.html">Compiler docs</a></li>
- <li><a href="https://nim-lang.github.io/fusion/theindex.html">Fusion docs</a></li>
- <li><a href="https://nim-lang.github.io/Nim/">devel</a>, <a href="https://nim-lang.org/documentation.html">stable</a></li>
- </ul>
- </div>
- <div id="searchInputDiv">
- Search: <input type="search" id="searchInput"
- oninput="search()" />
- </div>
-
- <ul class="simple simple-toc" id="toc-list">
- <li><a class="reference" id="progress-bar_toc" href="#progress-bar">Progress bar</a></li>
- <ul class="simple"><li><a class="reference" id="progress-bar-playing-with-colorful-and-styled-text_toc" href="#progress-bar-playing-with-colorful-and-styled-text">Playing with colorful and styled text</a></li>
- </ul><li>
- <a class="reference reference-toplevel" href="#6" id="56">Imports</a>
- </li>
- <li>
- <details open>
- <summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
- <ul class="simple simple-toc-section">
- <li><a class="reference" href="#BackgroundColor" title="BackgroundColor = enum
- bgBlack = 40, ## black
- bgRed, ## red
- bgGreen, ## green
- bgYellow, ## yellow
- bgBlue, ## blue
- bgMagenta, ## magenta
- bgCyan, ## cyan
- bgWhite, ## white
- bg8Bit, ## 256-color (not supported, see `enableTrueColors` instead.)
- bgDefault ## default terminal background color">BackgroundColor</a></li>
- <li><a class="reference" href="#ForegroundColor" title="ForegroundColor = enum
- fgBlack = 30, ## black
- fgRed, ## red
- fgGreen, ## green
- fgYellow, ## yellow
- fgBlue, ## blue
- fgMagenta, ## magenta
- fgCyan, ## cyan
- fgWhite, ## white
- fg8Bit, ## 256-color (not supported, see `enableTrueColors` instead.)
- fgDefault ## default terminal foreground color">ForegroundColor</a></li>
- <li><a class="reference" href="#Style" title="Style = enum
- styleBright = 1, ## bright text
- styleDim, ## dim text
- styleItalic, ## italic (or reverse on terminals not supporting)
- styleUnderscore, ## underscored text
- styleBlink, ## blinking/bold text
- styleBlinkRapid, ## rapid blinking/bold text (not widely supported)
- styleReverse, ## reverse
- styleHidden, ## hidden text
- styleStrikethrough ## strikethrough">Style</a></li>
- <li><a class="reference" href="#TerminalCmd" title="TerminalCmd = enum
- resetStyle, ## reset attributes
- fgColor, ## set foreground's true color
- bgColor ## set background's true color">TerminalCmd</a></li>
- </ul>
- </details>
- </li>
- <li>
- <details open>
- <summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
- <ul class="simple simple-toc-section">
- <li><a class="reference" href="#ansiResetCode" title="ansiResetCode = "\e[0m"">ansiResetCode</a></li>
- </ul>
- </details>
- </li>
- <li>
- <details open>
- <summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
- <ul class="simple simple-toc-section">
- <ul class="simple nested-toc-section">ansiBackgroundColorCode
- <li><a class="reference" href="#ansiBackgroundColorCode%2CColor" title="ansiBackgroundColorCode(color: Color): string">ansiBackgroundColorCode(color: Color): string</a></li>
- </ul>
- <ul class="simple nested-toc-section">ansiForegroundColorCode
- <li><a class="reference" href="#ansiForegroundColorCode%2CColor" title="ansiForegroundColorCode(color: Color): string">ansiForegroundColorCode(color: Color): string</a></li>
- <li><a class="reference" href="#ansiForegroundColorCode%2CForegroundColor" title="ansiForegroundColorCode(fg: ForegroundColor; bright = false): string">ansiForegroundColorCode(fg: ForegroundColor; bright = false): string</a></li>
- </ul>
- <ul class="simple nested-toc-section">ansiStyleCode
- <li><a class="reference" href="#ansiStyleCode%2Cint" title="ansiStyleCode(style: int): string">ansiStyleCode(style: int): string</a></li>
- </ul>
- <ul class="simple nested-toc-section">cursorBackward
- <li><a class="reference" href="#cursorBackward%2CFile%2Cint" title="cursorBackward(f: File; count = 1)">cursorBackward(f: File; count = 1)</a></li>
- </ul>
- <ul class="simple nested-toc-section">cursorDown
- <li><a class="reference" href="#cursorDown%2CFile%2Cint" title="cursorDown(f: File; count = 1)">cursorDown(f: File; count = 1)</a></li>
- </ul>
- <ul class="simple nested-toc-section">cursorForward
- <li><a class="reference" href="#cursorForward%2CFile%2Cint" title="cursorForward(f: File; count = 1)">cursorForward(f: File; count = 1)</a></li>
- </ul>
- <ul class="simple nested-toc-section">cursorUp
- <li><a class="reference" href="#cursorUp%2CFile%2Cint" title="cursorUp(f: File; count = 1)">cursorUp(f: File; count = 1)</a></li>
- </ul>
- <ul class="simple nested-toc-section">disableTrueColors
- <li><a class="reference" href="#disableTrueColors" title="disableTrueColors()">disableTrueColors()</a></li>
- </ul>
- <ul class="simple nested-toc-section">enableTrueColors
- <li><a class="reference" href="#enableTrueColors" title="enableTrueColors()">enableTrueColors()</a></li>
- </ul>
- <ul class="simple nested-toc-section">eraseLine
- <li><a class="reference" href="#eraseLine%2CFile" title="eraseLine(f: File)">eraseLine(f: File)</a></li>
- </ul>
- <ul class="simple nested-toc-section">eraseScreen
- <li><a class="reference" href="#eraseScreen%2CFile" title="eraseScreen(f: File)">eraseScreen(f: File)</a></li>
- </ul>
- <ul class="simple nested-toc-section">getch
- <li><a class="reference" href="#getch" title="getch(): char">getch(): char</a></li>
- </ul>
- <ul class="simple nested-toc-section">getCursorPos
- <li><a class="reference" href="#getCursorPos" title="getCursorPos(): tuple[x, y: int]">getCursorPos(): tuple[x, y: int]</a></li>
- </ul>
- <ul class="simple nested-toc-section">hideCursor
- <li><a class="reference" href="#hideCursor%2CFile" title="hideCursor(f: File)">hideCursor(f: File)</a></li>
- </ul>
- <ul class="simple nested-toc-section">isatty
- <li><a class="reference" href="#isatty%2CFile" title="isatty(f: File): bool">isatty(f: File): bool</a></li>
- </ul>
- <ul class="simple nested-toc-section">isTrueColorSupported
- <li><a class="reference" href="#isTrueColorSupported" title="isTrueColorSupported(): bool">isTrueColorSupported(): bool</a></li>
- </ul>
- <ul class="simple nested-toc-section">readPasswordFromStdin
- <li><a class="reference" href="#readPasswordFromStdin%2Cstring" title="readPasswordFromStdin(prompt = "password: "): string">readPasswordFromStdin(prompt = "password: "): string</a></li>
- <li><a class="reference" href="#readPasswordFromStdin%2Cstring%2Cstring" title="readPasswordFromStdin(prompt: string; password: var string): bool">readPasswordFromStdin(prompt: string; password: var string): bool</a></li>
- </ul>
- <ul class="simple nested-toc-section">resetAttributes
- <li><a class="reference" href="#resetAttributes" title="resetAttributes()">resetAttributes()</a></li>
- <li><a class="reference" href="#resetAttributes%2CFile" title="resetAttributes(f: File)">resetAttributes(f: File)</a></li>
- </ul>
- <ul class="simple nested-toc-section">setBackgroundColor
- <li><a class="reference" href="#setBackgroundColor%2CFile%2CBackgroundColor" title="setBackgroundColor(f: File; bg: BackgroundColor; bright = false)">setBackgroundColor(f: File; bg: BackgroundColor; bright = false)</a></li>
- <li><a class="reference" href="#setBackgroundColor%2CFile%2CColor" title="setBackgroundColor(f: File; color: Color)">setBackgroundColor(f: File; color: Color)</a></li>
- </ul>
- <ul class="simple nested-toc-section">setCursorPos
- <li><a class="reference" href="#setCursorPos%2CFile%2Cint%2Cint" title="setCursorPos(f: File; x, y: int)">setCursorPos(f: File; x, y: int)</a></li>
- </ul>
- <ul class="simple nested-toc-section">setCursorXPos
- <li><a class="reference" href="#setCursorXPos%2CFile%2Cint" title="setCursorXPos(f: File; x: int)">setCursorXPos(f: File; x: int)</a></li>
- </ul>
- <ul class="simple nested-toc-section">setForegroundColor
- <li><a class="reference" href="#setForegroundColor%2CFile%2CColor" title="setForegroundColor(f: File; color: Color)">setForegroundColor(f: File; color: Color)</a></li>
- <li><a class="reference" href="#setForegroundColor%2CFile%2CForegroundColor" title="setForegroundColor(f: File; fg: ForegroundColor; bright = false)">setForegroundColor(f: File; fg: ForegroundColor; bright = false)</a></li>
- </ul>
- <ul class="simple nested-toc-section">setStyle
- <li><a class="reference" href="#setStyle%2CFile%2Cset%5BStyle%5D" title="setStyle(f: File; style: set[Style])">setStyle(f: File; style: set[Style])</a></li>
- </ul>
- <ul class="simple nested-toc-section">showCursor
- <li><a class="reference" href="#showCursor%2CFile" title="showCursor(f: File)">showCursor(f: File)</a></li>
- </ul>
- <ul class="simple nested-toc-section">terminalHeight
- <li><a class="reference" href="#terminalHeight" title="terminalHeight(): int">terminalHeight(): int</a></li>
- </ul>
- <ul class="simple nested-toc-section">terminalHeightIoctl
- <li><a class="reference" href="#terminalHeightIoctl%2CopenArray%5Bint%5D" title="terminalHeightIoctl(fds: openArray[int]): int">terminalHeightIoctl(fds: openArray[int]): int</a></li>
- </ul>
- <ul class="simple nested-toc-section">terminalSize
- <li><a class="reference" href="#terminalSize" title="terminalSize(): tuple[w, h: int]">terminalSize(): tuple[w, h: int]</a></li>
- </ul>
- <ul class="simple nested-toc-section">terminalWidth
- <li><a class="reference" href="#terminalWidth" title="terminalWidth(): int">terminalWidth(): int</a></li>
- </ul>
- <ul class="simple nested-toc-section">terminalWidthIoctl
- <li><a class="reference" href="#terminalWidthIoctl%2CopenArray%5Bint%5D" title="terminalWidthIoctl(fds: openArray[int]): int">terminalWidthIoctl(fds: openArray[int]): int</a></li>
- </ul>
- <ul class="simple nested-toc-section">writeStyled
- <li><a class="reference" href="#writeStyled%2Cstring%2Cset%5BStyle%5D" title="writeStyled(txt: string; style: set[Style] = {styleBright})">writeStyled(txt: string; style: set[Style] = {styleBright})</a></li>
- </ul>
- </ul>
- </details>
- </li>
- <li>
- <details open>
- <summary><a class="reference reference-toplevel" href="#17" id="67">Macros</a></summary>
- <ul class="simple simple-toc-section">
- <ul class="simple nested-toc-section">styledWrite
- <li><a class="reference" href="#styledWrite.m%2CFile%2Cvarargs%5Btyped%5D" title="styledWrite(f: File; m: varargs[typed]): untyped">styledWrite(f: File; m: varargs[typed]): untyped</a></li>
- </ul>
- </ul>
- </details>
- </li>
- <li>
- <details open>
- <summary><a class="reference reference-toplevel" href="#18" id="68">Templates</a></summary>
- <ul class="simple simple-toc-section">
- <ul class="simple nested-toc-section">ansiBackgroundColorCode
- <li><a class="reference" href="#ansiBackgroundColorCode.t%2Cstatic%5BColor%5D" title="ansiBackgroundColorCode(color: static[Color]): string">ansiBackgroundColorCode(color: static[Color]): string</a></li>
- </ul>
- <ul class="simple nested-toc-section">ansiForegroundColorCode
- <li><a class="reference" href="#ansiForegroundColorCode.t%2Cstatic%5BColor%5D" title="ansiForegroundColorCode(color: static[Color]): string">ansiForegroundColorCode(color: static[Color]): string</a></li>
- <li><a class="reference" href="#ansiForegroundColorCode.t%2Cstatic%5BForegroundColor%5D%2Cstatic%5Bbool%5D" title="ansiForegroundColorCode(fg: static[ForegroundColor];
- bright: static[bool] = false): string">ansiForegroundColorCode(fg: static[ForegroundColor];
- bright: static[bool] = false): string</a></li>
- </ul>
- <ul class="simple nested-toc-section">ansiStyleCode
- <li><a class="reference" href="#ansiStyleCode.t%2Cstatic%5BStyle%5D" title="ansiStyleCode(style: static[Style]): string">ansiStyleCode(style: static[Style]): string</a></li>
- <li><a class="reference" href="#ansiStyleCode.t%2CStyle" title="ansiStyleCode(style: Style): string">ansiStyleCode(style: Style): string</a></li>
- </ul>
- <ul class="simple nested-toc-section">cursorBackward
- <li><a class="reference" href="#cursorBackward.t%2Cint" title="cursorBackward(count = 1)">cursorBackward(count = 1)</a></li>
- </ul>
- <ul class="simple nested-toc-section">cursorDown
- <li><a class="reference" href="#cursorDown.t%2Cint" title="cursorDown(count = 1)">cursorDown(count = 1)</a></li>
- </ul>
- <ul class="simple nested-toc-section">cursorForward
- <li><a class="reference" href="#cursorForward.t%2Cint" title="cursorForward(count = 1)">cursorForward(count = 1)</a></li>
- </ul>
- <ul class="simple nested-toc-section">cursorUp
- <li><a class="reference" href="#cursorUp.t%2Cint" title="cursorUp(count = 1)">cursorUp(count = 1)</a></li>
- </ul>
- <ul class="simple nested-toc-section">eraseLine
- <li><a class="reference" href="#eraseLine.t" title="eraseLine()">eraseLine()</a></li>
- </ul>
- <ul class="simple nested-toc-section">eraseScreen
- <li><a class="reference" href="#eraseScreen.t" title="eraseScreen()">eraseScreen()</a></li>
- </ul>
- <ul class="simple nested-toc-section">hideCursor
- <li><a class="reference" href="#hideCursor.t" title="hideCursor()">hideCursor()</a></li>
- </ul>
- <ul class="simple nested-toc-section">setBackgroundColor
- <li><a class="reference" href="#setBackgroundColor.t%2CBackgroundColor" title="setBackgroundColor(bg: BackgroundColor; bright = false)">setBackgroundColor(bg: BackgroundColor; bright = false)</a></li>
- <li><a class="reference" href="#setBackgroundColor.t%2CColor" title="setBackgroundColor(color: Color)">setBackgroundColor(color: Color)</a></li>
- </ul>
- <ul class="simple nested-toc-section">setCursorPos
- <li><a class="reference" href="#setCursorPos.t%2Cint%2Cint" title="setCursorPos(x, y: int)">setCursorPos(x, y: int)</a></li>
- </ul>
- <ul class="simple nested-toc-section">setCursorXPos
- <li><a class="reference" href="#setCursorXPos.t%2Cint" title="setCursorXPos(x: int)">setCursorXPos(x: int)</a></li>
- </ul>
- <ul class="simple nested-toc-section">setForegroundColor
- <li><a class="reference" href="#setForegroundColor.t%2CColor" title="setForegroundColor(color: Color)">setForegroundColor(color: Color)</a></li>
- <li><a class="reference" href="#setForegroundColor.t%2CForegroundColor" title="setForegroundColor(fg: ForegroundColor; bright = false)">setForegroundColor(fg: ForegroundColor; bright = false)</a></li>
- </ul>
- <ul class="simple nested-toc-section">setStyle
- <li><a class="reference" href="#setStyle.t%2Cset%5BStyle%5D" title="setStyle(style: set[Style])">setStyle(style: set[Style])</a></li>
- </ul>
- <ul class="simple nested-toc-section">showCursor
- <li><a class="reference" href="#showCursor.t" title="showCursor()">showCursor()</a></li>
- </ul>
- <ul class="simple nested-toc-section">styledEcho
- <li><a class="reference" href="#styledEcho.t%2Cvarargs%5Buntyped%5D" title="styledEcho(args: varargs[untyped])">styledEcho(args: varargs[untyped])</a></li>
- </ul>
- <ul class="simple nested-toc-section">styledWriteLine
- <li><a class="reference" href="#styledWriteLine.t%2CFile%2Cvarargs%5Buntyped%5D" title="styledWriteLine(f: File; args: varargs[untyped])">styledWriteLine(f: File; args: varargs[untyped])</a></li>
- </ul>
- </ul>
- </details>
- </li>
- </ul>
- </div>
- <div class="nine columns" id="content">
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L1" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
- <div id="tocRoot"></div>
-
- <p class="module-desc">This module contains a few procedures to control the <em>terminal</em> (also called <em>console</em>). On UNIX, the implementation simply uses ANSI escape sequences and does not depend on any other module, on Windows it uses the Windows API. Changing the style is permanent even after program termination! Use the code <tt class="docutils literal"><span class="pre"><span class="Identifier">exitprocs</span><span class="Operator">.</span><span class="Identifier">addExitProc</span><span class="Punctuation">(</span><span class="Identifier">resetAttributes</span><span class="Punctuation">)</span></span></tt> to restore the defaults. Similarly, if you hide the cursor, make sure to unhide it with <tt class="docutils literal"><span class="pre"><span class="Identifier">showCursor</span></span></tt> before quitting.
- <h1><a class="toc-backref" id="progress-bar" href="#progress-bar">Progress bar</a></h1><p>Basic progress bar example:</p>
- <p><strong class="examples_text">Example: cmd: -r:off</strong></p>
- <pre class="listing"><span class="Keyword">import</span> <span class="Identifier">std</span><span class="Operator">/</span><span class="Identifier">terminal</span>
- <span class="Keyword">import</span> <span class="Identifier">std</span><span class="Operator">/</span><span class="Punctuation">[</span><span class="Identifier">os</span><span class="Punctuation">,</span> <span class="Identifier">strutils</span><span class="Punctuation">]</span>
- <span class="Keyword">for</span> <span class="Identifier">i</span> <span class="Keyword">in</span> <span class="FloatNumber">0.</span><span class="Operator">.</span><span class="DecNumber">100</span><span class="Punctuation">:</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">styledWriteLine</span><span class="Punctuation">(</span><span class="Identifier">fgRed</span><span class="Punctuation">,</span> <span class="StringLit">"0% "</span><span class="Punctuation">,</span> <span class="Identifier">fgWhite</span><span class="Punctuation">,</span> <span class="CharLit">'#'</span><span class="Operator">.</span><span class="Identifier">repeat</span> <span class="Identifier">i</span><span class="Punctuation">,</span> <span class="Keyword">if</span> <span class="Identifier">i</span> <span class="Operator">></span> <span class="DecNumber">50</span><span class="Punctuation">:</span> <span class="Identifier">fgGreen</span> <span class="Keyword">else</span><span class="Punctuation">:</span> <span class="Identifier">fgYellow</span><span class="Punctuation">,</span> <span class="StringLit">"</span><span class="EscapeSequence">\t</span><span class="StringLit">"</span><span class="Punctuation">,</span> <span class="Operator">$</span><span class="Identifier">i</span> <span class="Punctuation">,</span> <span class="StringLit">"%"</span><span class="Punctuation">)</span>
- <span class="Identifier">sleep</span> <span class="DecNumber">42</span>
- <span class="Identifier">cursorUp</span> <span class="DecNumber">1</span>
- <span class="Identifier">eraseLine</span><span class="Punctuation">(</span><span class="Punctuation">)</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">resetAttributes</span><span class="Punctuation">(</span><span class="Punctuation">)</span></pre>
- <h2><a class="toc-backref" id="progress-bar-playing-with-colorful-and-styled-text" href="#progress-bar-playing-with-colorful-and-styled-text">Playing with colorful and styled text</a></h2>Procs like <tt class="docutils literal"><span class="pre"><span class="Identifier">styledWriteLine</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Identifier">styledEcho</span></span></tt> etc. have a temporary effect on text parameters. Style parameters only affect the text parameter right after them. After being called, these procs will reset the default style of the terminal. While <tt class="docutils literal"><span class="pre"><span class="Identifier">setBackGroundColor</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Identifier">setForeGroundColor</span></span></tt> etc. have a lasting influence on the terminal, you can use <tt class="docutils literal"><span class="pre"><span class="Identifier">resetAttributes</span></span></tt> to reset the default style of the terminal.
- <p><strong class="examples_text">Example: cmd: -r:off</strong></p>
- <pre class="listing"><span class="Keyword">import</span> <span class="Identifier">std</span><span class="Operator">/</span><span class="Identifier">terminal</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">styledWriteLine</span><span class="Punctuation">(</span><span class="Punctuation">{</span><span class="Identifier">styleBright</span><span class="Punctuation">,</span> <span class="Identifier">styleBlink</span><span class="Punctuation">,</span> <span class="Identifier">styleUnderscore</span><span class="Punctuation">}</span><span class="Punctuation">,</span> <span class="StringLit">"styled text "</span><span class="Punctuation">)</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">styledWriteLine</span><span class="Punctuation">(</span><span class="Identifier">fgRed</span><span class="Punctuation">,</span> <span class="StringLit">"red text "</span><span class="Punctuation">)</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">styledWriteLine</span><span class="Punctuation">(</span><span class="Identifier">fgWhite</span><span class="Punctuation">,</span> <span class="Identifier">bgRed</span><span class="Punctuation">,</span> <span class="StringLit">"white text in red background"</span><span class="Punctuation">)</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">styledWriteLine</span><span class="Punctuation">(</span><span class="StringLit">" ordinary text without style "</span><span class="Punctuation">)</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">setBackGroundColor</span><span class="Punctuation">(</span><span class="Identifier">bgCyan</span><span class="Punctuation">,</span> <span class="Identifier">true</span><span class="Punctuation">)</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">setForeGroundColor</span><span class="Punctuation">(</span><span class="Identifier">fgBlue</span><span class="Punctuation">)</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">write</span><span class="Punctuation">(</span><span class="StringLit">"blue text in cyan background"</span><span class="Punctuation">)</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">resetAttributes</span><span class="Punctuation">(</span><span class="Punctuation">)</span>
- <span class="Comment"># You can specify multiple text parameters. Style parameters</span>
- <span class="Comment"># only affect the text parameter right after them.</span>
- <span class="Identifier">styledEcho</span> <span class="Identifier">styleBright</span><span class="Punctuation">,</span> <span class="Identifier">fgGreen</span><span class="Punctuation">,</span> <span class="StringLit">"[PASS]"</span><span class="Punctuation">,</span> <span class="Identifier">resetStyle</span><span class="Punctuation">,</span> <span class="Identifier">fgGreen</span><span class="Punctuation">,</span> <span class="StringLit">" Yay!"</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">styledWriteLine</span><span class="Punctuation">(</span><span class="Identifier">fgRed</span><span class="Punctuation">,</span> <span class="StringLit">"red text "</span><span class="Punctuation">,</span> <span class="Identifier">styleBright</span><span class="Punctuation">,</span> <span class="StringLit">"bold red"</span><span class="Punctuation">,</span> <span class="Identifier">fgDefault</span><span class="Punctuation">,</span> <span class="StringLit">" bold text"</span><span class="Punctuation">)</span></pre></p>
- <div class="section" id="6">
- <h1><a class="toc-backref" href="#6">Imports</a></h1>
- <dl class="item">
- <a class="reference external" href="macros.html">macros</a>, <a class="reference external" href="strformat.html">strformat</a>, <a class="reference external" href="strutils.html">strutils</a>, <a class="reference external" href="colors.html">colors</a>, <a class="reference external" href="syncio.html">syncio</a>, <a class="reference external" href="assertions.html">assertions</a>, <a class="reference external" href="termios.html">termios</a>, <a class="reference external" href="posix.html">posix</a>, <a class="reference external" href="os.html">os</a>, <a class="reference external" href="parseutils.html">parseutils</a>, <a class="reference external" href="termios.html">termios</a>
- </dl>
- </div>
- <div class="section" id="7">
- <h1><a class="toc-backref" href="#7">Types</a></h1>
- <dl class="item">
- <div id="BackgroundColor">
- <dt><pre><a href="terminal.html#BackgroundColor"><span class="Identifier">BackgroundColor</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
- <span class="Identifier">bgBlack</span> <span class="Other">=</span> <span class="DecNumber">40</span><span class="Other">,</span> <span class="Comment">## black</span>
- <span class="Identifier">bgRed</span><span class="Other">,</span> <span class="Comment">## red</span>
- <span class="Identifier">bgGreen</span><span class="Other">,</span> <span class="Comment">## green</span>
- <span class="Identifier">bgYellow</span><span class="Other">,</span> <span class="Comment">## yellow</span>
- <span class="Identifier">bgBlue</span><span class="Other">,</span> <span class="Comment">## blue</span>
- <span class="Identifier">bgMagenta</span><span class="Other">,</span> <span class="Comment">## magenta</span>
- <span class="Identifier">bgCyan</span><span class="Other">,</span> <span class="Comment">## cyan</span>
- <span class="Identifier">bgWhite</span><span class="Other">,</span> <span class="Comment">## white</span>
- <span class="Identifier">bg8Bit</span><span class="Other">,</span> <span class="Comment">## 256-color (not supported, see `enableTrueColors` instead.)</span>
- <span class="Identifier">bgDefault</span> <span class="Comment">## default terminal background color</span></pre></dt>
- <dd>
-
- Terminal's background colors.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L686" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L686" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="ForegroundColor">
- <dt><pre><a href="terminal.html#ForegroundColor"><span class="Identifier">ForegroundColor</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
- <span class="Identifier">fgBlack</span> <span class="Other">=</span> <span class="DecNumber">30</span><span class="Other">,</span> <span class="Comment">## black</span>
- <span class="Identifier">fgRed</span><span class="Other">,</span> <span class="Comment">## red</span>
- <span class="Identifier">fgGreen</span><span class="Other">,</span> <span class="Comment">## green</span>
- <span class="Identifier">fgYellow</span><span class="Other">,</span> <span class="Comment">## yellow</span>
- <span class="Identifier">fgBlue</span><span class="Other">,</span> <span class="Comment">## blue</span>
- <span class="Identifier">fgMagenta</span><span class="Other">,</span> <span class="Comment">## magenta</span>
- <span class="Identifier">fgCyan</span><span class="Other">,</span> <span class="Comment">## cyan</span>
- <span class="Identifier">fgWhite</span><span class="Other">,</span> <span class="Comment">## white</span>
- <span class="Identifier">fg8Bit</span><span class="Other">,</span> <span class="Comment">## 256-color (not supported, see `enableTrueColors` instead.)</span>
- <span class="Identifier">fgDefault</span> <span class="Comment">## default terminal foreground color</span></pre></dt>
- <dd>
-
- Terminal's foreground colors.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L674" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L674" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="Style">
- <dt><pre><a href="terminal.html#Style"><span class="Identifier">Style</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
- <span class="Identifier">styleBright</span> <span class="Other">=</span> <span class="DecNumber">1</span><span class="Other">,</span> <span class="Comment">## bright text</span>
- <span class="Identifier">styleDim</span><span class="Other">,</span> <span class="Comment">## dim text</span>
- <span class="Identifier">styleItalic</span><span class="Other">,</span> <span class="Comment">## italic (or reverse on terminals not supporting)</span>
- <span class="Identifier">styleUnderscore</span><span class="Other">,</span> <span class="Comment">## underscored text</span>
- <span class="Identifier">styleBlink</span><span class="Other">,</span> <span class="Comment">## blinking/bold text</span>
- <span class="Identifier">styleBlinkRapid</span><span class="Other">,</span> <span class="Comment">## rapid blinking/bold text (not widely supported)</span>
- <span class="Identifier">styleReverse</span><span class="Other">,</span> <span class="Comment">## reverse</span>
- <span class="Identifier">styleHidden</span><span class="Other">,</span> <span class="Comment">## hidden text</span>
- <span class="Identifier">styleStrikethrough</span> <span class="Comment">## strikethrough</span></pre></dt>
- <dd>
-
- Different styles for text output.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L620" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L620" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="TerminalCmd">
- <dt><pre><a href="terminal.html#TerminalCmd"><span class="Identifier">TerminalCmd</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
- <span class="Identifier">resetStyle</span><span class="Other">,</span> <span class="Comment">## reset attributes</span>
- <span class="Identifier">fgColor</span><span class="Other">,</span> <span class="Comment">## set foreground's true color</span>
- <span class="Identifier">bgColor</span> <span class="Comment">## set background's true color</span></pre></dt>
- <dd>
-
- commands that can be expressed as arguments
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L815" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L815" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </dl>
- </div>
- <div class="section" id="10">
- <h1><a class="toc-backref" href="#10">Consts</a></h1>
- <dl class="item">
- <div id="ansiResetCode">
- <dt><pre><a href="terminal.html#ansiResetCode"><span class="Identifier">ansiResetCode</span></a> <span class="Other">=</span> <span class="StringLit">"\e[0m"</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L98" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L98" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </dl>
- </div>
- <div class="section" id="12">
- <h1><a class="toc-backref" href="#12">Procs</a></h1>
- <dl class="item">
- <div id="ansiBackgroundColorCode-procs-all">
- <div id="ansiBackgroundColorCode,Color">
- <dt><pre><span class="Keyword">proc</span> <a href="#ansiBackgroundColorCode%2CColor"><span class="Identifier">ansiBackgroundColorCode</span></a><span class="Other">(</span><span class="Identifier">color</span><span class="Other">:</span> <a href="colors.html#Color"><span class="Identifier">Color</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L777" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L777" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="ansiForegroundColorCode-procs-all">
- <div id="ansiForegroundColorCode,Color">
- <dt><pre><span class="Keyword">proc</span> <a href="#ansiForegroundColorCode%2CColor"><span class="Identifier">ansiForegroundColorCode</span></a><span class="Other">(</span><span class="Identifier">color</span><span class="Other">:</span> <a href="colors.html#Color"><span class="Identifier">Color</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L768" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L768" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="ansiForegroundColorCode,ForegroundColor">
- <dt><pre><span class="Keyword">proc</span> <a href="#ansiForegroundColorCode%2CForegroundColor"><span class="Identifier">ansiForegroundColorCode</span></a><span class="Other">(</span><span class="Identifier">fg</span><span class="Other">:</span> <a href="terminal.html#ForegroundColor"><span class="Identifier">ForegroundColor</span></a><span class="Other">;</span> <span class="Identifier">bright</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.
- <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L759" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L759" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="ansiStyleCode-procs-all">
- <div id="ansiStyleCode,int">
- <dt><pre><span class="Keyword">proc</span> <a href="#ansiStyleCode%2Cint"><span class="Identifier">ansiStyleCode</span></a><span class="Other">(</span><span class="Identifier">style</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L631" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L631" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="cursorBackward-procs-all">
- <div id="cursorBackward,File,int">
- <dt><pre><span class="Keyword">proc</span> <a href="#cursorBackward%2CFile%2Cint"><span class="Identifier">cursorBackward</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">count</span> <span class="Other">=</span> <span class="DecNumber">1</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Moves the cursor backward by <tt class="docutils literal"><span class="pre"><span class="Identifier">count</span></span></tt> columns.
- <p><strong class="examples_text">Example: cmd: -r:off</strong></p>
- <pre class="listing"><span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">cursorBackward</span><span class="Punctuation">(</span><span class="DecNumber">2</span><span class="Punctuation">)</span>
- <span class="Identifier">write</span><span class="Punctuation">(</span><span class="Identifier">stdout</span><span class="Punctuation">,</span> <span class="StringLit">"Hello World!"</span><span class="Punctuation">)</span> <span class="Comment"># anything written at that location will be erased/replaced with this</span></pre>
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L509" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L509" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="cursorDown-procs-all">
- <div id="cursorDown,File,int">
- <dt><pre><span class="Keyword">proc</span> <a href="#cursorDown%2CFile%2Cint"><span class="Identifier">cursorDown</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">count</span> <span class="Other">=</span> <span class="DecNumber">1</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Moves the cursor down by <tt class="docutils literal"><span class="pre"><span class="Identifier">count</span></span></tt> rows.
- <p><strong class="examples_text">Example: cmd: -r:off</strong></p>
- <pre class="listing"><span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">cursorDown</span><span class="Punctuation">(</span><span class="DecNumber">2</span><span class="Punctuation">)</span>
- <span class="Identifier">write</span><span class="Punctuation">(</span><span class="Identifier">stdout</span><span class="Punctuation">,</span> <span class="StringLit">"Hello World!"</span><span class="Punctuation">)</span> <span class="Comment"># anything written at that location will be erased/replaced with this</span></pre>
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L483" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L483" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="cursorForward-procs-all">
- <div id="cursorForward,File,int">
- <dt><pre><span class="Keyword">proc</span> <a href="#cursorForward%2CFile%2Cint"><span class="Identifier">cursorForward</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">count</span> <span class="Other">=</span> <span class="DecNumber">1</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Moves the cursor forward by <tt class="docutils literal"><span class="pre"><span class="Identifier">count</span></span></tt> columns.
- <p><strong class="examples_text">Example: cmd: -r:off</strong></p>
- <pre class="listing"><span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">cursorForward</span><span class="Punctuation">(</span><span class="DecNumber">2</span><span class="Punctuation">)</span>
- <span class="Identifier">write</span><span class="Punctuation">(</span><span class="Identifier">stdout</span><span class="Punctuation">,</span> <span class="StringLit">"Hello World!"</span><span class="Punctuation">)</span> <span class="Comment"># anything written at that location will be erased/replaced with this</span></pre>
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L496" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L496" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="cursorUp-procs-all">
- <div id="cursorUp,File,int">
- <dt><pre><span class="Keyword">proc</span> <a href="#cursorUp%2CFile%2Cint"><span class="Identifier">cursorUp</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">count</span> <span class="Other">=</span> <span class="DecNumber">1</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Moves the cursor up by <tt class="docutils literal"><span class="pre"><span class="Identifier">count</span></span></tt> rows.
- <p><strong class="examples_text">Example: cmd: -r:off</strong></p>
- <pre class="listing"><span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">cursorUp</span><span class="Punctuation">(</span><span class="DecNumber">2</span><span class="Punctuation">)</span>
- <span class="Identifier">write</span><span class="Punctuation">(</span><span class="Identifier">stdout</span><span class="Punctuation">,</span> <span class="StringLit">"Hello World!"</span><span class="Punctuation">)</span> <span class="Comment"># anything written at that location will be erased/replaced with this</span></pre>
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L470" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L470" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="disableTrueColors-procs-all">
- <div id="disableTrueColors">
- <dt><pre><span class="Keyword">proc</span> <a href="#disableTrueColors"><span class="Identifier">disableTrueColors</span></a><span class="Other">(</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Disables true color.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L1016" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L1016" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="enableTrueColors-procs-all">
- <div id="enableTrueColors">
- <dt><pre><span class="Keyword">proc</span> <a href="#enableTrueColors"><span class="Identifier">enableTrueColors</span></a><span class="Other">(</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Enables true color.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L983" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L983" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="eraseLine-procs-all">
- <div id="eraseLine,File">
- <dt><pre><span class="Keyword">proc</span> <a href="#eraseLine%2CFile"><span class="Identifier">eraseLine</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Erases the entire current line.
- <p><strong class="examples_text">Example: cmd: -r:off</strong></p>
- <pre class="listing"><span class="Identifier">write</span><span class="Punctuation">(</span><span class="Identifier">stdout</span><span class="Punctuation">,</span> <span class="StringLit">"never mind"</span><span class="Punctuation">)</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">eraseLine</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Comment"># nothing will be printed on the screen</span></pre>
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L553" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L553" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="eraseScreen-procs-all">
- <div id="eraseScreen,File">
- <dt><pre><span class="Keyword">proc</span> <a href="#eraseScreen%2CFile"><span class="Identifier">eraseScreen</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Erases the screen with the background colour and moves the cursor to home.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L579" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L579" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="getch-procs-all">
- <div id="getch">
- <dt><pre><span class="Keyword">proc</span> <a href="#getch"><span class="Identifier">getch</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#char"><span class="Identifier">char</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">EOFError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadIOEffect</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Reads a single character from the terminal, blocking until it is entered. The character is not printed to the terminal.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L878" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L878" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="getCursorPos-procs-all">
- <div id="getCursorPos">
- <dt><pre><span class="Keyword">proc</span> <a href="#getCursorPos"><span class="Identifier">getCursorPos</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">]</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="exceptions.html#ValueError"><span class="Identifier">ValueError</span></a><span class="Other">,</span> <a href="exceptions.html#IOError"><span class="Identifier">IOError</span></a><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Returns cursor position (x, y) writes to stdout and expects the terminal to respond via stdin
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L274" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L274" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="hideCursor-procs-all">
- <div id="hideCursor,File">
- <dt><pre><span class="Keyword">proc</span> <a href="#hideCursor%2CFile"><span class="Identifier">hideCursor</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Hides the cursor.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L415" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L415" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="isatty-procs-all">
- <div id="isatty,File">
- <dt><pre><span class="Keyword">proc</span> <a href="#isatty%2CFile"><span class="Identifier">isatty</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Returns true if <tt class="docutils literal"><span class="pre"><span class="Identifier">f</span></span></tt> is associated with a terminal device.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L803" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L803" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="isTrueColorSupported-procs-all">
- <div id="isTrueColorSupported">
- <dt><pre><span class="Keyword">proc</span> <a href="#isTrueColorSupported"><span class="Identifier">isTrueColorSupported</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Returns true if a terminal supports true color.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L976" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L976" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="readPasswordFromStdin-procs-all">
- <div id="readPasswordFromStdin,string">
- <dt><pre><span class="Keyword">proc</span> <a href="#readPasswordFromStdin%2Cstring"><span class="Identifier">readPasswordFromStdin</span></a><span class="Other">(</span><span class="Identifier">prompt</span> <span class="Other">=</span> <span class="StringLit">"password: "</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Reads a password from stdin without printing it.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L941" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L941" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="readPasswordFromStdin,string,string">
- <dt><pre><span class="Keyword">proc</span> <a href="#readPasswordFromStdin%2Cstring%2Cstring"><span class="Identifier">readPasswordFromStdin</span></a><span class="Other">(</span><span class="Identifier">prompt</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">password</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.
- <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><a href="exceptions.html#ReadIOEffect"><span class="Identifier">ReadIOEffect</span></a><span class="Other">,</span> <a href="exceptions.html#WriteIOEffect"><span class="Identifier">WriteIOEffect</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L927" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L927" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="resetAttributes-procs-all">
- <div id="resetAttributes">
- <dt><pre><span class="Keyword">proc</span> <a href="#resetAttributes"><span class="Identifier">resetAttributes</span></a><span class="Other">(</span><span class="Other">)</span> {.<span class="Identifier">noconv</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Resets all attributes on stdout. It is advisable to register this as a quit proc with <tt class="docutils literal"><span class="pre"><span class="Identifier">exitprocs</span><span class="Operator">.</span><span class="Identifier">addExitProc</span><span class="Punctuation">(</span><span class="Identifier">resetAttributes</span><span class="Punctuation">)</span></span></tt>.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L970" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L970" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="resetAttributes,File">
- <dt><pre><span class="Keyword">proc</span> <a href="#resetAttributes%2CFile"><span class="Identifier">resetAttributes</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Resets all attributes.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L606" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L606" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="setBackgroundColor-procs-all">
- <div id="setBackgroundColor,File,BackgroundColor">
- <dt><pre><span class="Keyword">proc</span> <a href="#setBackgroundColor%2CFile%2CBackgroundColor"><span class="Identifier">setBackgroundColor</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">bg</span><span class="Other">:</span> <a href="terminal.html#BackgroundColor"><span class="Identifier">BackgroundColor</span></a><span class="Other">;</span> <span class="Identifier">bright</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span> {.
- <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Sets the terminal's background color.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L730" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L730" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="setBackgroundColor,File,Color">
- <dt><pre><span class="Keyword">proc</span> <a href="#setBackgroundColor%2CFile%2CColor"><span class="Identifier">setBackgroundColor</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <a href="colors.html#Color"><span class="Identifier">Color</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Sets the terminal's background true color.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L791" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L791" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="setCursorPos-procs-all">
- <div id="setCursorPos,File,int,int">
- <dt><pre><span class="Keyword">proc</span> <a href="#setCursorPos%2CFile%2Cint%2Cint"><span class="Identifier">setCursorPos</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Sets the terminal's cursor to the (x,y) position. (0,0) is the upper left of the screen.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L429" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L429" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="setCursorXPos-procs-all">
- <div id="setCursorXPos,File,int">
- <dt><pre><span class="Keyword">proc</span> <a href="#setCursorXPos%2CFile%2Cint"><span class="Identifier">setCursorXPos</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Sets the terminal's cursor to the x position. The y position is not changed.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L438" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L438" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="setForegroundColor-procs-all">
- <div id="setForegroundColor,File,Color">
- <dt><pre><span class="Keyword">proc</span> <a href="#setForegroundColor%2CFile%2CColor"><span class="Identifier">setForegroundColor</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <a href="colors.html#Color"><span class="Identifier">Color</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Sets the terminal's foreground true color.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L786" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L786" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="setForegroundColor,File,ForegroundColor">
- <dt><pre><span class="Keyword">proc</span> <a href="#setForegroundColor%2CFile%2CForegroundColor"><span class="Identifier">setForegroundColor</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">fg</span><span class="Other">:</span> <a href="terminal.html#ForegroundColor"><span class="Identifier">ForegroundColor</span></a><span class="Other">;</span> <span class="Identifier">bright</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span> {.
- <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Sets the terminal's foreground color.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L701" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L701" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="setStyle-procs-all">
- <div id="setStyle,File,set[Style]">
- <dt><pre><span class="Keyword">proc</span> <a href="#setStyle%2CFile%2Cset%5BStyle%5D"><span class="Identifier">setStyle</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">style</span><span class="Other">:</span> <a href="system.html#set"><span class="Identifier">set</span></a><span class="Other">[</span><a href="terminal.html#Style"><span class="Identifier">Style</span></a><span class="Other">]</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Sets the terminal style.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L641" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L641" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="showCursor-procs-all">
- <div id="showCursor,File">
- <dt><pre><span class="Keyword">proc</span> <a href="#showCursor%2CFile"><span class="Identifier">showCursor</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Shows the cursor.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L422" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L422" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="terminalHeight-procs-all">
- <div id="terminalHeight">
- <dt><pre><span class="Keyword">proc</span> <a href="#terminalHeight"><span class="Identifier">terminalHeight</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Returns some reasonable terminal height from either standard file descriptors, controlling terminal, environment variables or tradition. Zero is returned if the height could not be determined.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L366" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L366" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="terminalHeightIoctl-procs-all">
- <div id="terminalHeightIoctl,openArray[int]">
- <dt><pre><span class="Keyword">proc</span> <a href="#terminalHeightIoctl%2CopenArray%5Bint%5D"><span class="Identifier">terminalHeightIoctl</span></a><span class="Other">(</span><span class="Identifier">fds</span><span class="Other">:</span> <a href="system.html#openArray"><span class="Identifier">openArray</span></a><span class="Other">[</span><a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Returns terminal height from first fd that supports the ioctl.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L325" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L325" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="terminalSize-procs-all">
- <div id="terminalSize">
- <dt><pre><span class="Keyword">proc</span> <a href="#terminalSize"><span class="Identifier">terminalSize</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">w</span><span class="Other">,</span> <span class="Identifier">h</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">]</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Returns the terminal width and height as a tuple. Internally calls <tt class="docutils literal"><span class="pre"><span class="Identifier">terminalWidth</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">terminalHeight</span></span></tt>, so the same assumptions apply.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L400" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L400" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="terminalWidth-procs-all">
- <div id="terminalWidth">
- <dt><pre><span class="Keyword">proc</span> <a href="#terminalWidth"><span class="Identifier">terminalWidth</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Returns some reasonable terminal width from either standard file descriptors, controlling terminal, environment variables or tradition.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L336" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L336" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="terminalWidthIoctl-procs-all">
- <div id="terminalWidthIoctl,openArray[int]">
- <dt><pre><span class="Keyword">proc</span> <a href="#terminalWidthIoctl%2CopenArray%5Bint%5D"><span class="Identifier">terminalWidthIoctl</span></a><span class="Other">(</span><span class="Identifier">fds</span><span class="Other">:</span> <a href="system.html#openArray"><span class="Identifier">openArray</span></a><span class="Other">[</span><a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
- <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Returns terminal width from first fd that supports the ioctl.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L316" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L316" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="writeStyled-procs-all">
- <div id="writeStyled,string,set[Style]">
- <dt><pre><span class="Keyword">proc</span> <a href="#writeStyled%2Cstring%2Cset%5BStyle%5D"><span class="Identifier">writeStyled</span></a><span class="Other">(</span><span class="Identifier">txt</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">style</span><span class="Other">:</span> <a href="system.html#set"><span class="Identifier">set</span></a><span class="Other">[</span><a href="terminal.html#Style"><span class="Identifier">Style</span></a><span class="Other">]</span> <span class="Other">=</span> <span class="Other">{</span><span class="Identifier">styleBright</span><span class="Other">}</span><span class="Other">)</span> {.
- <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
- <dd>
-
- Writes the text <tt class="docutils literal"><span class="pre"><span class="Identifier">txt</span></span></tt> in a given <tt class="docutils literal"><span class="pre"><span class="Identifier">style</span></span></tt> to stdout.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L656" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L656" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- </dl>
- </div>
- <div class="section" id="17">
- <h1><a class="toc-backref" href="#17">Macros</a></h1>
- <dl class="item">
- <div id="styledWrite-macros-all">
- <div id="styledWrite.m,File,varargs[typed]">
- <dt><pre><span class="Keyword">macro</span> <a href="#styledWrite.m%2CFile%2Cvarargs%5Btyped%5D"><span class="Identifier">styledWrite</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">m</span><span class="Other">:</span> <a href="system.html#varargs"><span class="Identifier">varargs</span></a><span class="Other">[</span><a href="system.html#typed"><span class="Identifier">typed</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#untyped"><span class="Identifier">untyped</span></a></pre></dt>
- <dd>
-
- Similar to <tt class="docutils literal"><span class="pre"><span class="Identifier">write</span></span></tt>, but treating terminal style arguments specially. When some argument is <tt class="docutils literal"><span class="pre"><span class="Identifier">Style</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Identifier">set</span><span class="Punctuation">[</span><span class="Identifier">Style</span><span class="Punctuation">]</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Identifier">ForegroundColor</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Identifier">BackgroundColor</span></span></tt> or <tt class="docutils literal"><span class="pre"><span class="Identifier">TerminalCmd</span></span></tt> then it is not sent directly to <tt class="docutils literal"><span class="pre"><span class="Identifier">f</span></span></tt>, but instead corresponding terminal style proc is called.
- <p><strong class="examples_text">Example: cmd: -r:off</strong></p>
- <pre class="listing"><span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">styledWrite</span><span class="Punctuation">(</span><span class="Identifier">fgRed</span><span class="Punctuation">,</span> <span class="StringLit">"red text "</span><span class="Punctuation">)</span>
- <span class="Identifier">stdout</span><span class="Operator">.</span><span class="Identifier">styledWrite</span><span class="Punctuation">(</span><span class="Identifier">fgGreen</span><span class="Punctuation">,</span> <span class="StringLit">"green text"</span><span class="Punctuation">)</span></pre>
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L836" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L836" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- </dl>
- </div>
- <div class="section" id="18">
- <h1><a class="toc-backref" href="#18">Templates</a></h1>
- <dl class="item">
- <div id="ansiBackgroundColorCode-templates-all">
- <div id="ansiBackgroundColorCode.t,static[Color]">
- <dt><pre><span class="Keyword">template</span> <a href="#ansiBackgroundColorCode.t%2Cstatic%5BColor%5D"><span class="Identifier">ansiBackgroundColorCode</span></a><span class="Other">(</span><span class="Identifier">color</span><span class="Other">:</span> <a href="system.html#static"><span class="Identifier">static</span></a><span class="Other">[</span><a href="colors.html#Color"><span class="Identifier">Color</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L781" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L781" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="ansiForegroundColorCode-templates-all">
- <div id="ansiForegroundColorCode.t,static[Color]">
- <dt><pre><span class="Keyword">template</span> <a href="#ansiForegroundColorCode.t%2Cstatic%5BColor%5D"><span class="Identifier">ansiForegroundColorCode</span></a><span class="Other">(</span><span class="Identifier">color</span><span class="Other">:</span> <a href="system.html#static"><span class="Identifier">static</span></a><span class="Other">[</span><a href="colors.html#Color"><span class="Identifier">Color</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L772" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L772" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="ansiForegroundColorCode.t,static[ForegroundColor],static[bool]">
- <dt><pre><span class="Keyword">template</span> <a href="#ansiForegroundColorCode.t%2Cstatic%5BForegroundColor%5D%2Cstatic%5Bbool%5D"><span class="Identifier">ansiForegroundColorCode</span></a><span class="Other">(</span><span class="Identifier">fg</span><span class="Other">:</span> <a href="system.html#static"><span class="Identifier">static</span></a><span class="Other">[</span><a href="terminal.html#ForegroundColor"><span class="Identifier">ForegroundColor</span></a><span class="Other">]</span><span class="Other">;</span>
- <span class="Identifier">bright</span><span class="Other">:</span> <a href="system.html#static"><span class="Identifier">static</span></a><span class="Other">[</span><a href="system.html#bool"><span class="Identifier">bool</span></a><span class="Other">]</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L764" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L764" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="ansiStyleCode-templates-all">
- <div id="ansiStyleCode.t,static[Style]">
- <dt><pre><span class="Keyword">template</span> <a href="#ansiStyleCode.t%2Cstatic%5BStyle%5D"><span class="Identifier">ansiStyleCode</span></a><span class="Other">(</span><span class="Identifier">style</span><span class="Other">:</span> <a href="system.html#static"><span class="Identifier">static</span></a><span class="Other">[</span><a href="terminal.html#Style"><span class="Identifier">Style</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L638" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L638" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="ansiStyleCode.t,Style">
- <dt><pre><span class="Keyword">template</span> <a href="#ansiStyleCode.t%2CStyle"><span class="Identifier">ansiStyleCode</span></a><span class="Other">(</span><span class="Identifier">style</span><span class="Other">:</span> <a href="terminal.html#Style"><span class="Identifier">Style</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L634" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L634" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="cursorBackward-templates-all">
- <div id="cursorBackward.t,int">
- <dt><pre><span class="Keyword">template</span> <a href="#cursorBackward.t%2Cint"><span class="Identifier">cursorBackward</span></a><span class="Other">(</span><span class="Identifier">count</span> <span class="Other">=</span> <span class="DecNumber">1</span><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L957" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L957" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="cursorDown-templates-all">
- <div id="cursorDown.t,int">
- <dt><pre><span class="Keyword">template</span> <a href="#cursorDown.t%2Cint"><span class="Identifier">cursorDown</span></a><span class="Other">(</span><span class="Identifier">count</span> <span class="Other">=</span> <span class="DecNumber">1</span><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L955" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L955" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="cursorForward-templates-all">
- <div id="cursorForward.t,int">
- <dt><pre><span class="Keyword">template</span> <a href="#cursorForward.t%2Cint"><span class="Identifier">cursorForward</span></a><span class="Other">(</span><span class="Identifier">count</span> <span class="Other">=</span> <span class="DecNumber">1</span><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L956" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L956" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="cursorUp-templates-all">
- <div id="cursorUp.t,int">
- <dt><pre><span class="Keyword">template</span> <a href="#cursorUp.t%2Cint"><span class="Identifier">cursorUp</span></a><span class="Other">(</span><span class="Identifier">count</span> <span class="Other">=</span> <span class="DecNumber">1</span><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L954" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L954" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="eraseLine-templates-all">
- <div id="eraseLine.t">
- <dt><pre><span class="Keyword">template</span> <a href="#eraseLine.t"><span class="Identifier">eraseLine</span></a><span class="Other">(</span><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L958" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L958" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="eraseScreen-templates-all">
- <div id="eraseScreen.t">
- <dt><pre><span class="Keyword">template</span> <a href="#eraseScreen.t"><span class="Identifier">eraseScreen</span></a><span class="Other">(</span><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L959" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L959" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="hideCursor-templates-all">
- <div id="hideCursor.t">
- <dt><pre><span class="Keyword">template</span> <a href="#hideCursor.t"><span class="Identifier">hideCursor</span></a><span class="Other">(</span><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L948" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L948" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="setBackgroundColor-templates-all">
- <div id="setBackgroundColor.t,BackgroundColor">
- <dt><pre><span class="Keyword">template</span> <a href="#setBackgroundColor.t%2CBackgroundColor"><span class="Identifier">setBackgroundColor</span></a><span class="Other">(</span><span class="Identifier">bg</span><span class="Other">:</span> <a href="terminal.html#BackgroundColor"><span class="Identifier">BackgroundColor</span></a><span class="Other">;</span> <span class="Identifier">bright</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L964" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L964" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="setBackgroundColor.t,Color">
- <dt><pre><span class="Keyword">template</span> <a href="#setBackgroundColor.t%2CColor"><span class="Identifier">setBackgroundColor</span></a><span class="Other">(</span><span class="Identifier">color</span><span class="Other">:</span> <a href="colors.html#Color"><span class="Identifier">Color</span></a><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L968" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L968" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="setCursorPos-templates-all">
- <div id="setCursorPos.t,int,int">
- <dt><pre><span class="Keyword">template</span> <a href="#setCursorPos.t%2Cint%2Cint"><span class="Identifier">setCursorPos</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L950" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L950" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="setCursorXPos-templates-all">
- <div id="setCursorXPos.t,int">
- <dt><pre><span class="Keyword">template</span> <a href="#setCursorXPos.t%2Cint"><span class="Identifier">setCursorXPos</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L951" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L951" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="setForegroundColor-templates-all">
- <div id="setForegroundColor.t,Color">
- <dt><pre><span class="Keyword">template</span> <a href="#setForegroundColor.t%2CColor"><span class="Identifier">setForegroundColor</span></a><span class="Other">(</span><span class="Identifier">color</span><span class="Other">:</span> <a href="colors.html#Color"><span class="Identifier">Color</span></a><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L966" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L966" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- <div id="setForegroundColor.t,ForegroundColor">
- <dt><pre><span class="Keyword">template</span> <a href="#setForegroundColor.t%2CForegroundColor"><span class="Identifier">setForegroundColor</span></a><span class="Other">(</span><span class="Identifier">fg</span><span class="Other">:</span> <a href="terminal.html#ForegroundColor"><span class="Identifier">ForegroundColor</span></a><span class="Other">;</span> <span class="Identifier">bright</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L962" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L962" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="setStyle-templates-all">
- <div id="setStyle.t,set[Style]">
- <dt><pre><span class="Keyword">template</span> <a href="#setStyle.t%2Cset%5BStyle%5D"><span class="Identifier">setStyle</span></a><span class="Other">(</span><span class="Identifier">style</span><span class="Other">:</span> <a href="system.html#set"><span class="Identifier">set</span></a><span class="Other">[</span><a href="terminal.html#Style"><span class="Identifier">Style</span></a><span class="Other">]</span><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L960" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L960" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="showCursor-templates-all">
- <div id="showCursor.t">
- <dt><pre><span class="Keyword">template</span> <a href="#showCursor.t"><span class="Identifier">showCursor</span></a><span class="Other">(</span><span class="Other">)</span></pre></dt>
- <dd>
-
-
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L949" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L949" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="styledEcho-templates-all">
- <div id="styledEcho.t,varargs[untyped]">
- <dt><pre><span class="Keyword">template</span> <a href="#styledEcho.t%2Cvarargs%5Buntyped%5D"><span class="Identifier">styledEcho</span></a><span class="Other">(</span><span class="Identifier">args</span><span class="Other">:</span> <a href="system.html#varargs"><span class="Identifier">varargs</span></a><span class="Other">[</span><a href="system.html#untyped"><span class="Identifier">untyped</span></a><span class="Other">]</span><span class="Other">)</span></pre></dt>
- <dd>
-
- Echoes styles arguments to stdout using <tt class="docutils literal"><span class="pre"><span class="Identifier">styledWriteLine</span></span></tt>.
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L874" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L874" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- <div id="styledWriteLine-templates-all">
- <div id="styledWriteLine.t,File,varargs[untyped]">
- <dt><pre><span class="Keyword">template</span> <a href="#styledWriteLine.t%2CFile%2Cvarargs%5Buntyped%5D"><span class="Identifier">styledWriteLine</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="syncio.html#File"><span class="Identifier">File</span></a><span class="Other">;</span> <span class="Identifier">args</span><span class="Other">:</span> <a href="system.html#varargs"><span class="Identifier">varargs</span></a><span class="Other">[</span><a href="system.html#untyped"><span class="Identifier">untyped</span></a><span class="Other">]</span><span class="Other">)</span></pre></dt>
- <dd>
-
- Calls <tt class="docutils literal"><span class="pre"><span class="Identifier">styledWrite</span></span></tt> and appends a newline at the end.
- <p><strong class="examples_text">Example:</strong></p>
- <pre class="listing"><span class="Keyword">proc</span> <span class="Identifier">error</span><span class="Punctuation">(</span><span class="Identifier">msg</span><span class="Punctuation">:</span> <span class="Identifier">string</span><span class="Punctuation">)</span> <span class="Operator">=</span>
- <span class="Identifier">styledWriteLine</span><span class="Punctuation">(</span><span class="Identifier">stderr</span><span class="Punctuation">,</span> <span class="Identifier">fgRed</span><span class="Punctuation">,</span> <span class="StringLit">"Error: "</span><span class="Punctuation">,</span> <span class="Identifier">resetStyle</span><span class="Punctuation">,</span> <span class="Identifier">msg</span><span class="Punctuation">)</span></pre>
- <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/terminal.nim#L865" class="link-seesrc" target="_blank">Source</a>
- <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/terminal.nim#L865" class="link-seesrc" target="_blank" >Edit</a>
- </dd>
- </div>
- </div>
- </dl>
- </div>
- </div>
- </div>
- <div class="twelve-columns footer">
- <span class="nim-sprite"></span>
- <br>
- <small style="color: var(--hint);">Made with Nim. Generated: 2025-02-06 22:28:02 UTC</small>
- </div>
- </div>
- </div>
- <script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
-
- </body>
- </html>
|