summary refs log tree commit diff stats
path: root/lib/prelude.nim
blob: 940864207224061e5d8b920b162a6fdd45bfaedb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#
#
#            Nim's Runtime Library
#        (c) Copyright 2012 Andreas Rumpf
#
#    See the file "copying.txt", included in this
#    distribution, for details about the copyright.
#

## This is an include file that simply imports common modules for your
## convenience:
##
## .. code-block:: nim
##   include prelude
##
## Same as:
##
## .. code-block:: nim
##   import os, strutils, times, parseutils, parseopt, hashes, tables, sets

import os, strutils, times, parseutils, parseopt, hashes, tables, sets
version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. """ Contains abbreviations to curses color/attribute constants. Multiple attributes can be combined with the | (or) operator, toggled with ^ (xor) and checked for with & (and). Examples: attr = bold | underline attr |= reverse bool(attr & reverse) # => True attr ^= reverse bool(attr & reverse) # => False """ import curses COLOR_PAIRS = {10: 0} def get_color(fg, bg): """ Returns the curses color pair for the given fg/bg combination. """ c = bg+2 + 9*(fg + 2) if c not in COLOR_PAIRS: size = len(COLOR_PAIRS) curses.init_pair(size, fg, bg) COLOR_PAIRS[c] = size return COLOR_PAIRS[c] black = curses.COLOR_BLACK blue = curses.COLOR_BLUE cyan = curses.COLOR_CYAN green = curses.COLOR_GREEN magenta = curses.COLOR_MAGENTA red = curses.COLOR_RED white = curses.COLOR_WHITE yellow = curses.COLOR_YELLOW default = -1 normal = curses.A_NORMAL bold = curses.A_BOLD blink = curses.A_BLINK reverse = curses.A_REVERSE underline = curses.A_UNDERLINE invisible = curses.A_INVIS default_colors = (default, default, normal) def remove_attr(integer, attribute): """Remove an attribute from an integer""" if integer & attribute: return integer ^ attribute return integer