<?xml version="1.0" encoding="UTF-8"?>
<Scheme>
	<keyword-classes>
		<keyword-class name="tcl">
			after append array auto_execok auto_import auto_load
			auto_load_index auto_qualify beep binary break case catch cd clock
			close concat continue dde default echo else elseif encoding eof
			error eval exec exit expr fblocked fconfigure fcopy file
			fileevent flush for foreach format gets glob global history if
			incr info interp join lappend lindex linsert list llength load
			lrange lreplace lsearch lsort namespace open package pid
			pkg_mkIndex proc puts pwd read regexp regsub rename resource
			return scan seek set socket source split string subst switch
			tclLog tclMacPkgSearch tclPkgSetup tclPkgUnknown tell time
			trace unknown unset update uplevel upvar variable vwait while
		</keyword-class>
		<keyword-class name="tk">
			bell bind bindtags button canvas checkbutton console
			destroy entry event focus font frame grab grid image label listbox menu
			menubutton message pack place radiobutton raise scale scrollbar
			text tk tkwait toplevel winfo wm
		</keyword-class>
		<keyword-class name="itcl">
			@scope body class code common component configbody
			constructor define destructor hull import inherit itcl itk itk_component
			itk_initialize itk_interior itk_option iwidgets keep method
			private protected public
		</keyword-class>
		<keyword-class name="TkCommands">
			tkButtonDown tkButtonEnter tkButtonInvoke
			tkButtonLeave tkButtonUp tkCancelRepeat tkCheckRadioInvoke tkDarken
			tkEntryAutoScan 	tkEntryBackspace tkEntryButton1 tkEntryClosestGap
			tkEntryInsert tkEntryKeySelect tkEntryMouseSelect tkEntryNextWord
			tkEntryPaste tkEntryPreviousWord tkEntrySeeInsert tkEntrySetCursor
			tkEntryTranspose tkEventMotifBindings tkFDGetFileTypes tkFirstMenu
			tkFocusGroup_Destroy tkFocusGroup_In tkFocusGroup_Out tkFocusOK
			tkListboxAutoScan tkListboxBeginExtend tkListboxBeginSelect
			tkListboxBeginToggle tkListboxCancel tkListboxDataExtend
			tkListboxExtendUpDown tkListboxMotion tkListboxSelectAll
			tkListboxUpDown tkMbButtonUp tkMbEnter tkMbLeave tkMbMotion
			tkMbPost tkMenuButtonDown tkMenuDownArrow tkMenuDup tkMenuEscape
			tkMenuFind tkMenuFindName tkMenuFirstEntry tkMenuInvoke tkMenuLeave
			tkMenuLeftArrow tkMenuMotion tkMenuNextEntry tkMenuNextMenu
			tkMenuRightArrow tkMenuUnpost tkMenuUpArrow tkMessageBox
			tkPostOverPoint tkRecolorTree tkRestoreOldGrab tkSaveGrabInfo
			tkScaleActivate tkScaleButton2Down tkScaleButtonDown
			tkScaleControlPress tkScaleDrag tkScaleEndDrag tkScaleIncrement
			tkScreenChanged tkScrollButton2Down tkScrollButtonDown
			tkScrollButtonUp tkScrollByPages tkScrollByUnits tkScrollDrag
			tkScrollEndDrag tkScrollSelect tkScrollStartDrag tkScrollToPos 
			tkScrollTopBottom tkTabToWindow tkTearOffMenu tkTextAutoScan
			tkTextButton1 tkTextClosestGap tkTextInsert tkTextKeyExtend
			tkTextKeySelect tkTextNextPara tkTextNextPos tkTextNextWord
			tkTextPaste tkTextPrevPara tkTextPrevPos tkTextResetAnchor
			tkTextScrollPages tkTextSelectTo tkTextSetCursor tkTextTranspose
			tkTextUpDownLine tkTraverseToMenu tkTraverseWithinMenu tk_bisque
			tk_chooseColor tk_dialog tk_focusFollowsMouse tk_focusNext
			tk_focusPrev tk_getOpenFile tk_getSaveFile tk_messageBox
			tk_optionMenu tk_popup tk_setPalette tk_textCopy tk_textCut
			tk_textPaste
		</keyword-class>
		<keyword-class name="expand">
			expand
		</keyword-class>
	</keyword-classes>
	
	<!-- base scheme for C++ style languages -->
	<language name="tcl" title="TCL" folding="true" foldcomments="true">
		<lexer name="tcl" />
		<comments line="#~" blockStart="##" blockLine=" #" blockEnd="##" />
		<use-keywords>
			<keyword key="0" name="Keywords" class="tcl"/>
			<keyword key="1" name="TK Keywords" class="tk"/>
			<keyword key="2" name="TK Commands" class="TkCommands"/>
			<keyword key="3" name="ITCL" class="itcle"/>
			<keyword key="4" name="Expand" class="tclexpand"/>
		</use-keywords>
		<use-styles>
			<style name="Default" key="32" />
			<style name="Whitespace" key="0" />
			<style name="Comment" key="1" class="comment"/>
			<style name="Line Comment" key="2" class="commentline"/>
			<style name="Number" key="3" class="number"/>
			<style name="Keyword in Quote" key="4" class="character"/>
			<style name="Quote" key="5" class="string"/>
			<style name="Operator" key="6" class="operator"/>
			<style name="Identifier" key="7" />
			<style name="Substitution" key="8" class="preprocessor"/>
			<style name="${ Substitution" key="9" class="preprocessor" bold="true"/>
			<style name="Modifier" key="10" class="character"/>
			<style name="Expand" key="11" class="attribute"/>
			<style name="Keyword" key="12" class="keyword"/>
			<style name="Keyword 2" key="13" class="keyword"/>
			<style name="Keyword 3" key="14" class="keyword"/>
			<style name="Keyword 4" key="15" class="keyword"/>
			<style name="Comment Box" key="20" class="commentbox" />
			<style name="Comment Block" key="21" class="comment" />
		</use-styles>
	</language>
</Scheme>