1// Copyright 2018 The TCell Authors 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use file except in compliance with the License. 5// You may obtain a copy of the license at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Package tcell provides a lower-level, portable API for building 16// programs that interact with terminals or consoles. It works with 17// both common (and many uncommon!) terminals or terminal emulators, 18// and Windows console implementations. 19// 20// It provides support for up to 256 colors, text attributes, and box drawing 21// elements. A database of terminals built from a real terminfo database 22// is provided, along with code to generate new database entries. 23// 24// Tcell offers very rich support for mice, dependent upon the terminal 25// of course. (Windows, XTerm, and iTerm 2 are known to work very well.) 26// 27// If the environment is not Unicode by default, such as an ISO8859 based 28// locale or GB18030, Tcell can convert input and output, so that your 29// terminal can operate in whatever locale is most convenient, while the 30// application program can just assume "everything is UTF-8". Reasonable 31// defaults are used for updating characters to something suitable for 32// display. Unicode box drawing characters will be converted to use the 33// alternate character set of your terminal, if native conversions are 34// not available. If no ACS is available, then some ASCII fallbacks will 35// be used. 36// 37// Note that support for non-UTF-8 locales (other than C) must be enabled 38// by the application using RegisterEncoding() -- we don't have them all 39// enabled by default to avoid bloating the application unneccessarily. 40// (These days UTF-8 is good enough for almost everyone, and nobody should 41// be using legacy locales anymore.) Also, actual glyphs for various code 42// point will only be displayed if your terminal or emulator (or the font 43// the emulator is using) supports them. 44// 45// A rich set of keycodes is supported, with support for up to 65 function 46// keys, and various other special keys. 47// 48package tcell 49