# Copyright (c) 2005 - 2006 Hans Jeuken. All rights reserved.
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.

# This file was generated from the 'idconsole.xml' file of the syntax highlight
# engine of the kate text editor (http://www.kate-editor.org

#kate xml version 1.02
#kate version 2.1
#generated: Sun Feb  3 22:02:06 2008, localtime

package Syntax::Highlight::Engine::Kate::Quake_Script;

our $VERSION = '0.14';

use strict;
use warnings;
use base('Syntax::Highlight::Engine::Kate::Template');

sub new {
   my $proto = shift;
   my $class = ref($proto) || $proto;
   my $self = $class->SUPER::new(@_);
   $self->attributes({
      'Action' => 'Reserved',
      'Command' => 'Keyword',
      'Comment' => 'Comment',
      'Float' => 'Float',
      'Hex' => 'BaseN',
      'Identifier' => 'DataType',
      'Int' => 'Float',
      'Normal Text' => 'Normal',
      'String' => 'String',
      'String Char' => 'Char',
      'Symbol' => 'Others',
      'Variable' => 'Variable',
   });
   $self->listAdd('Actions',
      '+activate',
      '+alt1',
      '+attack',
      '+back',
      '+break',
      '+button0',
      '+button1',
      '+button10',
      '+button11',
      '+button12',
      '+button13',
      '+button14',
      '+button2',
      '+button3',
      '+button4',
      '+button5',
      '+button6',
      '+button7',
      '+button8',
      '+button9',
      '+camdistance',
      '+camin',
      '+cammousemove',
      '+camout',
      '+campitchdown',
      '+campitchup',
      '+camyawleft',
      '+camyawright',
      '+commandmenu',
      '+dropweapon',
      '+duck',
      '+forward',
      '+graph',
      '+jlook',
      '+jump',
      '+kick',
      '+klook',
      '+leanleft',
      '+leanright',
      '+left',
      '+lookdown',
      '+lookup',
      '+mlook',
      '+movedown',
      '+moveleft',
      '+moveright',
      '+moveup',
      '+nvgadjust',
      '+quickgren',
      '+reload',
      '+right',
      '+salute',
      '+score',
      '+showscores',
      '+speed',
      '+sprint',
      '+strafe',
      '+ttack2',
      '+use',
      '+useitem',
      '+voicerecord',
      '+wbutton7',
      '+zoom',
      '-activate',
      '-alt1',
      '-attack',
      '-attack2',
      '-back',
      '-break',
      '-button0',
      '-button1',
      '-button10',
      '-button11',
      '-button12',
      '-button13',
      '-button14',
      '-button2',
      '-button3',
      '-button4',
      '-button5',
      '-button6',
      '-button7',
      '-button8',
      '-button9',
      '-camdistance',
      '-camin',
      '-cammousemove',
      '-camout',
      '-campitchdown',
      '-campitchup',
      '-camyawleft',
      '-camyawright',
      '-commandmenu',
      '-dropweapon',
      '-duck',
      '-forward',
      '-graph',
      '-jlook',
      '-jump',
      '-kick',
      '-klook',
      '-leanleft',
      '-leanright',
      '-left',
      '-lookdown',
      '-lookup',
      '-mlook',
      '-movedown',
      '-moveleft',
      '-moveright',
      '-moveup',
      '-nvgadjust',
      '-quickgren',
      '-reload',
      '-right',
      '-salute',
      '-score',
      '-showscores',
      '-speed',
      '-sprint',
      '-strafe',
      '-use',
      '-useitem',
      '-voicerecord',
      '-wbutton7',
      '-zoom',
   );
   $self->listAdd('BindFamily',
      'bind',
      'unbind',
   );
   $self->listAdd('Commands',
      'ForceCloseComman',
      '_config_com_baud',
      '_config_com_modem',
      '_vid_default_mode',
      '_vid_default_mode_win',
      '_vid_wait_override',
      '_windowed_mouse',
      'addip',
      'addressbook',
      'adjust_crosshair',
      'advancedupdate',
      'allow_download',
      'allow_download_maps',
      'allow_download_models',
      'allow_download_skins',
      'allow_download_sounds',
      'allskins',
      'appenddemo',
      'autosave',
      'ban',
      'banClient',
      'banUser',
      'banid',
      'baseskin',
      'begin',
      'bf',
      'bgetmod',
      'bindlist',
      'block_switch',
      'bottomcolor',
      'buyNow',
      'buyequip',
      'cache_endgather',
      'cache_flush',
      'cache_mapchange',
      'cache_print',
      'cache_profile',
      'cache_setindex',
      'cache_startgather',
      'cache_usedfile',
      'cancelselect',
      'cd',
      'centerview',
      'changeVectors',
      'changelevel',
      'changelevel2',
      'changing',
      'chase_active',
      'cinematic',
      'cl_deadbodyfilter',
      'cl_gibfilter',
      'cl_hightrack',
      'cl_hudswap',
      'cl_messages',
      'cl_nodelta',
      'cl_nolerp',
      'cl_nopred',
      'cl_predict_players',
      'cl_rate',
      'cl_sbar',
      'cl_sbar_separator',
      'cl_shownet',
      'cl_sidespeed',
      'cl_solid_players',
      'cl_warncmd',
      'cl_writecfg',
      'clear',
      'clearplayers',
      'clientinfo',
      'clientkick',
      'cmd',
      'cmdline',
      'cmdlist',
      'color',
      'commands',
      'condebug',
      'condump',
      'configstrings',
      'confirm_quit',
      'connect',
      'contimes',
      'coop',
      'crash',
      'credits',
      'cropimages',
      'crosshair',
      'cvar_restart',
      'cvarlist',
      'd_mipcap',
      'd_subdiv16',
      'deathmatch',
      'delta_clear',
      'delta_stats',
      'demo',
      'demolist',
      'demomap',
      'demos',
      'developer',
      'devmap',
      'dir',
      'disconnect',
      'dlfile',
      'dmoptions',
      'download',
      'drawradar',
      'drop',
      'dropclient',
      'dumpuser',
      'edict',
      'edictcount',
      'edicts',
      'endmovie',
      'entities',
      'envmap',
      'error',
      'escape',
      'exec',
      'exit',
      'fastsprites',
      'fdir',
      'filterban',
      'firstperson',
      'floodprot',
      'floodprotmsg',
      'flush',
      'fly',
      'force_centerview',
      'fov',
      'fraglogfile',
      'freelook',
      'freeze',
      'front',
      'fs_openedList',
      'fs_referencedList',
      'fullinfo',
      'fullserverinfo',
      'game',
      'gameCompleteStatus',
      'gamedir',
      'gamemap',
      'gameversion',
      'getcertificate',
      'gfxinfo',
      'gg',
      'gib',
      'gibload',
      'gibstats',
      'give',
      'gl_affinemodels',
      'gl_clear',
      'gl_colorlights',
      'gl_constretch',
      'gl_cull',
      'gl_dlight_lightmap',
      'gl_dlight_polyblend',
      'gl_dlight_smooth',
      'gl_fb_bmodels',
      'gl_fb_models',
      'gl_finish',
      'gl_fires',
      'gl_flashblend',
      'gl_keeptjunctions',
      'gl_lerp_anim',
      'gl_lightmode',
      'gl_max_size',
      'gl_multitexture',
      'gl_nobind',
      'gl_nocolors',
      'gl_picmip',
      'gl_playermip',
      'gl_polyblend',
      'gl_reportjunctions',
      'gl_sky_clip',
      'gl_skymultipass',
      'gl_smoothmodels',
      'gl_texsort',
      'gl_texturemode',
      'gl_triplebuffer',
      'gl_ztrick',
      'globalservers',
      'god',
      'gun',
      'gun_model',
      'gun_next',
      'gun_prev',
      'gunsmoke',
      'heartbeat',
      'help',
      'hideconsole',
      'hideradar',
      'host_speeds',
      'hostname',
      'hpkextract',
      'hpklist',
      'hpkremove',
      'hpkval',
      'hud_centerid',
      'imagelist',
      'impulse',
      'imt',
      'in_bind',
      'in_paste_buffer',
      'in_restart',
      'in_unbind',
      'info',
      'interp',
      'invdrop',
      'inven',
      'invnext',
      'invnextp',
      'invnextw',
      'invprev',
      'invprevp',
      'invprevw',
      'invuse',
      'joinserver',
      'joy',
      'joy_advancedupdate',
      'joy_enable',
      'joyadvanced',
      'joyadvancedupdat',
      'joyadvancedupdate',
      'joyname',
      'joystick',
      'keys',
      'kick',
      'kill',
      'killserver',
      'lefthand',
      'link',
      'list',
      'listdemo',
      'listen',
      'listid',
      'listip',
      'listmaps',
      'load',
      'loadas8bit',
      'loadgame',
      'loading',
      'loadsky',
      'loadtranslations',
      'loc',
      'localinfo',
      'localservers',
      'log',
      'logaddress',
      'logfile',
      'lookspring',
      'lookstrafe',
      'm_filter',
      'main',
      'map',
      'map_restart',
      'maplist',
      'maps',
      'max_shells',
      'max_smokepuffs',
      'maxplayers',
      'mcache',
      'meminfo',
      'menu',
      'menu_addressbook',
      'menu_credits',
      'menu_dmoptions',
      'menu_game',
      'menu_help',
      'menu_joinserver',
      'menu_keys',
      'menu_load',
      'menu_loadgame',
      'menu_main',
      'menu_multiplayer',
      'menu_options',
      'menu_playerconfig',
      'menu_quit',
      'menu_save',
      'menu_savegame',
      'menu_select',
      'menu_setup',
      'menu_singleplayer',
      'menu_startserver',
      'menu_video',
      'messagemode',
      'messagemode2',
      'messagemode3',
      'messagemode4',
      'model',
      'modelist',
      'modellist',
      'msg',
      'multiplayer',
      'music',
      'name',
      'net_stats',
      'new',
      'next',
      'nextul',
      'nightvision',
      'no_pogo_stick',
      'noaim',
      'noclip',
      'noexit',
      'nomonsters',
      'noskins',
      'nosound',
      'notarget',
      'options',
      'packet',
      'password',
      'path',
      'pausable',
      'pause',
      'paused',
      'ping',
      'pingservers',
      'play',
      'playdemo',
      'playerconfig',
      'players',
      'playvol',
      'pointfile',
      'ppdemostart',
      'pr_boundscheck',
      'precache',
      'prespawn',
      'prev',
      'profile',
      'profilequit',
      'prog',
      'pushlatency',
      'quit',
      'r_drawentities',
      'r_drawflat',
      'r_draworder',
      'r_drawviewmodel',
      'r_dspeeds',
      'r_dynamic',
      'r_fullbright',
      'r_lightmap',
      'r_netgraph',
      'r_netgraph_box',
      'r_norefresh',
      'r_novis',
      'r_numedges',
      'r_numsurfs',
      'r_particles',
      'r_polymodelstats',
      'r_reportsurfout',
      'r_shadows',
      'r_speeds',
      'r_timegraph',
      'r_wateralpha',
      'r_waterripple',
      'r_waterwarp',
      'r_zgraph',
      'rcon',
      'rcon_password',
      'reconnect',
      'record',
      'registered',
      'reload',
      'removedemo',
      'removeid',
      'removeip',
      'rerecord',
      'reset',
      'resetrcon',
      'restart',
      'retry',
      's_disable_a3d',
      's_enable_a3d',
      's_info',
      's_list',
      's_stop',
      'samelevel',
      'save',
      'savegame',
      'savetranslations',
      'score',
      'screenshot',
      'screenshotJPEG',
      'sectorlist',
      'sendents',
      'serverinfo',
      'serverprofile',
      'serverrecord',
      'serverstatus',
      'serverstop',
      'setRecommended',
      'setdemoinfo',
      'setenv',
      'setinfo',
      'setmaster',
      'setrom',
      'shaderlist',
      'show_fps',
      'show_time',
      'showdrop',
      'showinfo',
      'showip',
      'showpackets',
      'showpause',
      'showram',
      'showturtle',
      'shutdownserver',
      'singlePlayLink',
      'sizedown',
      'sizeup',
      'skill',
      'skin',
      'skinlist',
      'skins',
      'sky',
      'skyboxlist',
      'slist',
      'slot1',
      'slot10',
      'slot2',
      'slot3',
      'slot4',
      'slot5',
      'slot6',
      'slot7',
      'slot8',
      'slot9',
      'snap',
      'snapall',
      'snapshot',
      'snapto',
      'snd',
      'snd_noextraupdate',
      'snd_restart',
      'snd_show',
      'soundfade',
      'soundinfo',
      'soundlist',
      'spawn',
      'spdevmap',
      'speak',
      'special',
      'specmode',
      'spectator',
      'spectator_password',
      'spk',
      'spmap',
      'startLimboMode',
      'startSingleplayer',
      'startdemos',
      'startmovie',
      'startserver',
      'stat',
      'stats',
      'status',
      'stop',
      'stopLimboMode',
      'stopdemo',
      'stoprecord',
      'stopsound',
      'stopul',
      'streamingsound',
      'stuffcmd',
      'stuffcmds',
      'sv',
      'sv_allow_log',
      'sv_allow_pings',
      'sv_allow_status',
      'sv_gamedir',
      'sv_highchars',
      'sv_mapcheck',
      'sv_maplist',
      'sv_nostep',
      'sv_spectatormaxspeed',
      'sv_spetalk',
      'swapdemo',
      'sys_cpuid',
      'sys_dead_sleep',
      'sys_extrasleep',
      'sys_nostdout',
      'systeminfo',
      'taginfo',
      'team',
      'teamplay',
      'tell',
      'test',
      'test2',
      'thirdperson',
      'time',
      'timedemo',
      'timeleft',
      'timerefresh',
      'toggle',
      'togglebrowser',
      'togglechat',
      'toggleconsole',
      'togglemenu',
      'topcolor',
      'touchFile',
      'trackplayer',
      'ui_restart',
      'unalias',
      'unbindall',
      'updatehunkusage',
      'updatescreen',
      'upload',
      'use',
      'user',
      'userinfo',
      'users',
      'v_centerspeed',
      'v_cshift',
      'v_idlescale',
      'version',
      'vid',
      'vid_center',
      'vid_config_x',
      'vid_describecurrentmode',
      'vid_describemode',
      'vid_describemodes',
      'vid_forcemode',
      'vid_front',
      'vid_fullscreen',
      'vid_fullscreen_mode',
      'vid_minimize',
      'vid_nopageflip',
      'vid_nummodes',
      'vid_restart',
      'vid_stretch_by_2',
      'vid_testmode',
      'vid_windowed',
      'vid_windowed_mode',
      'video',
      'viewframe',
      'viewmodel',
      'viewnext',
      'viewpos',
      'viewprev',
      'vminfo',
      'vmprofile',
      'voice_showbanned',
      'votemap',
      'vstr',
      'wait',
      'watervis',
      'wave',
      'weaplast',
      'weapnext',
      'weapon',
      'weapon_knife',
      'weapprev',
      'windowsr_drawentities',
      'writecfg',
      'writeconfig',
      'writeid',
      'writeip',
      'z_stats',
   );
   $self->listAdd('KeyTypes',
      '\\\'',
      '*',
      '+',
      ',',
      '-',
      '.',
      '/',
      '0',
      '1',
      '2',
      '3',
      '4',
      '5',
      '6',
      '7',
      '8',
      '9',
      '=',
      'ALT',
      'AUX1',
      'AUX10',
      'AUX11',
      'AUX12',
      'AUX13',
      'AUX14',
      'AUX15',
      'AUX16',
      'AUX17',
      'AUX18',
      'AUX2',
      'AUX20',
      'AUX21',
      'AUX22',
      'AUX23',
      'AUX24',
      'AUX25',
      'AUX26',
      'AUX27',
      'AUX28',
      'AUX29',
      'AUX3',
      'AUX30',
      'AUX31',
      'AUX32',
      'AUX4',
      'AUX5',
      'AUX6',
      'AUX7',
      'AUX8',
      'AUX9',
      'BACKSPACE',
      'CAPSLOCK',
      'CTRL',
      'DEL',
      'DOWNARROW',
      'END',
      'ENTER',
      'ESCAPE',
      'F1',
      'F10',
      'F11',
      'F12',
      'F2',
      'F3',
      'F4',
      'F5',
      'F6',
      'F7',
      'F8',
      'F9',
      'HOME',
      'INS',
      'JOY1',
      'JOY2',
      'JOY3',
      'JOY4',
      'KP_5',
      'KP_DEL',
      'KP_DOWNARROW',
      'KP_END',
      'KP_HOME',
      'KP_INS',
      'KP_LEFTARROW',
      'KP_PGDN',
      'KP_PGUP',
      'KP_RIGHTARROW',
      'KP_SLASH',
      'KP_UPARROW',
      'LEFTARROW',
      'MOUSE1',
      'MOUSE2',
      'MOUSE3',
      'MWHEELDOWN',
      'MWHEELUP',
      'PAUSE',
      'PGDN',
      'PGUP',
      'RIGHTARROW',
      'SEMICOLON',
      'SHIFT',
      'SPACE',
      'TAB',
      'UPARROW',
      '[',
      '\\\\',
      ']',
      '`',
      'a',
      'b',
      'c',
      'd',
      'e',
      'f',
      'g',
      'h',
      'i',
      'j',
      'k',
      'l',
      'm',
      'n',
      'o',
      'p',
      'q',
      'r',
      's',
      't',
      'u',
      'v',
      'w',
      'x',
      'y',
      'z',
      '~',
   );
   $self->listAdd('PrintsString',
      'echo',
      'say',
      'say_team',
   );
   $self->listAdd('Symbols',
      '$',
      ';',
   );
   $self->listAdd('Variables',
      'ActiveAction',
      '_cl_color',
      '_cl_name',
      '_config_com_baud',
      '_config_com_irq',
      '_config_com_modem',
      '_config_com_port',
      '_config_modem_clear',
      '_config_modem_dialtype',
      '_config_modem_hangup',
      '_config_modem_init',
      '_snd_mixahead',
      '_vid_default_mode',
      '_vid_default_mode_win',
      '_vid_wait_override',
      '_windowed_mouse',
      'address',
      'adr',
      'adr0',
      'adr1',
      'adr2',
      'adr3',
      'adr4',
      'adr5',
      'adr6',
      'adr7',
      'adr8',
      'advanced',
      'advaxisr',
      'advaxisu',
      'advaxisv',
      'advaxisx',
      'advaxisy',
      'advaxisz',
      'ah',
      'airaccelerate',
      'allow',
      'allow_download_players',
      'ambient_fade',
      'ambient_level',
      'anglespeedkey',
      'arch',
      'array',
      'arrays',
      'att',
      'auto',
      'autoskins',
      'b',
      'bgmbuffer',
      'bgmvolume',
      'bit',
      'bitdepth',
      'blend',
      'bob',
      'bob_pitch',
      'bob_roll',
      'bob_up',
      'bot_aasoptimize',
      'bot_challenge',
      'bot_debug',
      'bot_developer',
      'bot_enable',
      'bot_fastchat',
      'bot_forceclustering',
      'bot_forcereachability',
      'bot_forcewrite',
      'bot_grapple',
      'bot_groundonly',
      'bot_interbreedbots',
      'bot_interbreedchar',
      'bot_interbreedcycle',
      'bot_interbreedwrite',
      'bot_maxdebugpolys',
      'bot_miniplayers',
      'bot_minplayers',
      'bot_nochat',
      'bot_pause',
      'bot_reachability',
      'bot_reloadcharacters',
      'bot_report',
      'bot_rocketjump',
      'bot_saveroutingcache',
      'bot_testclusters',
      'bot_testichat',
      'bot_testrchat',
      'bot_testsolid',
      'bot_thinktime',
      'bot_visualizejumppads',
      'brighten',
      'brightness',
      'broken',
      'cd',
      'cd_loopcount',
      'cd_looptrack',
      'cd_nocd',
      'cd_plugin',
      'centermove',
      'centerspeed',
      'centertime',
      'cg_autoactivate',
      'cg_autoswitch',
      'cg_blinktime',
      'cg_bloodTime',
      'cg_bobpitch',
      'cg_bobroll',
      'cg_bobup',
      'cg_brassTime',
      'cg_cameraOrbitDelay',
      'cg_clipboardName',
      'cg_coronafardist',
      'cg_coronas',
      'cg_crosshairAlpha',
      'cg_crosshairHealth',
      'cg_crosshairSize',
      'cg_crosshairX',
      'cg_crosshairY',
      'cg_currentSelectedPlayer',
      'cg_currentSelectedPlayerName',
      'cg_cursorHints',
      'cg_cycleAllWeaps',
      'cg_deferPlayers',
      'cg_descriptiveText',
      'cg_draw2D',
      'cg_draw3dIcons',
      'cg_drawAllWeaps',
      'cg_drawAmmoWarning',
      'cg_drawAttacker',
      'cg_drawCompass',
      'cg_drawCrosshair',
      'cg_drawCrosshairNames',
      'cg_drawCrosshairPickups',
      'cg_drawFPGun',
      'cg_drawFPS',
      'cg_drawFrags',
      'cg_drawGun',
      'cg_drawIcons',
      'cg_drawNotifyText',
      'cg_drawRewards',
      'cg_drawSnapshot',
      'cg_drawSpreadScale',
      'cg_drawStatus',
      'cg_drawTeamOverlay',
      'cg_drawTimer',
      'cg_emptyswitch',
      'cg_forcemodel',
      'cg_fov',
      'cg_gibs',
      'cg_hudAlpha',
      'cg_hudFiles',
      'cg_lagometer',
      'cg_marks',
      'cg_marktime',
      'cg_noTaunt',
      'cg_noVoiceChats',
      'cg_noVoiceText',
      'cg_noplayeranims',
      'cg_nopredict',
      'cg_particleDist',
      'cg_particleLOD',
      'cg_popupLimboMenu',
      'cg_predictItems',
      'cg_quickMessageAlt',
      'cg_railTrailTime',
      'cg_recoilPitch',
      'cg_reticleBrightness',
      'cg_reticleType',
      'cg_runpitch',
      'cg_runroll',
      'cg_scorePlums',
      'cg_selectedPlayer',
      'cg_selectedPlayerName',
      'cg_shadows',
      'cg_showblood',
      'cg_simpleItems',
      'cg_skybox',
      'cg_stereoSeparation',
      'cg_teamChatHeight',
      'cg_teamChatTime',
      'cg_teamChatsOnly',
      'cg_thirdPersonAngle',
      'cg_thirdperson',
      'cg_thirdpersonrange',
      'cg_useWeapsForZoom',
      'cg_uselessNostalgia',
      'cg_viewsize',
      'cg_voiceSpriteTime',
      'cg_weaponCycleDelay',
      'cg_wolfparticles',
      'cg_zoomDefaultBinoc',
      'cg_zoomDefaultFG',
      'cg_zoomDefaultSniper',
      'cg_zoomDefaultSnooper',
      'cg_zoomStepBinoc',
      'cg_zoomStepFG',
      'cg_zoomStepSnooper',
      'cg_zoomfov',
      'cg_zoomstepsniper',
      'chase_active',
      'chase_back',
      'chase_right',
      'chase_up',
      'cheats',
      'cl',
      'cl_allowDownload',
      'cl_anglespeedkey',
      'cl_anonymous',
      'cl_autoexec',
      'cl_autoskins',
      'cl_avidemo',
      'cl_backspeed',
      'cl_blend',
      'cl_bob',
      'cl_bobcycle',
      'cl_bobup',
      'cl_bypassMouseInput',
      'cl_cacheGathering',
      'cl_camera_maxpitch',
      'cl_camera_maxyaw',
      'cl_chasecam',
      'cl_chatmode',
      'cl_conXOffset',
      'cl_crossx',
      'cl_crossy',
      'cl_cshift_bonus',
      'cl_cshift_content',
      'cl_cshift_damage',
      'cl_cshift_powerup',
      'cl_debugMove',
      'cl_debugTranslation',
      'cl_demospeed',
      'cl_entities',
      'cl_footsteps',
      'cl_forceavidemo',
      'cl_forwardspeed',
      'cl_freelook',
      'cl_freezeDemo',
      'cl_gun',
      'cl_hidefrags',
      'cl_hightrack',
      'cl_hudswap',
      'cl_language',
      'cl_lights',
      'cl_maxPing',
      'cl_maxfps',
      'cl_maxpackets',
      'cl_motd',
      'cl_motdString',
      'cl_mouseAccel',
      'cl_movespeedkey',
      'cl_nodelta',
      'cl_nofake',
      'cl_nolerp',
      'cl_nopred',
      'cl_noprint',
      'cl_noskins',
      'cl_observercrosshair',
      'cl_packetdup',
      'cl_parsesay',
      'cl_particles',
      'cl_paused',
      'cl_pitchspeed',
      'cl_predict',
      'cl_predict_players',
      'cl_predict_players2',
      'cl_quakerc',
      'cl_rollangle',
      'cl_rollspeed',
      'cl_run',
      'cl_running',
      'cl_serverStatusResendTime',
      'cl_showSend',
      'cl_showServerCommands',
      'cl_showTimeDelta',
      'cl_showfps',
      'cl_showmiss',
      'cl_showmouserate',
      'cl_shownet',
      'cl_shownuments',
      'cl_sidespeed',
      'cl_stats',
      'cl_stereo',
      'cl_stereo_separation',
      'cl_testblend',
      'cl_testentities',
      'cl_testlights',
      'cl_testparticles',
      'cl_timeNudge',
      'cl_timeout',
      'cl_upspeed',
      'cl_verstring',
      'cl_visibleClients',
      'cl_vwep',
      'cl_waitForFire',
      'cl_wavefilerecord',
      'cl_yawspeed',
      'clear',
      'clearcolor',
      'clientport',
      'cm_playerCurveClip',
      'cmd_highchars',
      'cmd_warncmd',
      'cmdlist',
      'color',
      'color1',
      'color2',
      'com_blood',
      'com_buildScript',
      'com_cameraMode',
      'com_dropsim',
      'com_hunkMegs',
      'com_hunkused',
      'com_introplayed',
      'com_maxfps',
      'com_recommendedSet',
      'com_showtrace',
      'com_soundMegs',
      'com_speeds',
      'com_zoneMegs',
      'compiled',
      'con_debug',
      'con_notifytime',
      'con_restricted',
      'conspeed',
      'contrast',
      'coop',
      'crosshair',
      'crosshaircolor',
      'cull',
      'd_mipcap',
      'd_mipscale',
      'deathmatch',
      'debug_protocol',
      'debuggraph',
      'dedicated',
      'devdll',
      'developer',
      'dlabs',
      'dm',
      'dmflags',
      'down',
      'download',
      'drawall',
      'drawbuffer',
      'drawentities',
      'drawflat',
      'draworder',
      'drawworld',
      'driver',
      'dspeeds',
      'dynamic',
      'easter_eggs',
      'edgefriction',
      'empty',
      'enforcetime',
      'entities',
      'entlatency',
      'ext',
      'filter',
      'filterban',
      'finish',
      'fixedtime',
      'flashblend',
      'flood',
      'flood_msgs',
      'flood_persecond',
      'flood_waitdelay',
      'flushmap',
      'footsteps',
      'forward',
      'forwardsensitivity',
      'forwardspeed',
      'forwardthreshold',
      'fov',
      'fraglimit',
      'freelook',
      'fs_basegame',
      'fs_basepath',
      'fs_cdpath',
      'fs_copyfiles',
      'fs_debug',
      'fs_game',
      'fs_globalcfg',
      'fs_homepath',
      'fs_pluginpath',
      'fs_restrict',
      'fs_sharepath',
      'fs_skinbase',
      'fs_usercfg',
      'fs_userpath',
      'fullbright',
      'fullscreen',
      'g_allowvote',
      'g_altStopwatchMode',
      'g_arenasFile',
      'g_blueTeam',
      'g_botsFile',
      'g_complaintlimit',
      'g_currentRound',
      'g_friendlyFire',
      'g_gameskill',
      'g_gametype',
      'g_maxlives',
      'g_minGameClients',
      'g_missionStats',
      'g_nextTimeLimit',
      'g_noTeamSwitching',
      'g_redTeam',
      'g_select_empty',
      'g_spAwards',
      'g_spScores1',
      'g_spScores2',
      'g_spScores3',
      'g_spScores4',
      'g_spScores5',
      'g_spSkill',
      'g_spVideos',
      'g_userAlliedRespawnTime',
      'g_userAxisRespawnTime',
      'g_userTimeLimit',
      'game',
      'gamecfg',
      'gamedate',
      'gamedir',
      'gamename',
      'gamestate',
      'gamma',
      'gender',
      'gender_auto',
      'gl_3dlabs_broken',
      'gl_allow_software',
      'gl_bitdepth',
      'gl_clear',
      'gl_conalpha',
      'gl_conspin',
      'gl_cshiftpercent',
      'gl_cull',
      'gl_drawbuffer',
      'gl_driver',
      'gl_dynamic',
      'gl_ext_compiled_vertex_array',
      'gl_ext_multitexture',
      'gl_ext_palettedtexture',
      'gl_ext_pointparameters',
      'gl_ext_swapinterval',
      'gl_finish',
      'gl_flashblend',
      'gl_keeptjunctions',
      'gl_lightmap',
      'gl_lightmap_align',
      'gl_lightmap_subimage',
      'gl_lockpvs',
      'gl_log',
      'gl_max_size',
      'gl_mesh_cache',
      'gl_mode',
      'gl_modulate',
      'gl_monolightmap',
      'gl_nobind',
      'gl_nocolors',
      'gl_nosubimage',
      'gl_occlusion',
      'gl_particle_att_a',
      'gl_particle_att_b',
      'gl_particle_att_c',
      'gl_particle_max_size',
      'gl_particle_min_size',
      'gl_particle_mip',
      'gl_particle_size',
      'gl_picmip',
      'gl_playermip',
      'gl_polyblend',
      'gl_reporttjunctions',
      'gl_round_down',
      'gl_saturatelighting',
      'gl_screenshot_byte_swap',
      'gl_shadows',
      'gl_showtris',
      'gl_sky_debug',
      'gl_sky_divide',
      'gl_skymip',
      'gl_smoothmodels',
      'gl_subdivide_size',
      'gl_swapinterval',
      'gl_texsort',
      'gl_texturealphamode',
      'gl_texturemode',
      'gl_texturesolidmode',
      'gl_triplebuffer',
      'gl_vertex_arrays',
      'gl_ztrick',
      'graphheight',
      'graphscale',
      'graphshift',
      'gravity',
      'gun',
      'gun_x',
      'gun_y',
      'gun_z',
      'hand',
      'handicap',
      'head',
      'headModel',
      'headmodel',
      'host',
      'host_framerate',
      'host_speeds',
      'hostname',
      'hostport',
      'hud_fastswitch',
      'in',
      'in_amp',
      'in_bind_imt',
      'in_debugjoystick',
      'in_dga',
      'in_dga_mouseaccel',
      'in_dgamouse',
      'in_grab',
      'in_joystick',
      'in_midi',
      'in_mouse',
      'in_mouse_amp',
      'in_mouse_filter',
      'in_mouse_pre_amp',
      'in_pre_amp',
      'initsound',
      'intensity',
      'ip',
      'ip_clientport',
      'ip_hostport',
      'ipx',
      'ipx_clientport',
      'ipx_hostport',
      'journal',
      'joy',
      'joy_advanced',
      'joy_advaxisr',
      'joy_advaxisu',
      'joy_advaxisv',
      'joy_advaxisx',
      'joy_advaxisy',
      'joy_advaxisz',
      'joy_amp',
      'joy_device',
      'joy_forwardsensitivity',
      'joy_forwardthreshold',
      'joy_name',
      'joy_pitchsensitivity',
      'joy_pitchthreshold',
      'joy_pre_amp',
      'joy_sensitivity',
      'joy_sidesensitivity',
      'joy_sidethreshold',
      'joy_threshold',
      'joy_upsensitivity',
      'joy_upthreshold',
      'joy_yawsensitivity',
      'joy_yawthreshold',
      'joyadvanced',
      'joyadvaxisr',
      'joyadvaxisu',
      'joyadvaxisv',
      'joyadvaxisx',
      'joyadvaxisy',
      'joyadvaxisz',
      'joyaxis1',
      'joyaxis2',
      'joyaxis3',
      'joyaxis4',
      'joyaxis5',
      'joyaxis6',
      'joyaxis7',
      'joyaxis8',
      'joyforwardsensitivity',
      'joyforwardthreshold',
      'joyname',
      'joypitchsensitivity',
      'joypitchthreshold',
      'joysidesensitivity',
      'joysidethreshold',
      'joystick',
      'joywwhack1',
      'joywwhack2',
      'joyyawsensitivity',
      'joyyawthreshold',
      'khz',
      'lcd_x',
      'lcd_yaw',
      'lerpmodels',
      'lightmap',
      'lights',
      'limit',
      'listen',
      'loadas',
      'loadas8bit',
      'localid',
      'lockpvs',
      'log',
      'log_stats',
      'logfile',
      'lookspring',
      'lookstrafe',
      'loopcount',
      'looptrack',
      'm_filter',
      'm_forward',
      'm_pitch',
      'm_side',
      'm_yaw',
      'mapname',
      'maps',
      'max',
      'maxclients',
      'maxedges',
      'maxentities',
      'maxfps',
      'maxplayers',
      'maxspectators',
      'maxsurfs',
      'maxvelocity',
      'min',
      'mipcap',
      'mipscale',
      'mixahead',
      'mode',
      'model',
      'models',
      'modex',
      'modulate',
      'monolightmap',
      'mouse',
      'mp_autokick',
      'mp_autoteambalance',
      'mp_c4timer',
      'mp_currentPlayerType',
      'mp_currentTeam',
      'mp_flashlight',
      'mp_footsteps',
      'mp_forcechasecam',
      'mp_freezetime',
      'mp_friendlyfire',
      'mp_hostagepenalty',
      'mp_limitteams',
      'mp_logmessages',
      'mp_mapvoteration',
      'mp_playerType',
      'mp_roundtime',
      'mp_team',
      'mp_timelimit',
      'mp_tkpunish',
      'mp_weapon',
      'msg',
      'msgs',
      'multitexture',
      'name',
      'net_graph',
      'net_ip',
      'net_messagetimeout',
      'net_noudp',
      'net_port',
      'net_qport',
      'net_restart',
      'netdosexpire',
      'netdosvalues',
      'netgraph',
      'nextdemo',
      'nextmap',
      'nextserver',
      'noalttab',
      'nobind',
      'nocd',
      'nocull',
      'nodelta',
      'noexit',
      'nomonsters',
      'norefresh',
      'noreload',
      'noskins',
      'nosound',
      'nosubimage',
      'novis',
      'palettedtexture',
      'particle',
      'particles',
      'password',
      'pausable',
      'persecond',
      'picmip',
      'pitch',
      'pitchsensitivity',
      'pitchspeed',
      'pitchthreshold',
      'playermip',
      'players',
      'pointparameters',
      'polyblend',
      'polymodelstats',
      'port',
      'pr_checkextensions',
      'pr_deadbeef_ents',
      'pr_deadbeef_locals',
      'pr_debug',
      'pr_source_path',
      'precache',
      'predict',
      'primary',
      'printspeed',
      'protocol',
      'public',
      'pushlatency',
      'qport',
      'r_aliastransadj',
      'r_aliastransbase',
      'r_allowExtensions',
      'r_allowSoftwareGL',
      'r_ambient',
      'r_ambientScale',
      'r_bonesDebug',
      'r_cache',
      'r_cacheModels',
      'r_cacheShaders',
      'r_clear',
      'r_clearcolor',
      'r_colorMipLevels',
      'r_colorbits',
      'r_compressModels',
      'r_customaspect',
      'r_customheight',
      'r_customwidth',
      'r_debugSort',
      'r_debugSurface',
      'r_debuglight',
      'r_depthbits',
      'r_detailtextures',
      'r_directedScale',
      'r_displayRefresh',
      'r_dlightBacks',
      'r_dlight_lightmap',
      'r_dlight_max',
      'r_drawBuffer',
      'r_drawSun',
      'r_drawentities',
      'r_drawexplosions',
      'r_drawflat',
      'r_draworder',
      'r_drawviewmodel',
      'r_drawworld',
      'r_dspeeds',
      'r_dynamic',
      'r_dynamiclight',
      'r_explosionclip',
      'r_exportCompressedModels',
      'r_ext_compiled_vertex_array',
      'r_ext_compress_textures',
      'r_ext_compressed_textures',
      'r_ext_gamma_control',
      'r_ext_multitexture',
      'r_ext_texture_env_add',
      'r_facePlaneCull',
      'r_fastsky',
      'r_finish',
      'r_firecolor',
      'r_flareFade',
      'r_flareSize',
      'r_flares',
      'r_fullbright',
      'r_fullscreen',
      'r_gamma',
      'r_glDriver',
      'r_glIgnoreWicked3D',
      'r_graphheight',
      'r_highQualit',
      'r_highQualityVideo',
      'r_ignore',
      'r_ignoreFastPath',
      'r_ignoreGLErrors',
      'r_ignorehwgamma',
      'r_inGameVideo',
      'r_intensity',
      'r_lastValidRenderer',
      'r_lerpmodels',
      'r_lightmap',
      'r_lightmap_components',
      'r_lockpvs',
      'r_lodCurveError',
      'r_lodbias',
      'r_lodscale',
      'r_logFile',
      'r_lowMemTextureSize',
      'r_lowMemTextureThreshold',
      'r_mapOverBrightBits',
      'r_maxedges',
      'r_maxpolys',
      'r_maxpolyverts',
      'r_maxsurfs',
      'r_measureOverdraw',
      'r_mirroralpha',
      'r_mode',
      'r_netgraph',
      'r_netgraph_alpha',
      'r_nobind',
      'r_nocull',
      'r_nocurves',
      'r_noportals',
      'r_norefresh',
      'r_novis',
      'r_numedges',
      'r_numsurfs',
      'r_offsetfactor',
      'r_offsetunits',
      'r_overBrightBits',
      'r_particles_max',
      'r_particles_style',
      'r_picmip',
      'r_picmip2',
      'r_polymodelstats',
      'r_portalOnly',
      'r_preloadTextures',
      'r_previousglDriver',
      'r_primitives',
      'r_printShaders',
      'r_railCoreWidth',
      'r_railSegmentLength',
      'r_railWidth',
      'r_reportedgeout',
      'r_reportsurfout',
      'r_rmse',
      'r_roundImagesDown',
      'r_saveFontData',
      'r_shadows',
      'r_showImages',
      'r_showSmp',
      'r_showcluster',
      'r_shownormals',
      'r_showsky',
      'r_showtris',
      'r_simpleMipMaps',
      'r_singleShader',
      'r_skipBackEnd',
      'r_skyname',
      'r_smp',
      'r_speeds',
      'r_stencilbits',
      'r_stereo',
      'r_subdivisions',
      'r_swapInterval',
      'r_textureMode',
      'r_texturebits',
      'r_timegraph',
      'r_uiFullScreen',
      'r_verbose',
      'r_vertexLight',
      'r_wateralpha',
      'r_waterwarp',
      'r_wolffog',
      'r_zfar',
      'r_znear',
      'rate',
      'rcon',
      'rconAddress',
      'rconPassword',
      'rcon_address',
      'rcon_password',
      'reconnect',
      'ref',
      'registered',
      'reportedgeout',
      'reportsurfout',
      'roll',
      'rollangle',
      'rollspeed',
      'round',
      'run',
      'run_pitch',
      'run_roll',
      's_compression',
      's_defaultsound',
      's_doppler',
      's_initsound',
      's_khz',
      's_loadas8bit',
      's_mixPreStep',
      's_mixahead',
      's_musicvolume',
      's_mute',
      's_nocompressed',
      's_primary',
      's_separation',
      's_show',
      's_testsound',
      's_usingA3D',
      's_volume',
      's_wavonly',
      'samelevel',
      'saturatelighting',
      'saved1',
      'saved2',
      'saved3',
      'saved4',
      'savedgamecfg',
      'scr',
      'scr_centertime',
      'scr_consize',
      'scr_conspeed',
      'scr_drawall',
      'scr_ofsx',
      'scr_ofsy',
      'scr_ofsz',
      'scr_printspeed',
      'scr_showpause',
      'scr_showturtle',
      'scratch1',
      'scratch2',
      'scratch3',
      'scratch4',
      'screenshot',
      'select',
      'sensitivity',
      'separation',
      'server1',
      'server10',
      'server11',
      'server12',
      'server13',
      'server14',
      'server15',
      'server16',
      'server2',
      'server3',
      'server4',
      'server5',
      'server6',
      'server7',
      'server8',
      'server9',
      'serverprofile',
      'sex',
      'shadows',
      'show',
      'showclamp',
      'showdrop',
      'showmiss',
      'shownet',
      'showpackets',
      'showpause',
      'showram',
      'showtrace',
      'showtris',
      'showturtle',
      'side',
      'sidesensitivity',
      'sidespeed',
      'sidethreshold',
      'size',
      'skill',
      'skin',
      'skymip',
      'snaps',
      'snd_bits',
      'snd_device',
      'snd_interp',
      'snd_loadas8bit',
      'snd_mixahead',
      'snd_noextraupdate',
      'snd_oss_mmaped',
      'snd_output',
      'snd_phasesep',
      'snd_rate',
      'snd_render',
      'snd_show',
      'snd_stereo',
      'snd_volumesep',
      'sndbits',
      'sndchannels',
      'snddevice',
      'sndspeed',
      'software',
      'sounds',
      'spectator',
      'spectator_password',
      'speeds',
      'stats',
      'stereo',
      'stipplealpha',
      'surfcacheoverride',
      'sv',
      'sv_accelerate',
      'sv_aim',
      'sv_airaccelerate',
      'sv_allowAnonymous',
      'sv_allowDownload',
      'sv_cheats',
      'sv_enforcetime',
      'sv_floodProtect',
      'sv_fps',
      'sv_friction',
      'sv_gravity',
      'sv_hostname',
      'sv_idealpitchscale',
      'sv_keywords',
      'sv_killserver',
      'sv_mapChecksum',
      'sv_master1',
      'sv_master2',
      'sv_master3',
      'sv_master4',
      'sv_master5',
      'sv_maxPing',
      'sv_maxRate',
      'sv_maxclients',
      'sv_maxrate',
      'sv_maxspeed',
      'sv_maxtic',
      'sv_maxvelocity',
      'sv_minPing',
      'sv_minqfversion',
      'sv_mintic',
      'sv_netdosprotect',
      'sv_noreload',
      'sv_nostep',
      'sv_onlyVisibleClients',
      'sv_padPackets',
      'sv_pakNames',
      'sv_paks',
      'sv_paused',
      'sv_phs',
      'sv_privateClients',
      'sv_privatePassword',
      'sv_progs',
      'sv_pure',
      'sv_reconnect_limit',
      'sv_reconnectlimit',
      'sv_referencedPakNames',
      'sv_referencedPaks',
      'sv_restartround',
      'sv_rollangle',
      'sv_rollspeed',
      'sv_running',
      'sv_serverid',
      'sv_showAverageBPS',
      'sv_showloss',
      'sv_spectalk',
      'sv_stopspeed',
      'sv_timefmt',
      'sv_timekick',
      'sv_timekick_fuzz',
      'sv_timekick_interval',
      'sv_timeout',
      'sv_timestamps',
      'sv_wateraccelerate',
      'sv_waterfriction',
      'sv_zombietime',
      'sw',
      'sw_allow_modex',
      'sw_clearcolor',
      'sw_drawflat',
      'sw_draworder',
      'sw_maxedges',
      'sw_maxsurfs',
      'sw_mipcap',
      'sw_mipscale',
      'sw_mode',
      'sw_polymodelstats',
      'sw_reportedgeout',
      'sw_reportsurfout',
      'sw_stipplealpha',
      'sw_surfcacheoverride',
      'sw_waterwarp',
      'swapinterval',
      'sys_cpustring',
      'sys_nostdout',
      'sys_sleep',
      'sys_ticrate',
      'team',
      'team_headmodel',
      'team_model',
      'teamplay',
      'teamtask',
      'temp1',
      'testblend',
      'testentities',
      'testlights',
      'testparticles',
      'testsound',
      'texturealphamode',
      'texturemode',
      'texturesolidmode',
      'timedemo',
      'timegraph',
      'timelimit',
      'timeout',
      'timescale',
      'topcolor',
      'triplebuffer',
      'ttycon',
      'ui_Q3Model',
      'ui_actualNetGametype',
      'ui_bigFont',
      'ui_browserGameType',
      'ui_browserMaster',
      'ui_browserShowEmpty',
      'ui_browserShowFriendlyFire',
      'ui_browserShowFull',
      'ui_browserShowMaxlives',
      'ui_browserShowTourney',
      'ui_browserSortKey',
      'ui_cdkeychecked',
      'ui_class',
      'ui_cmd',
      'ui_ctf_capturelimit',
      'ui_ctf_friendly',
      'ui_ctf_timelimit',
      'ui_currentMap',
      'ui_currentNetMap',
      'ui_dedicated',
      'ui_ffa_fraglimit',
      'ui_ffa_timelimit',
      'ui_gametype',
      'ui_glCustom',
      'ui_isSpectator',
      'ui_joinGametype',
      'ui_limboMode',
      'ui_limboObjective',
      'ui_limboOptions',
      'ui_limboPrevOptions',
      'ui_mapIndex',
      'ui_master',
      'ui_menuFiles',
      'ui_mousePitch',
      'ui_netGametype',
      'ui_netSource',
      'ui_notebookCurrentPage',
      'ui_objective',
      'ui_prevClass',
      'ui_prevTeam',
      'ui_prevWeapon',
      'ui_serverStatusTimeOut',
      'ui_singlePlayerActive',
      'ui_smallFont',
      'ui_spSelection',
      'ui_team',
      'ui_teamArenaFirstRun',
      'ui_team_fraglimit',
      'ui_team_friendly',
      'ui_team_timelimit',
      'ui_tourney_fraglimit',
      'ui_tourney_timelimit',
      'ui_userAlliedRespawnTime',
      'ui_userAxisRespawnTime',
      'ui_userTimeLimit',
      'ui_weapon',
      'up',
      'upsensitivity',
      'upspeed',
      'upthreshold',
      'username',
      'v_centermove',
      'v_centerspeed',
      'v_idlescale',
      'v_ipitch_cycle',
      'v_ipitch_level',
      'v_iroll_cycle',
      'v_iroll_level',
      'v_iuaw_cycle',
      'v_iyaw_cycle',
      'v_iyaw_level',
      'v_kickpitch',
      'v_kickroll',
      'v_kicktime',
      'version',
      'vertex',
      'vid',
      'vid_config_x',
      'vid_config_y',
      'vid_fullscreen',
      'vid_fullscreen_mode',
      'vid_gamma',
      'vid_height',
      'vid_mode',
      'vid_nopageflip',
      'vid_ref',
      'vid_system_gamma',
      'vid_use8bit',
      'vid_wait',
      'vid_width',
      'vid_window_x',
      'vid_window_y',
      'vid_windowed_mode',
      'vid_xpos',
      'vid_ypos',
      'viewlog',
      'viewsize',
      'vm_cgame',
      'vm_game',
      'vm_ui',
      'volume',
      'vwep',
      'waitdelay',
      'waterwarp',
      'wavonly',
      'win',
      'win_hinstance',
      'win_noalttab',
      'win_wndproc',
      'xpos',
      'yaw',
      'yawsensitivity',
      'yawspeed',
      'yawthreshold',
      'ypos',
      'zombietime',
      'ztrick',
   );
   $self->listAdd('setFamily',
      'set',
      'seta',
      'sets',
      'setu',
   );
   $self->contextdata({
      'Alias phrase' => {
         callback => \&parseAliasphrase,
         attribute => 'Identifier',
         lineending => 'Normal Text',
      },
      'Arg area' => {
         callback => \&parseArgarea,
         attribute => 'Normal Text',
         lineending => 'Normal Text',
      },
      'Arg area in sub phrase' => {
         callback => \&parseArgareainsubphrase,
         attribute => 'Normal Text',
         lineending => 'Normal Text',
      },
      'Bind phrase' => {
         callback => \&parseBindphrase,
         attribute => 'Normal Text',
         lineending => 'Normal Text',
      },
      'Comment' => {
         callback => \&parseComment,
         attribute => 'Comment',
         lineending => 'Normal Text',
      },
      'Echo' => {
         callback => \&parseEcho,
         attribute => 'String',
         lineending => 'Normal Text',
      },
      'Normal Text' => {
         callback => \&parseNormalText,
         attribute => 'Normal Text',
      },
      'String' => {
         callback => \&parseString,
         attribute => 'String',
         lineending => 'Normal Text',
      },
      'Sub phrase' => {
         callback => \&parseSubphrase,
         attribute => 'Normal Text',
         lineending => 'Normal Text',
      },
   });
   $self->deliminators('\\s||\\(|\\)|:|\\!|<|>|\\%|\\&|\\*|;|\\?|\\^|\\{|\\||\\}|,|\\+|\\~|-|=|\\/|\\\\|\\.|\\[|\\]|\\$');
   $self->basecontext('Normal Text');
   $self->keywordscase(0);
   $self->initialize;
   bless ($self, $class);
   return $self;
}

sub language {
   return 'Quake Script';
}

sub parseAliasphrase {
   my ($self, $text) = @_;
   # attribute => 'Identifier'
   # char => ' '
   # context => 'Sub phrase'
   # type => 'DetectChar'
   if ($self->testDetectChar($text, ' ', 0, 0, 0, undef, 0, 'Sub phrase', 'Identifier')) {
      return 1
   }
   return 0;
};

sub parseArgarea {
   my ($self, $text) = @_;
   # attribute => 'String'
   # char => '"'
   # context => 'String'
   # type => 'DetectChar'
   if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'String', 'String')) {
      return 1
   }
   # attribute => 'Float'
   # context => '#stay'
   # type => 'Float'
   if ($self->testFloat($text, 0, undef, 0, '#stay', 'Float')) {
      return 1
   }
   # attribute => 'Int'
   # context => '#stay'
   # type => 'Int'
   if ($self->testInt($text, 0, undef, 0, '#stay', 'Int')) {
      return 1
   }
   # attribute => 'Symbol'
   # char => ';'
   # context => '#pop'
   # type => 'DetectChar'
   if ($self->testDetectChar($text, ';', 0, 0, 0, undef, 0, '#pop', 'Symbol')) {
      return 1
   }
   # attribute => 'Comment'
   # char => '/'
   # char1 => '/'
   # context => 'Comment'
   # type => 'Detect2Chars'
   if ($self->testDetect2Chars($text, '/', '/', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
      return 1
   }
   # attribute => 'Symbol'
   # char => '$'
   # context => 'Normal Text'
   # type => 'DetectChar'
   if ($self->testDetectChar($text, '$', 0, 0, 0, undef, 0, 'Normal Text', 'Symbol')) {
      return 1
   }
   return 0;
};

sub parseArgareainsubphrase {
   my ($self, $text) = @_;
   # attribute => 'Float'
   # context => '#stay'
   # type => 'Float'
   if ($self->testFloat($text, 0, undef, 0, '#stay', 'Float')) {
      return 1
   }
   # attribute => 'Int'
   # context => '#stay'
   # type => 'Int'
   if ($self->testInt($text, 0, undef, 0, '#stay', 'Int')) {
      return 1
   }
   # attribute => 'Comment'
   # char => '/'
   # char1 => '/'
   # context => 'Comment'
   # type => 'Detect2Chars'
   if ($self->testDetect2Chars($text, '/', '/', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
      return 1
   }
   # attribute => 'Symbol'
   # char => ';'
   # context => '#pop'
   # type => 'DetectChar'
   if ($self->testDetectChar($text, ';', 0, 0, 0, undef, 0, '#pop', 'Symbol')) {
      return 1
   }
   return 0;
};

sub parseBindphrase {
   my ($self, $text) = @_;
   # String => 'KeyTypes'
   # attribute => 'Hex'
   # context => 'Sub phrase'
   # type => 'keyword'
   if ($self->testKeyword($text, 'KeyTypes', 0, undef, 0, 'Sub phrase', 'Hex')) {
      return 1
   }
   return 0;
};

sub parseComment {
   my ($self, $text) = @_;
   return 0;
};

sub parseEcho {
   my ($self, $text) = @_;
   # attribute => 'Symbol'
   # char => ';'
   # context => '#pop'
   # type => 'DetectChar'
   if ($self->testDetectChar($text, ';', 0, 0, 0, undef, 0, '#pop', 'Symbol')) {
      return 1
   }
   # attribute => 'Comment'
   # char => '/'
   # char1 => '/'
   # context => 'Comment'
   # type => 'Detect2Chars'
   if ($self->testDetect2Chars($text, '/', '/', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
      return 1
   }
   return 0;
};

sub parseNormalText {
   my ($self, $text) = @_;
   # String => 'Commands'
   # attribute => 'Command'
   # context => 'Arg area'
   # type => 'keyword'
   if ($self->testKeyword($text, 'Commands', 0, undef, 0, 'Arg area', 'Command')) {
      return 1
   }
   # String => 'Variables'
   # attribute => 'Variable'
   # context => 'Arg area'
   # type => 'keyword'
   if ($self->testKeyword($text, 'Variables', 0, undef, 0, 'Arg area', 'Variable')) {
      return 1
   }
   # String => 'Actions'
   # attribute => 'Action'
   # context => '#stay'
   # type => 'keyword'
   if ($self->testKeyword($text, 'Actions', 0, undef, 0, '#stay', 'Action')) {
      return 1
   }
   # String => 'Symbols'
   # attribute => 'Symbol'
   # context => '#stay'
   # type => 'keyword'
   if ($self->testKeyword($text, 'Symbols', 0, undef, 0, '#stay', 'Symbol')) {
      return 1
   }
   # String => 'BindFamily'
   # attribute => 'Command'
   # context => 'Bind phrase'
   # type => 'keyword'
   if ($self->testKeyword($text, 'BindFamily', 0, undef, 0, 'Bind phrase', 'Command')) {
      return 1
   }
   # String => 'setFamily'
   # attribute => 'Command'
   # context => 'Alias phrase'
   # type => 'keyword'
   if ($self->testKeyword($text, 'setFamily', 0, undef, 0, 'Alias phrase', 'Command')) {
      return 1
   }
   # String => 'PrintsString'
   # attribute => 'Command'
   # context => 'Echo'
   # type => 'keyword'
   if ($self->testKeyword($text, 'PrintsString', 0, undef, 0, 'Echo', 'Command')) {
      return 1
   }
   # String => 'alias'
   # attribute => 'Command'
   # context => 'Alias phrase'
   # insensitive => 'TRUE'
   # type => 'StringDetect'
   if ($self->testStringDetect($text, 'alias', 1, 0, 0, undef, 0, 'Alias phrase', 'Command')) {
      return 1
   }
   # String => 'PrintsString'
   # attribute => 'Command'
   # context => 'Echo'
   # type => 'keyword'
   if ($self->testKeyword($text, 'PrintsString', 0, undef, 0, 'Echo', 'Command')) {
      return 1
   }
   # attribute => 'Symbol'
   # char => '$'
   # context => '#stay'
   # type => 'DetectChar'
   if ($self->testDetectChar($text, '$', 0, 0, 0, undef, 0, '#stay', 'Symbol')) {
      return 1
   }
   # attribute => 'Comment'
   # char => '/'
   # char1 => '/'
   # context => 'Comment'
   # type => 'Detect2Chars'
   if ($self->testDetect2Chars($text, '/', '/', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
      return 1
   }
   return 0;
};

sub parseString {
   my ($self, $text) = @_;
   # attribute => 'String'
   # char => '"'
   # context => '#pop'
   # type => 'DetectChar'
   if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '#pop', 'String')) {
      return 1
   }
   return 0;
};

sub parseSubphrase {
   my ($self, $text) = @_;
   # String => 'Commands'
   # attribute => 'Command'
   # context => 'Arg area in sub phrase'
   # type => 'keyword'
   if ($self->testKeyword($text, 'Commands', 0, undef, 0, 'Arg area in sub phrase', 'Command')) {
      return 1
   }
   # String => 'Variables'
   # attribute => 'Variable'
   # context => 'Arg area in sub phrase'
   # type => 'keyword'
   if ($self->testKeyword($text, 'Variables', 0, undef, 0, 'Arg area in sub phrase', 'Variable')) {
      return 1
   }
   # String => 'Actions'
   # attribute => 'Action'
   # context => '#stay'
   # type => 'keyword'
   if ($self->testKeyword($text, 'Actions', 0, undef, 0, '#stay', 'Action')) {
      return 1
   }
   # String => 'Symbols'
   # attribute => 'Symbol'
   # context => '#stay'
   # type => 'keyword'
   if ($self->testKeyword($text, 'Symbols', 0, undef, 0, '#stay', 'Symbol')) {
      return 1
   }
   # String => 'BindFamily'
   # attribute => 'Command'
   # context => 'Bind phrase'
   # type => 'keyword'
   if ($self->testKeyword($text, 'BindFamily', 0, undef, 0, 'Bind phrase', 'Command')) {
      return 1
   }
   # String => 'setFamily'
   # attribute => 'Command'
   # context => 'Normal Text'
   # type => 'keyword'
   if ($self->testKeyword($text, 'setFamily', 0, undef, 0, 'Normal Text', 'Command')) {
      return 1
   }
   # String => 'PrintsString'
   # attribute => 'Command'
   # context => 'Echo'
   # type => 'keyword'
   if ($self->testKeyword($text, 'PrintsString', 0, undef, 0, 'Echo', 'Command')) {
      return 1
   }
   # String => 'alias'
   # attribute => 'Command'
   # context => 'Alias phrase'
   # type => 'StringDetect'
   if ($self->testStringDetect($text, 'alias', 0, 0, 0, undef, 0, 'Alias phrase', 'Command')) {
      return 1
   }
   # attribute => 'Comment'
   # char => '/'
   # char1 => '/'
   # context => 'Comment'
   # type => 'Detect2Chars'
   if ($self->testDetect2Chars($text, '/', '/', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
      return 1
   }
   # attribute => 'Symbol'
   # char => ';'
   # context => '#stay'
   # type => 'DetectChar'
   if ($self->testDetectChar($text, ';', 0, 0, 0, undef, 0, '#stay', 'Symbol')) {
      return 1
   }
   # attribute => 'Int'
   # context => '#stay'
   # type => 'Int'
   if ($self->testInt($text, 0, undef, 0, '#stay', 'Int')) {
      return 1
   }
   # attribute => 'Symbol'
   # char => ';'
   # context => '#pop'
   # type => 'DetectChar'
   if ($self->testDetectChar($text, ';', 0, 0, 0, undef, 0, '#pop', 'Symbol')) {
      return 1
   }
   return 0;
};


1;

__END__

=head1 NAME

Syntax::Highlight::Engine::Kate::Quake_Script - a Plugin for Quake Script syntax highlighting

=head1 SYNOPSIS

 require Syntax::Highlight::Engine::Kate::Quake_Script;
 my $sh = new Syntax::Highlight::Engine::Kate::Quake_Script([
 ]);

=head1 DESCRIPTION

Syntax::Highlight::Engine::Kate::Quake_Script is a  plugin module that provides syntax highlighting
for Quake Script to the Syntax::Haghlight::Engine::Kate highlighting engine.

This code is generated from the syntax definition files used
by the Kate project.
It works quite fine, but can use refinement and optimization.

It inherits Syntax::Higlight::Engine::Kate::Template. See also there.

=head1 AUTHOR

Hans Jeuken (haje <at> toneel <dot> demon <dot> nl)

=head1 BUGS

Unknown. If you find any, please contact the author