
#--- BaseMode; The main configuration file for StrongED ---
#
# This is the mode that lies under any other mode. This file should not be
# renamed. If it is, StrongED will get seriously confused and won't start..

# Options:
#   StrongED$FoldParm1 = ("#-",,Startofline)

#--- PrintHead & PrintFoot
#    These two defines default heading and footing used when printing.

PrintHead	<tmp$path>.<tmp$leaf>|i|i<Sys$Date> <Sys$Time>|m
PrintFoot	|m|i---- <tmp$page> ----

#--- Bitmap
#    The name of the bitmap to use for basemode, and all modes not
#    overriding this with their own. (Is the name of a file in the
#    !StrongED.Bitmaps directory)

Bitmap		System

#--- WriteProtect
#    This section is used to protect some files from modification
#    When a file matches one of these lines, StrongED will behave
#    as if the file was write protected. If you still want to
#    change the file, untick 'Locked' in the View:Misc menu.

# WriteProtect
# 	;**.old.**
# 	fff;**.Clib.h.*
# End

#--- Syntax colouring; We colour URLs to show that they are clickable.

ID_Middle	A-Za-z_0-9./~+\-:;,?%@&#=

SyntaxWords Group8 EndOfID nocase
	http:// ftp:// mailto: telnet://
End

#--- Named search/match expressions.
#    Some are used to modify how standard functions behave, and some are
#    used as parameters to functions.

Search
	_Indent		{" "|"\t"}
	_MarkWord	{AlphaNum|"_"}+ | {Punct}+
	_MoveWord	{A}+
	_DeleteWord	_MoveWord
	_EndSpc		{" "}+ >
	_spct		{" " | "\t"}+
	_Complete	{" "} ((Upper [{Upper}+ | {Lower}+]) | {Lower}+ ["_"]) | {Punct|Digit}+
	_Wrap		~NL Any @1 {" "} NL ~ NL|"\t"|" "

	http		"http://" | "ftp://" | "mailto:" | "telnet://" {'A-Za-z_0-9./~+\-:;,?%@&#='}+
	me		"Guttorm"|("Strong" "ED"|"Help"|"Hlp")

	_foldstar	{' \t'} "*"
	_foldindent	{' \t'} ~NL .

#	Expressions for use in the ModeWhen file :
#	Use Dumpmode if, after skipping the first 4 chars, there is no more
#	than 4 "normal" characters, followed by a ctrl char.

	_dump0		'\x09\x0a\x0d\x20-\x7e\x80-\xff'
	_dumptest	{.}4:4 {_dump0}0:4 ~_dump0 any

#	Use newsmode if there is a line starting with "From:"

	_newstest	** ( < "From:")

# clicklist related entries

	c_TRUE		"TRUE"
	c_FALSE		"FALSE"

End

#--- Named replace expressions.
#    Mostly used as parameter in functions.

Replace
	_rwrap		@01 " "
End

#--- The default fold-expression

FoldParm1 ("*",,StartOfLine)

#--- Clicklist
#    Each time you click with Select, this list will
#    be consulted, and if the clicked word matches the search expression
#    the corresponding function will be executed.

ClickList Select2
	http	BroadcastURL("<tmp$word>")
End

ClickList Toggle
	c_TRUE	ToggleStr("FALSE")
	c_FALSE	ToggleStr("TRUE")
End

#--- Key definitions for various dialogue boxes.
#    Note that shortcuts like ctrl-C for toggeling case sensitivity is defined
#    directly in the template files (in the validation string) This because
#    shortcuts that depend on the label are language specific.
#    (You *can* override them here, if you wish..)

KeyList SearchReplace
	F4		Select(Old)
	RETURN		Select(GO)
	PgUp		History(older)
	PgDown		History(newer)
	F1		MenuToWindow HelpString("StrongEDRes:StrongED advancedsyntax")
End

KeyList LoF_dbox
	F2		Select(Old)
	Return		Select(GO)
	PgUp		History(older)
	PgDown		History(newer)
End

KeyList Interactive
	F4		Select(Old)
	Down		Select(Next)
	Up		Select(Prev)
	PgUp		Select(Old)
	PgDown		Adjust(Old)
End

KeyList SaveBox
	Return		Select(Save)
	^Q		Select(Kill)
	F3		History(older)
	F3		History(older)
	PgUp		History(older)
	PgDown		History(newer)
End

KeyList WhatNext
	Down		Select(Next)
	Return		Select(Replace)
	F8		Select(Undo)
	^F8		Select(Redo)
End

#KeyList Print
#	^F		Select(HeaderFooter)
#	Return		Select(GO)
#End

#--- Key definitions when CopyCursor is used.

KeyList CopyCursor
	ESC		CopyCursor_Off
	Copy		CopyFromCC
	Copy		CopyCursor_Off
	Left		CopyCursor_Left
	Right		CopyCursor_Right
	Up		CopyCursor_Up
	Down		CopyCursor_Down
	Left		CaretLeft
	Right		CaretRight
	Up		CaretUp
	Down		CaretDown
	Return		CopyCursor_Off NewLine
End

#--- Global key definitions
#    These keys are checked last of all, and are also checked even if
#    StrongED doesn't have the input focus.

KeyList Global
	^F9		dbox_Chars
	^F1 1		GotoMark (1)
	^F2 1		GotoMark (2)
	^F3 1		GotoMark (3)
	^F4 1		GotoMark (4)
	F5 1		GotoBlock_Start
	F5 2		GotoBlock_End
	^H		HideAll
	^L		ListOfWindows
	^W		Complete(_Complete) ;
#	^W		WordToBuffer   ; These three are used to copy text to writable fields in dboxes.
	F7		BlockToBuffer  ; They have no meaning if no writable field has caret.
	F8		ClipToBuffer   ;
	F11		CreateText
	^Tab		SetDir
	Up		NextWindow
	Down		PreviousWindow
End

#--- The main keylist.

KeyList
	ESC		BlockMark_ESC
	F2		dbox_ListOfFound
	F3		dbox_SaveText
	F4		dbox_Interactive
	F5		dbox_GotoLine
#	F6		BlockMark_Standard
	F6		BlockMark_Continous
	F7		BlockCopy
	F8		Undo
	F9		Playback

#	F3		dbox_SaveBlock
	F4		dbox_Replace
#	F5		GotoBlock
	F6		BlockClear
	F7		BlockMove
	F8		BlockDelete
	F9		Learn

	^F5		InsertCtrl
	^F6		MarkText
	^F7		LoseCaret
	^F8		Redo

	^F1 1		SetMark(5) GotoMark (1)
	^F2 1		SetMark(5) GotoMark (2)
	^F3 1		SetMark(5) GotoMark (3)
	^F4 1		SetMark(5) GotoMark (4)
	^F1 2		GotoMark(5)
	^F2 2		GotoMark(5)
	^F3 2		GotoMark(5)
	^F4 2		GotoMark(5)

	^F1 1		SetMark (1)
	^F2 1		SetMark (2)
	^F3 1		SetMark (3)
	^F4 1		SetMark (4)

	^F1 2		ClearMark (1)
	^F2 2		ClearMark (2)
	^F3 2		ClearMark (3)
	^F4 2		ClearMark (4)

#	^A 1		MarkChar
	^A 1		MarkWord
	^A 2		MarkLine
	^A 3		MarkText
	^B		ToggleIndent
	^C		BlockCopy

	KpPlus		OpenFold
	KpMin		CloseFold
	^KpMin		UnfoldText() FoldText
#	^KpMin		UnfoldText() FoldText(_foldstar,,line,case)
#	^KpMin B	AddFold
	^KpPlus		UnfoldText

	F10		Process(Text,"Filer_Run <wimp$scrapdir>.out",,noreplace)

	^F10		Debug2
	^F11		Debug
#	^F11		MinimizeModes

	^D,^D		DateAndTime ("%DY.%MN.%YR")
	^D,^T		DateAndTime ("%24:%MI")
	^D,^W		DateAndTime ("%WK")

	^F		ListOfWord (Text,Whole,NoLine,NoCase)
	^F		ListOfWord (All,Whole,NoLine,NoCase)
	^H		HideView
	^J		LowercaseChar
	^N		FindNext
	^P		PreviousMessage

	^Q		KillView
	^Q		KillStrongED
	^R		Pop
	^R		PopAll
	^S		SwapcaseChar
	^T		ViewToTop
#	^T		Transpose(-2)
	^U		UppercaseChar
	^V		BlockMove
	^W,^C		CreateView
	^W,^V		SplitViewVert
	^W,^H		SplitViewHor
	^W,^F		FullView
	^W,^S		ScaleView
	^X		BlockDelete
	^Z		BlockClear

	Tab		Tab
	Tab		ToggleTabLine
	^Tab		CycleTabkey
	Copy		DeleteRight
	Copy		CopyCursor_On
	^Copy		DeleteLine
	^Copy 1	MarkToEnd_tl
	^Copy 2	BlockDelete
	Print		Print
	Print		dbox_Print
	Delete		DeleteLeft
	Delete		DeleteWordRight
	^Delete		CB_Copy BlockDelete
	Backspace	DeleteLeft
	Backspace	DeleteWordLeft
	Insert		ToggleInsert
	^Insert		CB_Copy
	Insert		CB_Paste
	Home		StartOfText
	Home		ClickList("Toggle")
	^Home		ClickList("Select2")
	Return		NewLine
	Return		NewLine(noindent)

#	Select		PlaceCaret() Clicklist("TEST")
#	Select 2	MarkWord()
#	Select 3	MarkLine()
#	Adjust		adjustmark()   if(focus) { MarkBlock() wobble } ifnot(focus) Setfocus()

	Left		CaretLeft
	Left		WordLeft
	^Left 1		StartOfWLine
	^Left 2		StartOfTLine
	^Left 1	MarkToStart_tl
	^Left 2	BlockDelete

	Right		CaretRight
	Right		WordRight
	^Right 1	EndOfWLine
	^Right 2	EndOfTLine
	^Right 1	MarkToEnd_tl
	^Right 2	BlockDelete

	Up		CaretUp
	^Up		StartOftext
	^Up		LineUp
	Down		CaretDown
	^Down		EndOfText
	^Down		LineDown

	PgUp		PageUp
	PgDown		PageDown

	^Z		CB_Purge
	^X		CB_Copy  BlockDelete
	^C		CB_Copy  BlockClear
	^V		CB_Paste

End

#--- Toolbar and mode-menu functions

Functions

	Key	F1
	Icon	help
	Help	HBM_help
	Select	HelpStrongED

	Key	F1
	Adjust	HelpWord

	Key	^I
	Select	dbox_FileInfo

	Adjust	CharInfo

	Key	^L
	Icon	Lot
	Help	HBM_low
	Select	ListOfWindows

	Icon	opton
	Help	HBM_opt
	Select	dbox_GlobalChoices

	Adjust	dbox_ModeChoices

	Icon	Save
	Help	HBM_save
	Select	dbox_SaveText

	Adjust	SaveText()

#	Key	^W,^F
#	Select	Fullview

#	Menu	Tab to spaces
#	Help	Replaces occurrences of the TAB character with spaces.
#	Select	Untab
#
#	Menu	Spaces to Tab
#	Help	Replaces multiple spaces with TAB characters.|MOnly handles spaces at the start of the line.
#	Select	TabIt

	Menu	List me
	Select	ListOfFound (me,ALL,Align,NoLine,NoCase)

	Menu	Trim lines
	Help	HBM_trim
	Select	Replace (_EndSpc,"",,NoLine)

	Menu	Left Adjust
	Help	HBM_ltrim
	Select	Replace (_spct,"",,Line)

	Menu	Wrap
	Help	HBM_join
	Select	Replace (_wrap,_rwrap,,Noline)

	Menu	Unwrap
	Help	HBM_split
	Select	Unwrap

End

#--- Shortcuts
#    Small macros that, when written, will expand to the full text.

Shortcuts
	``me	Guttorm Vik\n\iNordre Steinkjellersmauet 6B\n\i5003 Bergen\n\iNorway\n\n\iguttorvi@login.eunet.no
	``@	guttorvi@login.eunet.no
	``~	http://login.eunet.no/~guttorvi
	``-	--------------------------------------------------------------------------------\n
End
