...

Source file src/github.com/gdamore/tcell/v2/terminfo/s/sun/term.go

Documentation: github.com/gdamore/tcell/v2/terminfo/s/sun

     1  // Copyright 2021 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  // This terminal definition is hand-coded, as the default terminfo for
    16  // this terminal is busted with respect to color.  Unlike pretty much every
    17  // other ANSI compliant terminal, this terminal cannot combine foreground and
    18  // background escapes.  The default terminfo also only provides escapes for
    19  // 16-bit color.
    20  
    21  package sun
    22  
    23  import "github.com/gdamore/tcell/v2/terminfo"
    24  
    25  func init() {
    26  
    27  	// Sun Microsystems Inc. workstation console
    28  	terminfo.AddTerminfo(&terminfo.Terminfo{
    29  		Name:         "sun",
    30  		Aliases:      []string{"sun1", "sun2"},
    31  		Columns:      80,
    32  		Lines:        34,
    33  		Bell:         "\a",
    34  		Clear:        "\f",
    35  		AttrOff:      "\x1b[m",
    36  		Reverse:      "\x1b[7m",
    37  		PadChar:      "\x00",
    38  		SetCursor:    "\x1b[%i%p1%d;%p2%dH",
    39  		CursorBack1:  "\b",
    40  		CursorUp1:    "\x1b[A",
    41  		KeyUp:        "\x1b[A",
    42  		KeyDown:      "\x1b[B",
    43  		KeyRight:     "\x1b[C",
    44  		KeyLeft:      "\x1b[D",
    45  		KeyInsert:    "\x1b[247z",
    46  		KeyDelete:    "\u007f",
    47  		KeyBackspace: "\b",
    48  		KeyHome:      "\x1b[214z",
    49  		KeyEnd:       "\x1b[220z",
    50  		KeyPgUp:      "\x1b[216z",
    51  		KeyPgDn:      "\x1b[222z",
    52  		KeyF1:        "\x1b[224z",
    53  		KeyF2:        "\x1b[225z",
    54  		KeyF3:        "\x1b[226z",
    55  		KeyF4:        "\x1b[227z",
    56  		KeyF5:        "\x1b[228z",
    57  		KeyF6:        "\x1b[229z",
    58  		KeyF7:        "\x1b[230z",
    59  		KeyF8:        "\x1b[231z",
    60  		KeyF9:        "\x1b[232z",
    61  		KeyF10:       "\x1b[233z",
    62  		KeyF11:       "\x1b[234z",
    63  		KeyF12:       "\x1b[235z",
    64  		AutoMargin:   true,
    65  		InsertChar:   "\x1b[@",
    66  	})
    67  
    68  	// Sun Microsystems Workstation console with color support (IA systems)
    69  	terminfo.AddTerminfo(&terminfo.Terminfo{
    70  		Name:         "sun-color",
    71  		Columns:      80,
    72  		Lines:        34,
    73  		Colors:       256,
    74  		Bell:         "\a",
    75  		Clear:        "\f",
    76  		AttrOff:      "\x1b[m",
    77  		Bold:         "\x1b[1m",
    78  		Reverse:      "\x1b[7m",
    79  		SetFg:        "\x1b[38;5;%p1%dm",
    80  		SetBg:        "\x1b[48;5;%p1%dm",
    81  		ResetFgBg:    "\x1b[0m",
    82  		PadChar:      "\x00",
    83  		SetCursor:    "\x1b[%i%p1%d;%p2%dH",
    84  		CursorBack1:  "\b",
    85  		CursorUp1:    "\x1b[A",
    86  		KeyUp:        "\x1b[A",
    87  		KeyDown:      "\x1b[B",
    88  		KeyRight:     "\x1b[C",
    89  		KeyLeft:      "\x1b[D",
    90  		KeyInsert:    "\x1b[247z",
    91  		KeyDelete:    "\u007f",
    92  		KeyBackspace: "\b",
    93  		KeyHome:      "\x1b[214z",
    94  		KeyEnd:       "\x1b[220z",
    95  		KeyPgUp:      "\x1b[216z",
    96  		KeyPgDn:      "\x1b[222z",
    97  		KeyF1:        "\x1b[224z",
    98  		KeyF2:        "\x1b[225z",
    99  		KeyF3:        "\x1b[226z",
   100  		KeyF4:        "\x1b[227z",
   101  		KeyF5:        "\x1b[228z",
   102  		KeyF6:        "\x1b[229z",
   103  		KeyF7:        "\x1b[230z",
   104  		KeyF8:        "\x1b[231z",
   105  		KeyF9:        "\x1b[232z",
   106  		KeyF10:       "\x1b[233z",
   107  		KeyF11:       "\x1b[234z",
   108  		KeyF12:       "\x1b[235z",
   109  		AutoMargin:   true,
   110  		InsertChar:   "\x1b[@",
   111  	})
   112  }
   113  

View as plain text