summary refs log tree commit diff stats
path: root/lib/pure/terminal.nim
Commit message (Collapse)AuthorAgeFilesLines
* complete std prefixes for stdlib (#22887)ringabout2023-10-301-9/+9
| | | | follow up https://github.com/nim-lang/Nim/pull/22851 follow up https://github.com/nim-lang/Nim/pull/22873
* Add getCursorPos() to std/terminal (#22749)Matt Rixman2023-10-081-1/+47
| | | | | | | | | | | This would be handy for making terminal apps which display content below the prompt (e.g. `fzf` does this). Need to test it on windows before I remove "draft" status. --------- Co-authored-by: Matt Rixman <MatrixManAtYrService@users.noreply.github.com> Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* handle out of range value for `COLUMNS` / `LINES` (#21968)Etan Kissling2023-05-311-2/+2
| | | | | | | | | * handle out of range value for `COLUMNS` / `LINES` Querying terminal size may fail with a `ValueError` if size is too big. Return highest possible value instead. Note that `ValueError` is also reported on underflow (negative size) but that is out of POSIX specs. * `parseSaturatedNatural`
* terminal size env-vars have precendence in POSIX (#21643)Etan Kissling2023-04-111-10/+39
| | | | | | | In POSIX Base Definitions Section 8.1 Environment Variable Definition, it is explained that the `COLUMNS` and `LINES` environment variables, if present, take precedence over any other implementation-defined method to determine the terminal size. This is useful, for example, to capture output programmatically in simulations for various terminal sizes.
* moderate system cleanup & refactor (#20355)metagn2022-09-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * system refactor, move out 600 lines * compilation, slice, backwardsindex, misc_num moved out of system * some procs/types moved into arithmetics, basic_types * system no longer depends on syncio * some procs moved around to fit with their surroundings * make exceptions an import, old ops to misc_num * move instantiationInfo back * move back nim version, fix windows echo * include compilation * better docs for imported modules, fix unsigned ops also remove ze, ze64, toU8, toU16, toU32 with nimPreviewSlimSystem * fix terminal * workaround IC test & weird csize bug, changelog * move NimMajor etc back to compilation, rebase for CI * try ic fix * form single `indices`, slim out TaintedString, try fix IC * fix CI, update changelog, addQuitProc * fix CI * try fix CI * actually fix CI finally hopefully * Update lib/system/compilation.nim Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com> * update kochdocs * hopefully fix csize uses for slimsystem * fix tquit Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
* move assertions out of system (#19599)flywind2022-03-231-1/+1
|
* move io out of system (#19442)flywind2022-02-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | * move io out of system * fix tests * fix tests * next step * rename to syncio * rename * fix nimscript * comma * fix * fix parts of errors * good for now * fix test
* Minor update to terminal docs (#19056)Netsu2021-10-261-0/+14
| | | | | | | | | | | | | | | | | | | | | * Update terminal.nim - Added some extra docs to cursorUp/Down/Forward/Backward - I was able to use hideCursor and showCursor without adding stdout, removed the parameter - Added docs to terminalHeight()* and terminalWidth()* * Update lib/pure/terminal.nim Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> * Update lib/pure/terminal.nim Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> * Added back f: file to cursor movement * Removed unnecessary comments Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Documentation only, Terminal (#18696)Juan Carlos2021-08-141-1/+15
| | | Add simple progress bar example to terminal module
* deprecate cuchar, don't redefine it (#18505)Andreas Rumpf2021-07-161-1/+1
|
* [std/terminal] improve docs a bit (#18296)flywind2021-06-201-70/+45
| | | | | | | | | | | | | | | | | | | | | | | * Revert "add missing import to asynchttpserver's example" This reverts commit 7ef364a402d3d827f10c893280f8dc7b9ef056f5. * alternative to #18185 * add std/mutexes * cvlose #17696 * Revert "add std/mutexes" This reverts commit 69abc8b64954206da6ffe5fc40a1142b39777762. * tiny * test * improve terminal docs * follow advice
* Use `.. warning::` (#17320)konsumlamm2021-03-101-1/+1
|
* Use readable escape sequences (#17241)Clyybber2021-03-031-2/+2
|
* use single backtick (#17133)flywind2021-02-211-13/+13
|
* add -d:nimStrictMode in CI to keep code from regressing; fixes ↵Timothee Cour2021-02-171-2/+0
| | | | ConvFromXtoItselfNotNeeded, UnusedImport notes (#16764)
* fix some warnings (#16952)flywind2021-02-081-5/+5
|
* addQuitProc => addExitProc (#16765)Timothee Cour2021-01-221-3/+3
|
* Deprecate TaintedString (#15423)Juan Carlos2021-01-151-4/+4
| | | | Co-authored-by: Timothee Cour <timothee.cour2@gmail.com> Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
* Console apps in Windows can raise OSError (#15874)Luca Guzzon2020-11-081-1/+4
| | | | | | | | Console apps in Windows implementation can raise OSError so I've fixed it, see below some examples for reference: - https://github.com/nim-lang/Nim/blob/c07807bedf1749fa9d3e826d3d736907fefbe568/lib/pure/terminal.nim#L170 - https://github.com/nim-lang/Nim/blob/c07807bedf1749fa9d3e826d3d736907fefbe568/lib/pure/terminal.nim#L178 - https://github.com/nim-lang/Nim/blob/c07807bedf1749fa9d3e826d3d736907fefbe568/lib/pure/terminal.nim#L191-L192 - https://github.com/nim-lang/Nim/blob/c07807bedf1749fa9d3e826d3d736907fefbe568/lib/pure/terminal.nim#L196-L197 - ...
* terminal: fix fgColor/bgColor commands [backport] (#15554)alaviss2020-10-131-4/+3
| | | | | Since #8296, fgSetColor is no longer a global. These commands were probably left out from the change as an oversight, so some tests have been added to make sure this won't happen again.
* fixes #15207 [backport:1.2]Araq2020-08-261-19/+14
|
* Fix #12759 (#14967)flywind2020-07-121-1/+1
| | | | | * add testcase for #5926 * fix #12759
* nimgrep improvements (#12779)Andrey Makarov2019-12-051-5/+12
| | | | | | | | | | | | | | | | | | * fix sticky colors in styledWrite * nimgrep: context printing, colorthemes and other * add context printing (lines after and before a match) * nimgrep: add exclude/include options * nimgrep: improve error printing & symlink handling * nimgrep: rename dangerous `-r` argument * add a `--newLine` style option for starting matching/context lines from a new line * add color themes: 3 new themes besides default `simple` * enable printing of multi-line matches with line numbers * proper display of replace when there was another match replaced at the same line / context block * improve cmdline arguments error reporting
* [backport] run nimpretty on the remaining filesnarimiran2019-09-301-73/+75
|
* [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-181-1/+1
|
* there is only one style -- my styleAraq2019-07-101-16/+16
|
* styleCheck: make the compiler and large parts of the stdlib compatible with ↵Araq2019-07-101-23/+23
| | | | --styleCheck:error
* fixes #11005Araq2019-04-121-3/+3
|
* fixes #8294 [backport]Araq2019-01-151-1/+1
|
* removes deprecated T/P typesAraq2018-11-161-6/+0
|
* fix #9394 by replacing `fmt` with `strutils.%` (#9417)Vindaar2018-10-181-3/+5
| | | | | | | | * fix #9394 by replacing `fmt` with normal string append Until issue #7632 is fixed, use string append. * use `strutils.%` instead of normal string add
* Fix setCursorPos and setCursorXPos on POSIX (#8310)John Novak2018-07-171-2/+2
|
* Fix terminal.nim to be GCSAFE. (#8296)Eugene Kabanov2018-07-121-85/+73
| | | * Also fix deprecated callsite().
* Make the Style enum a proper Ordinal (no holes) (#8282)Kaushal Modi2018-07-121-4/+7
| | | The Style enum needs to be an Ordinal so that it can be used in sets.
* Support setting foreground/background colors to terminal defaults (#8073)Kaushal Modi2018-06-241-8/+32
| | | | | | | | | | | | * Support setting foreground/background colors to terminal defaults Adds fgDefault to ForegroundColor and bgDefault to BackgroundColor enums. For Windows console, the default foreground color is assumed to be white, and the default background color black. * Add default fg/bg color caching for Windows Console
* Convert styledWriteLine and styledEcho to templatesKaushal Modi2018-06-181-35/+7
| | | | | | | | This also fixes a bug in the styledWriteLine behavior where the background color leaked onto the next newline if that command did not end with resetStyle. Now it is not necessary to end styledWriteLine calls that set BackgroundColor to end in resetStyle.
* Add styledWrite macroKaushal Modi2018-06-181-12/+74
| | | | | | | | | | | Also: - Move the tests block to the end of the file - Fix the older tests - Add tests for existing styledEcho - Add new tests for styledWrite Fixes https://github.com/nim-lang/Nim/issues/8046.
* Add support for italic and strikethrough ANSI escape codes (#8048)Kaushal Modi2018-06-171-3/+6
| | | | | | | \e[3m -> italic \e[9m -> strikethrough On terminals not supporting italic text, the text is shown in reverse instead, and on terminals not supporting strikethrough text, the text is shown as is.
* Export an 'escapeXml' proc from xmldomZahary Karadjov2018-05-071-1/+1
| | | | The interface is similar to escapeJson
* Fix the compilation of terminal.nim on WindowsZahary Karadjov2018-05-071-4/+1
|
* The `terminal` module now exports additional procs for generating ANSI colorZahary Karadjov2018-05-071-21/+43
| | | | codes as strings.
* Fixes #7764 (#7767)Florent2018-05-061-0/+4
| | | | | | | | | | * Fixes #7764 * Change KEY_RECORD_EVENT filter * Update terminal.nim * Revert changes and modify readPasswordFromStdIn
* Fix bright option (#7622)WhiteDuke2018-04-181-4/+4
| | | Setting the option to true, then to false would not turn off bright attribute.
* move `readPasswordFromStdin` from rdstdin to terminal (#7266)Vindaar2018-02-271-0/+50
|
* revert commit 6cf8a72d498f5cb8a532c2ff3259bc7aecf474ef; Windows fixes getch bugAraq2018-02-271-4/+1
|
* Fix style string formatting for cursorBackward and cursorForward (#7243)antizealot13372018-02-221-2/+2
|
* terminal.nim: code cleanupAndreas Rumpf2018-01-181-41/+27
|
* Support truecolor for the terminal stdlib module (#6936)Dmitry Atamanov2018-01-181-14/+177
|
* Windows: fix a eraseLine bug (#7044)Dmitry Atamanov2018-01-091-3/+2
|
* Windows: fixes getch bug; fixes #6966 (#7031)Dmitry Atamanov2018-01-051-1/+4
|