summary refs log tree commit diff stats
path: root/tests/caas/issue_477_dynamic_dispatch.txt
blob: 12fd750deb53d6ab03d3cfa16ce01007bad257a7 (plain) (blame)
1
2
3
4
5
issue_477_dynamic_dispatch.nim
> c --run
SuccessX
> idetools --track:issue_477_dynamic_dispatch.nim,19,5 --def $SILENT
def\tskMethod\tissue_477_dynamic_dispatch.collide\tproc \(TUnit, TThing\)\{.inline.\}
} /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#ifndef __TELIVA_H__
#define __TELIVA_H__

// Some names for hotkeys beyond those provided by ncurses.

enum KEY_ACTION {
  KEY_NULL = 0,
  CTRL_A = 1,
  CTRL_B = 2,
  CTRL_C = 3,
  CTRL_D = 4,
  CTRL_E = 5,
  CTRL_F = 6,
  CTRL_G = 7,
  CTRL_H = 8,
  TAB = 9,
  ENTER = 10,
  CTRL_K = 11,
  CTRL_L = 12,
  CTRL_Q = 17,
  CTRL_R = 18,
  CTRL_S = 19,
  CTRL_U = 21,
  CTRL_X = 24,
  CTRL_SLASH = 31,
  CTRL_UNDERSCORE = 31,
  DELETE = 127,
};


// Colors (experimental)
// Primary goal here: Keep text readable regardless of OS, terminal emulator
// and color scheme. Unfortunately I don't yet have a good answer, so this
// approach may yet change. Current approach:
//  - Hardcode colors so that we can be sure we use legible combinations of
//    foreground and background.
//  - Use only the terminal palette in the range 16-255.
//    - Not all terminals may support more than 256 colors. (I'm not yet sure
//      everyone has even 256 colors. If you don't, please let me know:
//      http://akkartik.name/contact)
//    - Many terminals provide color schemes which give the ability to tweak
//      colors 0-15. This makes it hard to assume specific combinations are
//      legible. I'm hoping most terminal emulators don't tend to encourage
//      messing with colors 16-255. (Please let me know if you know of
//      counter-examples.)
//
// For now, you have to edit these values if you want to adjust colors in the
// editing environment. Check out https://www.robmeerman.co.uk/unix/256colours
// for a map of available colors.

// Toggle between a few color schemes
#define COLOR_SCHEME 0
#if COLOR_SCHEME == 0
// Light color scheme.
enum color {
  COLOR_FOREGROUND = 238,                     // almost black
  COLOR_BACKGROUND = 253,                     // almost white
  COLOR_FADE = 244,                           // closer to background
  COLOR_MENU_ALTERNATE = 248,
  COLOR_HIGHLIGHT_FOREGROUND = 238,
  COLOR_HIGHLIGHT_BACKGROUND = 250,
  COLOR_ERROR_FOREGROUND = COLOR_BACKGROUND,
  COLOR_ERROR_BACKGROUND = 124,               // deep red
  COLOR_LUA_COMMENT = 27,                     // blue
  COLOR_LUA_KEYWORD = 172,                    // orange
  COLOR_LUA_CONSTANT = 31,                    // cyan
  COLOR_MATCH_FOREGROUND = COLOR_BACKGROUND,
  COLOR_MATCH_BACKGROUND = 28,                // green
};
#elif COLOR_SCHEME == 1
// Dark color scheme.
enum color {
  COLOR_FOREGROUND = 253,                     // almost white
  COLOR_BACKGROUND = 238,                     // almost black
  COLOR_FADE = 244,                           // closer to background
  COLOR_MENU_ALTERNATE = 244,
  COLOR_HIGHLIGHT_FOREGROUND = 238,
  COLOR_HIGHLIGHT_BACKGROUND = 250,
  COLOR_ERROR_FOREGROUND = COLOR_FOREGROUND,
  COLOR_ERROR_BACKGROUND = 124,               // deep red
  COLOR_LUA_COMMENT = 39,                     // blue
  COLOR_LUA_KEYWORD = 172,                    // orange
  COLOR_LUA_CONSTANT = 37,                    // cyan
  COLOR_MATCH_FOREGROUND = COLOR_BACKGROUND,
  COLOR_MATCH_BACKGROUND = 28,                // green
};
#elif COLOR_SCHEME == 2
// Solarized dark.
enum color {
  COLOR_FOREGROUND = 250,                     // almost white
  COLOR_BACKGROUND = 24,                      // dark blue-green
  COLOR_FADE = 246,                           // closer to background
  COLOR_MENU_ALTERNATE = 244,
  COLOR_HIGHLIGHT_FOREGROUND = 250,
  COLOR_HIGHLIGHT_BACKGROUND = 31,
  COLOR_ERROR_FOREGROUND = 250,
  COLOR_ERROR_BACKGROUND = 124,               // deep red
  COLOR_LUA_COMMENT = 45,                     // light blue
  COLOR_LUA_KEYWORD = 172,                    // orange
  COLOR_LUA_CONSTANT = 37,                    // cyan
  COLOR_MATCH_FOREGROUND = COLOR_FOREGROUND,
  COLOR_MATCH_BACKGROUND = 125,               // magenta
};
#endif

enum color_pair {
  COLOR_PAIR_NORMAL = 0,
  COLOR_PAIR_HIGHLIGHT = 1,
  COLOR_PAIR_FADE = 2,
  COLOR_PAIR_MENU_ALTERNATE = 3,
  COLOR_PAIR_LUA_COMMENT = 4,
  COLOR_PAIR_LUA_KEYWORD = 5,
  COLOR_PAIR_LUA_CONSTANT = 6,
  COLOR_PAIR_MATCH = 7,
  COLOR_PAIR_ERROR = 255,
};

#endif