Commit graph

82 commits

Author SHA1 Message Date
Andrey Makarov
26074f594d nimgrep improvements (#12779)
* 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
2019-12-05 14:42:20 +01:00
narimiran
5732bb41ef [backport] run nimpretty on the remaining files 2019-09-30 13:58:17 +02:00
Araq
07d465ca42 [refactoring] remove unused imports in the compiler and in some stdlib modules 2019-07-18 00:36:03 +02:00
Araq
87a2ced1ba there is only one style -- my style 2019-07-10 19:17:06 +02:00
Araq
c94647aeca styleCheck: make the compiler and large parts of the stdlib compatible with --styleCheck:error 2019-07-10 12:42:41 +02:00
Araq
3ceb258ebf fixes #11005 2019-04-12 13:28:13 +02:00
Araq
27e366eaec fixes #8294 [backport] 2019-01-15 22:47:21 +01:00
Araq
3f6168b337 removes deprecated T/P types 2018-11-16 13:27:56 +01:00
Vindaar
82a1576263 fix #9394 by replacing fmt with strutils.% (#9417)
* fix #9394 by replacing `fmt` with normal string append

Until issue #7632 is fixed, use string append.

* use `strutils.%` instead of normal string add
2018-10-18 14:47:47 +02:00
John Novak
692d1da95d Fix setCursorPos and setCursorXPos on POSIX (#8310) 2018-07-17 11:35:26 +02:00
Eugene Kabanov
3fec2ba5e5 Fix terminal.nim to be GCSAFE. (#8296)
* Also fix deprecated callsite().
2018-07-12 18:06:15 +02:00
Kaushal Modi
1102f9aaf1 Make the Style enum a proper Ordinal (no holes) (#8282)
The Style enum needs to be an Ordinal so that it can be used in sets.
2018-07-12 11:30:51 +02:00
Kaushal Modi
4c2e712056 Support setting foreground/background colors to terminal defaults (#8073)
* 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
2018-06-24 03:53:20 -04:00
Kaushal Modi
abbf9ba9f7 Convert styledWriteLine and styledEcho to templates
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.
2018-06-18 09:09:23 -04:00
Kaushal Modi
3b5b3deecd Add styledWrite macro
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.
2018-06-18 09:09:23 -04:00
Kaushal Modi
4616b28c7b Add support for italic and strikethrough ANSI escape codes (#8048)
\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.
2018-06-17 12:37:41 -04:00
Zahary Karadjov
6758fbd06e Export an 'escapeXml' proc from xmldom
The interface is similar to escapeJson
2018-05-07 09:37:49 +02:00
Zahary Karadjov
5623007126 Fix the compilation of terminal.nim on Windows 2018-05-07 09:37:49 +02:00
Zahary Karadjov
4409c82228 The terminal module now exports additional procs for generating ANSI color
codes as strings.
2018-05-07 09:37:49 +02:00
Florent
d3ad467022 Fixes #7764 (#7767)
* Fixes #7764

* Change KEY_RECORD_EVENT filter

* Update terminal.nim

* Revert changes and modify readPasswordFromStdIn
2018-05-06 10:56:40 +02:00
WhiteDuke
e237428d42 Fix bright option (#7622)
Setting the option to true, then to false would not turn off bright attribute.
2018-04-18 23:29:10 +02:00
Vindaar
a897371797 move readPasswordFromStdin from rdstdin to terminal (#7266) 2018-02-27 17:49:35 +01:00
Araq
7740b12f21 revert commit 6cf8a72d49; Windows fixes getch bug 2018-02-27 17:47:19 +01:00
antizealot1337
6f0bb6e1f5 Fix style string formatting for cursorBackward and cursorForward (#7243) 2018-02-22 10:01:26 +01:00
Andreas Rumpf
fea66497b4 terminal.nim: code cleanup 2018-01-18 19:34:46 +01:00
Dmitry Atamanov
7ce38122e8 Support truecolor for the terminal stdlib module (#6936) 2018-01-18 18:48:59 +01:00
Dmitry Atamanov
b6b99da08f Windows: fix a eraseLine bug (#7044) 2018-01-09 15:48:27 +01:00
Dmitry Atamanov
6cf8a72d49 Windows: fixes getch bug; fixes #6966 (#7031) 2018-01-05 17:32:05 +01:00
Yuriy Glukhov
e49f18801c Fixed compilation error (#6979) 2017-12-27 17:35:57 +01:00
skilchen
822da4b213 fix #6931 terminal.eraseline() gives OverflowError on Windows (#6933) 2017-12-17 10:57:45 +01:00
Arne Döring
000b8afd26 Remove expr/stmt (#5857) 2017-07-25 09:28:23 +02:00
Fabian Keller
d1d32f657a tiny docstring fix; fixes #5483 (#5484) 2017-03-05 10:44:25 +01:00
Araq
e236039d10 make tests on Windows green under --pedantic 2017-02-02 21:12:36 +01:00
John Novak
3fcb8a3246 Add terminalHeight, terminalHeightIoctl & terminalSize 2016-11-30 21:29:35 +10:00
Andreas Rumpf
ab43ad13dc Merge pull request #5058 from johnnovak/terminal-win-fix
Fix setStyle for Windows
2016-11-29 01:57:14 +01:00
John Novak
88e01ffd92 Add hideCursor & showCursor 2016-11-26 21:08:01 +10:00
John Novak
64dd3eb9c1 Fix setStyle for Windows
* setStyle did not take the current color flags into account on Windows, this
  is fixed now
* refactoring to get rid of magic constants
2016-11-26 16:36:08 +10:00
Charles Blake
e4ddcd836c Use new name for call to low-level terminalWidth. 2016-09-01 14:44:33 -04:00
Charles Blake
d65589fe27 Make Windows part match Unix part more closely per Araq request. 2016-09-01 08:49:07 -04:00
Charles Blake
8df2078f08 Change type name to be more NEP-1-ish as per Araq request. 2016-09-01 08:33:39 -04:00
Charles Blake
5db1de87b1 Convert TaintedString to string. 2016-09-01 08:16:28 -04:00
Charles Blake
7b73a94afc Oops - L_ctermid must be a global var to compile. 2016-09-01 07:54:17 -04:00
Charles Blake
19f83ccd0b Add terminal.terminalWidth and supporting types/calls. 2016-09-01 07:34:42 -04:00
Andreas Rumpf
0834cd63d9 prepare Nim codebase for upcoming parser changes 2016-07-15 12:56:03 +02:00
miere43
7fc9585f7b getch() asserts to doAsserts 2016-06-26 17:46:43 +03:00
miere43
57bd50a916 Removed INPUT_KEY_RECORD 2016-06-26 16:01:37 +03:00
miere43
dd7a24d8cc Implemented terminal.getch() for Windows 2016-06-23 23:22:38 +03:00
Araq
3ccd5ca64b make terminal.nim work with --app:gui 2015-10-19 16:09:35 +02:00
Adam Strzelecki
2bc6acc808 terminal: Support both styled stdout and stderr
This is important if we want to write styled diagnostics to stderr, eg. some
tool outputting results to stdout, but writing styled error messages to stderr.

Previously this module was assuming we are writing only to stdout. Now all
module procs take file handle as first argument. Wrappers assuming stdout are
provided for backwards compatibility.

The new terminal.styledWriteLine(f, args) is provided and documented as
counterpart for unstyled plain writeLine(f, args).
2015-10-16 20:55:17 +02:00
Adam Strzelecki
9ef50717fa terminal: Remove superflous hStdout = conHandle
Use just hStdout on Windows to keep handle to process stdout.
2015-10-16 20:55:17 +02:00