# There are three properties files used:
#
#    * Local properties file called "SciTE.properties" which may be present in the same directory as the file being edited.
#    * User properties file called "SciTEUser.properties" on Windows and "SciTEUser.properties" on GTK+
#    * Global properties file called "SciTEGlobal.properties"
#
# usage: var=value
#
# predefined variables
buffers=20
view.whitespace=1
view.intentation.whitespace=1
view.intendation.guides=1
highlight.indentation.guides=1
#view.eol=1
eol.mode=LF
#eol.auto=1
minimize.to.tray=1
tabbar.visible=1
tabbar.multiline=1
toolbar.visible=1
toolbar.detachable=1
statusbar.visible=1
load.on.activate=1
are.you.sure.on.reload=1
wrap=0
find.in.files.close.on.find=0
title.full.path=1
title.show.buffers=1
tabsize=4
indent.size=2
use.tabs=0
indent.auto=1
backspace.uindents=0
tab.indents=1
indent.automatic=1
indent.opening=1
indent.closing=1

# FilePath				full path of the current file
# FileDir				directory of the current file without a trailing slash
# FileName				base name of the current file
# FileExt				extension of the current file
# FileNameExt				$(FileName).$(FileExt)
# SessionPath				full path of the current session
# CurrentSelection			value of the currently selected text
# CurrentWord				value of word which the caret is within or near
# Replacements				number of replacements made by last Replace command
# SelectionStartColumn			column where selection starts
# SelectionStartLine			line where selection starts
# SelectionEndColumn			column where selection ends
# SelectionEndLine			line where selection ends
# CurrentMessage			most recently selected output pane message
# SciteDefaultHome			directory in which the Global Options file is found
# SciteUserHome				directory in which the User Options file is found

#   Some properties are only available on Windows and GTK

# position.left
# position.top
# position.width
# position.height
#  --- Description  
#  Set the initial window size and position. If these are omitted then the
#  environment's defaults are used. If the width or height are -1 then the window
#  is maximised.

# position.tile
#  --- Description  
#  If there is another copy of SciTE open, set the initial window position to be
#  with the left side at position.left + position.width so that most of the time
#  you can see both copies at once without overlap.
#  Works nicely if position.left set to 0 and position.width set to half of the
#  screen width.

# buffers
#  --- Description  
#  Set to a number between 1 and 100 to configure that many buffers.
#  Values outside this range are clamped to be within the range.
#  The default is 1 which turns off UI features concerned with buffers.
#  This value is read only once, early in the startup process and only from the
#  global properties files. So after changing it, restart SciTE to see the effect.

# are.you.sure
# are.you.sure.for.build
#  --- Description  
#  The classic GUI question. Normally, when SciTE is about to close a file which has unsaved
#  edits it asks this annoying question. To turn off the question, set are.you.sure to 0 and
#  files will be automatically saved without bothering the user. To abandon edits to a file
#  use the New command. New always asks "Are you sure?" giving an opportunity to not save
#  the file.
#  When running or building a file, its most likely that you want the file to be saved
#  first. To enable a confirmation dialog for performing commands in the Tools menu, set
#  are.you.sure.for.build=1.


# save.all.for.build
#  --- Description  
#  SciTE normally saves the current buffer when performing a Compile, Build, or Go
#  command. To save all buffers set save.all.for.build=1

# view.whitespace
# view.indentation.whitespace
#
#  --- Description  
#  Setting view.whitespace to 1 makes SciTE start up with whitespace visible.
#  Setting view.indentation.whitespace to 0 hides visible whitespace inside indentation.

# whitespace.fore
# whitespace.back

#  --- Description  
#  Sets the colours used for displaying all visible whitespace, overriding any styling
#  applied by the lexer.

# view.indentation.guides
# highlight.indentation.guides
#  --- Description  
#  Setting view.indentation.guides to 1 displays dotted vertical lines within indentation white
#  space every indent.size columns.
#  Setting highlight.indentation.guides to 1 highlights the indentation guide associated with a
#  brace when that brace is highlighted.

# view.eol
#  --- Description  
#  Setting this to 1 makes SciTE display the characters that make up line ends. This looks
#  similar to (CR), (LF), or (CR)(LF). This is useful when using files created on another
#  operating system with software that is picky about line ends.

# eol.mode
#  --- Description  
#  The default EOL mode (characters that make up line ends)
#  depends on your platform.
#  You can overwrite this behaviour by setting the property to
#  
#  LF  for UNIX format
#  CR  for Macintosh format
#  CRLF for DOS/Windows format
#  As you see, Windows combines the best of the other worlds ;-)

# eol.auto
#  --- Description  
#  This setting overrides the eol.mode value and chooses the end of
#  line character sequence based on the current contents of the file
#  when it is opened. The line ending used the most in the file is chosen.

# blank.margin.left
# blank.margin.right
#  --- Description  
#  There is a blank margin on both sides of the text. It is drawn in the background colour
#  of default text. This defaults to one pixel for both left and right sides but may be
#  altered with these settings.

# margin.width
#  --- Description  
#  Setting this to a number makes SciTE display a selection margin to the left of the text.
#  The value is the number of pixels wide the selection margin should be. Line markers are
#  displayed in the selection margin area.

# fold.margin.colour
# fold.margin.highlight.colour
#  --- Description  
#  These two properties defined the fold margin colour and fold
#  margin highlight colour.  If they are not defined (left commented out) the colours for the
#  fold margin will default to a reasonable pair of colours.
#  On Windows, the system colours are used to make the fold margin appear like the background
#  of scroll bars. As an example, with fold.margin.colour=#FF0000 and
#  fold.margin.highlight.colour=#0000FF, the fold margin is a mixture of red
#  and blue.

# full.screen.hides.menu
#  --- Description  
#  Setting this to 1 hides the menu bar when the Full Screen command is used on
#  Windows.
#  On GTK+ the menu is always visible.

# minimize.to.tray
#  --- Description  
#  Setting this to 1 minimizes SciTE to the system tray rather than to the task bar.

# line.margin.visible
# line.margin.width
#  --- Description  
#  SciTE is able to display a column of line numbers to the left of the selection
#  margin.  Setting line.margin.visible to 1 makes this column visible at startup.
#  The line.margin.width property controls how much space is reserved for the line
#  numbers, in terms of the number of digits that can be displayed.  To specify that
#  the margin should expand if needed to accomodate larger line numbers, add a '+'
#  after the number of digits, e.g. line.margin.width=3+.
#  These properties replace the old line.numbers property, which
#  was overloaded to perform both of the actions described above.  The
#  line.numbers property is no longer available.

# tabbar.visible
# tabbar.hide.one
#  --- Description  
#  Setting tabbar.visible to 1 makes the tab bar visible at start up on Windows.
#  The buffers property must be set to a value greater than 1 for this option to work.
#  Setting tabbar.hide.one to 1 hides the tab bar until there is more than one tab.
#  Works on Windows and GTK+ 2.x but not GTK+ 1.x.

# tabbar.multiline
#  --- Description  
#  Setting tabbar.multiline uses multiple lines for the tab bar

# toolbar.visible
#  --- Description  
#  Setting this to 1 makes the tool bar visible at start up.

# toolbar.detachable
#  --- Description  
#  Setting this to 1 makes the tool bar detachable from the main window.

# toolbar.usestockicons
#  --- Description  
#  SciTE has a built-in icon set for the toolbar, setting this to 1 makes
#  SciTE more integrated in the GNOME desktop by using the icons
#  provided by the current theme used in GNOME.

# menubar.detachable
#  --- Description  
# Setting this to 1 makes the menu bar detachable from the main window.

# undo.redo.lazy
#  --- Description  
#  Setting this to 1 changes the technique used to determine when to enable or disable
#  tool bar buttons to be less accurate. This may improve performance on slow machines.

statusbar.visible=1
#  --- Description  
#  Setting this to 1 makes the status bar visible at start up.

# statusbar.number
# statusbar.text.number
#  --- Description  
#  The statusbar.text.1 option defines the information displayed in the status bar
#  by default on all platforms.
#  Property values may be used in this text using the $() syntax.
#  Commonly used properties are: ReadOnly, EOLMode, BufferLength,
#  NbOfLines (in buffer), SelLength (chars), SelHeight (lines).
#  Extra properties defined for the status bar are LineNumber, ColumnNumber, and
#  OverType which is either "OVR" or "INS" depending on the overtype status.
#  You can also use file properties, which, unlike those above, are not updated
#  on each keystroke: FileName or FileNameExt, FileDate and FileTime and
#  FileAttr. Plus CurrentDate and CurrentTime.
#  On Windows only, further texts may be set as statusbar.text.2 .. and these may be
#  cycled between by clicking the status bar.
#  The statusbar.number option defines how many texts are to be cycled through.

# use.palette
#  --- Description  
#  Setting this to 1 makes SciTE use a palette to enable it to display more colours on 8 bit
#  displays. Without this option SciTE will only display with colours already available
#  which is normally the 20 colour Windows system palette. The downside of turning on this
#  option is that there will be some flashing as windows are activated. This option has no
#  effect on GTK+ where a palette is always used.

# buffered.draw
#  --- Description  
#  Setting this to 0 rather than the default 1 makes SciTE draw output directly to the
#  screen rather than into a buffer bitmap first and then to the screen. Buffered drawing
#  flickers less but is slower.

# two.phase.draw
#  --- Description  
#  Two phase drawing is a better but slower way of drawing text.
#  In single phase drawing each run of characters in one style is drawn along with
#  its background.
#  If a character overhangs the end of a run, such as in "V_" where the
#  "V" is in a different style from the "_", then this can cause the right hand
#  side of the "V" to be overdrawn by the background of the "_" which
#  cuts it off. Two phase drawing
#  fixes this by drawing all the backgrounds first and then drawing the text in
#  transparent mode. Two phase drawing may flicker more than single phase
#  unless buffered drawing is on. The default is for drawing to be two phase.

# load.on.activate
# save.on.deactivate
#  --- Description  
#  The load.on.activate property causes SciTE to check whether the current file has been
#  updated by another process whenever it is activated. This is useful when another editor
#  such as a WYSIWYG HTML editor, is being used in conjunction with SciTE.
#  The save.on.deactivate property causes SciTE to save the file whenever the SciTE
#  application loses focus. This is useful when developing web pages and you want to often
#  check the appearance of the page in a browser.

# are.you.sure.on.reload
#  --- Description  
#  When both this and load.on.activate are set to 1, SciTE will ask if you really want to
#  reload the modified file, giving you the chance to keep the file as it is. By default this
#  property is disabled, causing SciTE to reload the file without bothering you.

# reload.preserves.undo
#  --- Description  
#  When set to 1, reloading a file does not delete all the undo history. This is useful
#  when load.on.activate is used in conjunction with filter commands.

check.if.already.open=1
#  --- Description  
#  When this option is set and SciTE is started, it checks to see if
#  there are any other instances of SciTE open. If there is, another
#  instance is activated and this one exits.
#  An arbitrary instance is chosen and asked to open the
#  command line argument.

# read.only
#  --- Description  
#  When this option is set then opened documents are initially read only.
#  New files are not affected by this setting.

# quit.on.close.last=0
#  --- Description  
#  If this option is set, SciTE will close when its last buffer has been
#  closed, e.g. with File/Close.  (By default, if this option is not set,
#  SciTE will remain open and will create a new blank document when its
#  last buffer is closed.)

# selection.fore
# selection.back
#  --- Description  
#  Sets the colours used for displaying selected text. If one of these is not set then that
#  attribute is not changed for the selection. The default is to show the selection by
#  changing the background to light grey and leaving the foreground the same as when it was
#  not selected.

# caret.fore
#  --- Description  
#  Sets the colour used for the caret.

# caret.line.back
#  --- Description  
#  Sets the background colour used for line containing the caret.

# caret.period
#  --- Description  
#  Sets the rate at which the caret blinks. The value is the time in milliseconds that the
#  caret is visible before it is switched to invisible. It then stays invisible for the same
#  period before appearing again. A value of 0 stops the caret from blinking.

# caret.width
#  --- Description  
#  Sets the width of the caret in pixels. Only values of 1, 2, or 3 work.

# caret.policy.xslop
# caret.policy.width
# caret.policy.xstrict
# caret.policy.xeven
# caret.policy.xjumps
# caret.policy.yslop
# caret.policy.lines
# caret.policy.ystrict
# caret.policy.yeven
# caret.policy.yjumps
#  --- Description  
#  If slop is set, we can define a slop value: width for xslop, lines for yslop.
#  This value defines an unwanted zone (UZ) where the caret is... unwanted.
#  This zone is defined as a number of pixels near the vertical margins,
#  and as a number of lines near the horizontal margins.
#  By keeping the caret away from the edges, it is seen within its context,
#  so it is likely that the identifier that the caret is on can be completely seen,
#  and that the current line is seen with some of the lines following it which are
#  often dependent on that line.
#  If strict is set, the policy is enforced... strictly.
#  The caret is centred on the display if slop is not set,
#  and cannot go in the UZ if slop is set.
#  If jumps is set, the display is moved more energetically
#  so the caret can move in the same direction longer before the policy is applied again.
#  '3UZ' notation is used to indicate three time the size of the UZ as a distance to the margin.
#  If even is not set, instead of having symmetrical UZs,
#  the left and bottom UZs are extended up to right and top UZs respectively.
#  This way, we favour the displaying of useful information: the begining of lines,
#  where most code reside, and the lines after the caret, eg. the body of a function.
#  See the table below to see how these settings interact.
#  Default: xslop, yslop, xeven, yeven=1, width=50, all others = 0.

# visible.policy.strict
# visible.policy.slop
# visible.policy.lines
#  --- Description  
#  Determines how the display area is determined after a Go to command or
  equivalent such as a Find or Next Message. Options are similar to caret.policy.*.

# edge.mode
# edge.column
# edge.colour
#  --- Description  
#  Indicates long lines. The default edge.mode, 0, does not indicate long lines. An
#  edge.mode of 1 uses a vertical line to indicate the specified column and an edge.mode of
#  2 changes the background colour of characters beyond that column. For proportional fonts,
#  an edge.mode of 2 is more useful than 1.

# control.char.symbol
#  --- Description  
#  Sets the character to use to indicate control characters. If
#  not set, control characters are shown as mnemonics.

# error.marker.fore
# error.marker.back
#  --- Description  
#  The colours used to indicate error and warning lines in both the edit and output panes
#  are set with these two values.
#  If there is a margin on a pane then a symbol is displayed in the margin to indicate
#  the error message for the output pane or the line causing the error message for the edit pane.
#  The error.marker.back is used as the fill colour of the symbol and the error.marker.fore
#  as the outline colour. If there is no margin then the background to the line is set to the
#  error.marker.back colour.

# error.select.line
#  --- Description  
#  When a command execution produces error messages, and you step with F4 key through
#  the matching source lines, this option selects the line where the error occurs.
#  Most useful if the error message contains the column of error too as the selection will
#  start at the column of the error. The error message must contain the column and must be
#  understood by SciTE (currently only supported for HTML Tidy). The tab size assumed by
#  the external tool must match the tab size of your source file for correct column reporting.

# openpath.filepattern
#  --- Description  
#  Defines a path for the Open Selected Filename command in the File
#  menu. The path is searched if the selected filename doesn't contain an
#  absolute path or the file is not found in the document directory. The
#  directories in openpath are separated by ';' on Windows and ':' on GTK+.
#  An openpath setting may look like:
#  openpath.*.txt=c:\dos\;f:\;
#  openpath.$(file.patterns.cpp)=$(cpp_includes)

# open.suffix.filepattern
#  --- Description  
#  Defines a suffix to add to the selected file name for the
#  Open Selected Filename command in the File menu.
#  This is used in languages where the suffix is not given when accessing a file.
#  An example is python where "import xlib" will most often mean to import from
#  a file called "xlib.py".
#  An open.suffix setting may look like:
#  opensuffix.*.py=.py

# strip.trailing.spaces
#  --- Description  
#  Strips trailing white spaces from the file while saving.

# ensure.final.line.end
#  --- Description  
#  Ensures file ends with a line end when saved.

# ensure.consistent.line.ends
#  --- Description  
#  Ensures all lines end with the current Line End Characters setting when saved.

# api.filepattern
#  --- Description  
#  Loads a set of API files for a particular language.
#  If there is more than one API file then the file names are separated by ';'.
#  API files contain a sorted list of
#  identifiers and function prototypes, one per line. The "Complete Symbol" command
#  looks at the characters before the caret and displayed the subset of the API file
#  starting with that string. When an opening brace is typed, the file is searched for the
#  text preceding the caret and if a function prototype is found then it is displayed as a
#  calltip.
#  For example, the setting 
#  api.*.c=w.api
#
#  could be used with a w.api file containing 
#  fclose(FILE* fileClose)
#  FILE
#  fopen(const char* szFileName, const char* szMode)
#  fpos_t
#  fread(void* buf, size_t size, size_t count, FILE* file)
#  fseek(FILE* file, long lnOffset, int nOrigin)
#  to provide autocompletion and calltips for some of the C file functions. It is best to
#  use the full path to the API file as otherwise the current directory is used.
#  See the Creating API files section for ways to create API files.

# autocomplete.choose.single
#  --- Description  
#  When set to 1 and an autocompletion list is invoked and there is only one element
#  in that list then that element is automatically chosen. This means that the matched
#  element is inserted and the list is not displayed.

# autocomplete.lexer.ignorecase
# autocomplete.*.ignorecase
#  --- Description  
#  When set to 1 the API file is searched in a case insensitive way to find elements
#  for autocompletion lists. Otherwise matches only occur if case also matches.
#  The * form is used if there is no lexer specific setting.

# autocomplete.lexer.start.characters
# autocomplete.*.start.characters
#  --- Description  
#  If this setting is not empty, typing any of the characters will cause
#  autocompletion to start. For example, if
#  autocomplete.python.start.characters=. and the API file for Python
#  contains "string.rjust" and "string.replace" then typing "string." will
#  cause the autocompletion to display both identifiers.
#  The * form is used if there is no lexer specific setting.

# autocomplete.lexer.fillups
# autocomplete.*.fillups
#  --- Description  
#  If this setting is not empty, typing any of the characters will cause
#  autocompletion to complete.
#  For example, if
#  autocomplete.python.fillups=( and the API file for Python
#  contains "string.replace" then typing "string.r(" will
#  cause "string.replace(" to be inserted.
#  The * form is used if there is no lexer specific setting.

# autocompleteword.automatic
#  --- Description  
#  If this setting is 1 then when typing a word, if only one word in the document
#  starts with that string then an autocompletion list is displayed with that word so it
#  can be chosen by pressing Tab.

# calltip.lexer.ignorecase
# calltip.*.ignorecase
#  --- Description  
#  When set to 1 the API file is searched in a case insensitive way to find the function
#  which will have its signature displayed as a calltip. The * form is use if there
#  is no lexer specific setting.

# calltip.lexer.word.characters
# calltip.*.word.characters
#  --- Description  
#  To determine the identifier to look up for calltips, a search is performed
#  allowing the characters in this set to be included in the identifier.
#  While the same setting can be used as for word.characters, sometimes
#  additional characters may be allowed.
#  For example, in Python, '.' is not normally considered part of a word
#  when selecting text, but it is good to allow "string.replace" to show a
#  calltip so calltip.python.word.characters=._$(chars.alpha) would be a
#  reasonable setting.
#  The * form is used if there is no lexer specific setting.

# calltip.lexer.parameters.start
# calltip.lexer.parameters.end
# calltip.lexer.parameters.separators
# calltip.*.parameters.start
# calltip.*.parameters.end
# calltip.*.parameters.separators
#  --- Description  
#  Allows you to specify characters which start, end and separate
#  parameters. For most common languages, it's usually left brace for
#  start, right brace for end and comma or semicolon for separator.
#  E.g. CSS has colon for start, space for separator and nothing for
#  end. You can specify more characters for each property.
#  The * form is used if there is no lexer specific setting.

# calltip.lexer.end.definition
# calltip.*.end.definition
#  --- Description  
#  API files may contain explanatory text after each function definition.
#  To display the explanation on a second line, set this property to the character used at the
#  end of the definition part. For most languages, this is ')'.
#  The * form is used if there is no lexer specific setting.

# calltip.back
#  --- Description  
#  Sets the colour used for the background of any calltips. The default is white.

# xml.auto.close.tags
#  --- Description  
#  For XML and HTML, setting this property to 1 will automatically insert the
#  corresponding end tag when '>' is typed to end a start tag.
#  Type "<td>" and the result will be "<td></td>" with the caret
#  placed between the tags.

# html.tags.case.sensitive
#  --- Description  
#  For XML and HTML, setting this property to 1 will make tags match in a case sensitive
#  way which is the expected behaviour for XML and XHTML.

# asp.default.language
#  --- Description  
#  Script in ASP code is initially assumed to be in JavaScript.
#  To change this to VBScript set asp.default.language to 2. Python is 3.

# sql.backslash.escapes
#  --- Description  
#  Enables backslash as an escape character in SQL.

# styling.within.preprocessor
#  --- Description  
#  For C++ code, determines whether all preprocessor code is styled in the preprocessor
#  style (0, the default) or only from the initial # to the end of the command word(1).

# tab.timmy.whinge.level
#  --- Description  
#  For Python code, checks whether indenting is consistent. The default, 0 turns off
#  indentation checking, 1 checks whether each line is potentially inconsistent  with the
#  previous line, 2 checks whether any space characters occur before a tab character
#  in the indentation, 3 checks whether any spaces are in the indentation, and 4 checks
#  for any tab characters in the indentation. 
#  1 is a good level to use.

# user.shortcuts
#  --- Description  
#  Define keys that perform commands.
#  This is a '|' delimited list of keys and the commands they produce.
#  The commands are either string or numeric IDs.
#  Numeric IDs above 2000 are Scintilla commands and are sent to the focussed pane.
#  Named IDs and numeric IDs below 2000 are SciTE menu commands which can be
#  found in from scite/src/SciTE.h.
#  The modifiers are Ctrl, Shift, and Alt and the named keys are Left,
#  Right, Up, Down, Insert, End, Home, Enter, Space, KeypadPlus, KeypadMinus,
#  Escape, Delete, PageUp, PageDown, Slash, Question, Equal.
#  
#
#  user.shortcuts=\
#  Ctrl+Shift+I|IDM_OPEN|\
#  Ctrl+Shift+Left|IDM_CLOSE|
#

# user.context.menu
#  --- Description  
#  Define additional commands for the context menu.
#  This is a '|' delimited list of menu items and the commands they
#  produce with commands defined as in user.shortcuts. An empty
#  item produces a separator.
#  user.context.menu=\
#  ||\
#  Next File|IDM_NEXTFILE|\
#  Prev File|IDM_PREVFILE|
#

# magnification
# output.magnification
#  --- Description  
#  Sets the initial magnification factor of the edit and output panes. This is useful
#  when you want to change the size of text globally, such as after changing the
#  screen resolution without having to touch every style setting. 0 is default,
#  negative values makes the size smaller and positive values make it larger.

# split.vertical
# output.horizontal.size
# output.vertical.size
#  --- Description  
#  If split.vertical is set to 1 then the output pane is to the right of the editing pane,
#  if set to 0 then the output pane is below the editing pane.
#  The output.*.size settings determine the initial size of the output pane.

# clear.before.execute
#
#  --- Description  
#  If set to 1 then the output pane is cleared before any tool commands are run.

# horizontal.scrollbar
# horizontal.scroll.width
# output.horizontal.scrollbar
# output.horizontal.scroll.width
# output.scroll
# end.at.last.line
#  --- Description  
#  If horizontal.scrollbar set to 0 then the edit pane's horizontal scrollbar is not displayed.
#  horizontal.scroll.width is the document width assumed for scrolling.
#  Similarly, output.horizontal.scrollbar and output.horizontal.scroll.width controls the
#  horizontal scroll bar of the output pane.
#  To stop the output pane from automatically scrolling, set output.scroll to 0.
#  To have the output pane scroll and return back to the line of the executed command,
#  set output.scroll to 1. If you want the output pane to scroll and remain at
#  the bottom after execution, set output.scroll to 2.
#  The vertical scroll range is normally set so that maximum scroll position has
#  the last line at the bottom of the view. Set end.at.last.line to 0 to allow
#  scrolling one page below the last line.

# wrap
# output.wrap
#  --- Description  
#  If wrap set to 1 then the edit pane is dynamically line wrapped.
#  If output.wrap set to 1 then the output pane is dynamically line wrapped.
#  These options have a high performance cost which is proportional to the amount of text
#  so should be turned off for large documents on slow machines.

# wrap.style
#  --- Description  
#  Chooses between word wrapping (1, the default) and character wrapping (2).
#  Character wrapping is a better choice for Asian languages with no spaces
#  between words.

# wrap.visual.flags
#  --- Description  
#  Flags to display markers at end and begin of wrapped lines for visual identify them.
#  Set to 0 to not display markers (default). Set to 1 to display markers at end of
#  wrapped lines, to 2 to display markers at begin of wrapped lines and to 3 to
#  display markers at begin and end.

# wrap.visual.flags.location
#  --- Description  
#  Flags to set the location of the display markers (if enabled) near to text or near to border.
#  Set to 0 to have begin and end markers near to border (default). Set to 1 to
#  have end markers near text, to 2 to have begin markers near text and
#  to 3 to have all markers near text.

# wrap.visual.startindent
#  --- Description  
#  Sets the indention of continued wrapped lines to better visually identify the wrapping.
#  Default is 0 (no indention). Note if wrap.visual.flags is 2 or 3 (begin marker displayed)
#  the line is indented at least 1, even if wrap.visual.startindent is still 0.

# wrap.aware.home.end.keys
#  --- Description  
#  This property changes the behavior of the home and end keys when dynamic
#  line wrapping is turned on.  When set to 0 (the default), the Home and End
#  keys will move the caret to the very beginning / end of the 'logical'
#  line, whether or not the line is wrapped over multiple lines in the display.
#  When this property is set to 1, the caret moves to the end of the current
#  'display' line if you press End once, or to the very end of the 'logical'
#  line if you press End again.  Likewise, the Home key moves first to the
#  beginning of the 'display' line, then on to the very beginning of the line.
#  In a pane where dynamic line-wrapping is not enabled, this setting has no
#  effect.

# cache.layout
# output.cache.layout
#  --- Description  
#  A large proportion of the time spent in the editor is used to lay out text prior
#  to drawing it. This information often stays static between repaints so can
#  be cached with these settings. There are four levels of caching. 0 is no caching,
#  1 caches the line that the caret is on, 2 caches the visible page as well as the caret,
#  and 3 caches the whole document. The more that is cached, the greater the
#  amount of memory used, with 3 using large amounts of memory, 7 times the
#  size of the text in the document. However,
#  level 3 dramatically speeds up dynamic wrapping by around 25 times on large
#  source files so is a very good option to use when wrapping is turned on and
#  memory is plentiful.

# open.filter
#  --- Description  
#  This is a complex expression used for determining the file types that will be available in
#  the open file dialog. For each type of file, there is some explanatory text, a '|'
#  character, some file patterns, and another '|' character. In the distributed
#  SciTEGlobal.properties file, the line continuation character '\', is used to spread these
#  items out, one per line. These file types appear in the "Files of type:" pull down. The
#  first item is the default, so you may wish to change the first item to include the file
#  types you commonly open.
#  On GTK+, this option only works for GTK+ 2.4 or later.

# max.file.size
#  --- Description  
#  To avoid to load accidently huge files on slow media, or just to ensure SciTE is used
#  only to edit human readable code, user can set the max.file.size property to specify
#  a limit to file loading.
#  If unset or set to 0, there is no limits.
#  If set to a given byte size and if a file to load exceeds this limit, user is asked
#  if the file has to be loaded. If accepted, the file is read as usual. If rejected, no
#  action is taken (no file loaded, no buffer created).

# save.deletes.first
#  --- Description  
#  Causes files to be deleted before being opened for saving. Can be used on Windows
#  to ensure saving under a different capitalisation changes the files capitalisation rather
#  than silently using the old capitalisation.

save.recent=1
save.session=1
#  --- Description  
#  Setting save.recent causes the most recently used files list to be
#  saved on exit and
#  reloaded at start up. This list is kept in a file called "SciTE.recent" on
#  Windows and ".SciTE.recent" on GTK+ and is located in the directory
#  given by the SciTE_HOME environment variable and if that is not
#  set, the value of the HOME environment variable and if that is not
#  set the top level directory on GTK+ and the directory of the SciTE
#  executable on Windows.
#  If you set "save.session=1", current session
#  will be automatically saved to a file "SciTE.ses" on Windows and
#  ".SciTE.ses" on GTK+ located at the same
#  place as "SciTE.recent" file. When you start SciTE next time the last
#  session will be automatically loaded.

open.dialog.in.file.directory=1
#  --- Description  
#  Setting open.dialog.in.file.directory causes the open dialog to initially
#  display the same directory as the current file. If it is not set then the
#  system default is used which on Windows 2000 is the last directory
#  visited by the open dialog in any instance of SciTE. This is hard
#  to use with multiple instances of SciTE. 
#  Some versions of GTK+ may also set an unexpected directory.

# find.replace.matchcase
# find.replace.regexp
# find.replace.wrap
# find.replace.escapes
# find.replacewith.focus
#  --- Description  
#  These properties define the initial conditions for find and replace commands.
#  The find.replace.matchcase property turns of the "Match case" option,
#  find.replace.regexp the "Regular expression" option,
#  find.replace.wrap the "Wrap around" option and
#  find.replace.escapes the "Transform backslash expressions" option.
#  If the find.replacewith.focus property is set, the Replace With input box is focused in Replace dialog if Find What is non-empty.

# find.replace.regexp.posix
#  --- Description  
#  Change behavior of Regular expression search.
#  If set to 0 (the default), characters '(' and ')' must be escaped by '\' to behave as regexp meta characters.
#  If set to 1, these characters are meta characters itself.

# find.replace.advanced
#
#  --- Description  
# Enables Replace in Buffers command and Search only in this style checkbox.
# If enabled, searches can be restricted to a particular style (e.g. strings).

# find.command
#  --- Description  
#  The Find in Files command works in a similar way to the building commands executing a
#  command line tool with output redirected to the output pane. If the command produces
#  output understood by one of the error output passes, as does grep, then the F4 and
#  Shift+F4 keys can be used to move through all the matches. The $(find.what),
#  $(find.files), and $(find.directory) variables can be used for the values from the
#  Find in Files dialog.
#  There are some scripts that implement this feature in Perl better than grep does
#  itself
#  http://jenda.krynicky.cz/#SciteFind" and
#  http://www.forusers.com/forme/finder.zip".
#  This command line works with Cygwin on Windows, with modifications to suit
#  the Cygwin installation directory:
#  find.command=cmd /c c:\cygwin\bin\find "$(find.directory)"
#  -name "$(find.files)" -print0 |
#  c:\cygwin\bin\xargs -0 fgrep -G -n "$(find.what)"
#
#  On Windows, the find string can be given to the find command through
#  its standard input stream to avoid problems with quote interpretation.
#  To do this, specify find.input to be the search string, $(find.what).
#  
#  If find.command is empty then SciTE's own search code is used. This only does a 
#  simple case sensitive search and is faster than running an external program.

# find.files
#  --- Description  
#  This is the default set of files to search through using the Find in Files command.
#  The find.files property can contain a list of sets of files separated by '|' like
#  "*.cxx *.h|*.py *.pyw|*.html" which adds three entries to the history and
#  uses the first as the default value.
#  The evaluation of this setting is a little unusual in that each entry in the value
#  from the property files is appended to the end of the history if that entry is
#  not already present. This means that opening files from different directories
#  will result in any local setting of find.files being added to the list.

find.in.files.close.on.find=0
#  --- Description  
#  Set to 0 to prevent the Find in Files dialog from closing when "Find" pressed.

# code.page
# output.code.page
#  --- Description  
#  To support a DBCS language such as Japanese, a code page can be set here. This ensures
#  that double byte characters are always treated as a unit so the caret is never located
#  between the two bytes of a double byte character. On Windows, settings that may work include
#  932 (Japanese Shift-JIS), 936 (Simplified Chinese GBK), 949 (Korean), and 950 (Traditional Chinese
#  Big5).
#  This option can only be 0 or 65001 on GTK+
#  where SciTE only supports single byte character sets and Unicode.
#  Setting code.page to 65001 starts Unicode mode and the document is treated as
#  a sequence of characters expressed as UTF-8. Display is performed by converting to the
#  platform's normal Unicode encoding first so characters from any language will be displayed.
#  Correct glyphs will only be displayed if fonts are chosen that contain the appropriate glyphs.
#  Tahoma is a good choice on Windows 2000. 
#  For GTK+, the locale should be set to a Unicode locale by setting the LC_CTYPE
#  property. For an English machine this can be
#
#  LC_CTYPE=en_US.UTF-8
#
#  Fonts with an "iso10646" registry should be used in a font set.
#  Font sets are a '|' separated list of partial
#  font specifications where each partial font specification can be in the form of
#  foundry-fontface-charsetregistry-encoding *OR*
#  fontface-charsetregistry-encoding *OR*
#  foundry-fontface *OR*
#  fontface. An example is "misc-fixed-iso10646-1|*".
#  If output.code.page is set then it is used for the output pane which otherwise
#  matches the edit pane.

# character.set
#  --- Description  
#  This setting allows changing the character set that is asked for when setting up fonts.
#  To use Japanese characters, set character.set to 128. 
#  Other values that may work include Chinese (GB2312=134 or BIG5=136),
#  Korean (129), Greek (161),
#  Eastern European (238), Baltic (186),
#  Turkish (162), Hebrew (177), Arabic (178), or Thai (222).
#  All of these values may work on Windows, but on GTK+ Baltic, Turkish, Thai and Vietnamese
#  will probably not work.
#  To use Cyrillic characters on Windows, set character.set=204 (CP1251 
#  encoding). To use Cyrillic characters on GTK+, set character.set=204 (KOI8-R 
#  encoding) or character.set=1251 (CP1251 encoding).
#  Please send email if you use one of these settings and it works or doesn't or if you
#  have information on how to support other languages.

# comment.block.lexer
# comment.block.at.line.start.lexer
# comment.stream.start.lexer
# comment.stream.end.lexer
# comment.box.start.lexer
# comment.box.middle.lexer
# comment.box.end.lexer
#  --- Description  
#  These settings are for the comment commands in the Edit menu and are
#  defined separately for each lexer. Not all languages support
#  both stream and block comments.
#  Block comments are comments that start with a particular string and
#  continue until the end of line.
#  The comment.block property sets the string to be inserted or deleted
#  at the start of the selected lines when the Block Comment or Uncomment
#  command is performed. To make this command perform sensibly over
#  a range of text that already contains comments and other code, the string
#  can be defined to contain a character such as '~' that is not used in real
#  comments.
#  Set comment.block.at.line.start to "1" to place block comment symbols
#  at the start of the lines, instead of just before the first non-blank
#  character of the lines.
#  Stream comments start with a particular string and end with another
#  particular string and may continue over line ends. These are defined
#  with comment.stream.start and comment.stream.end. 
#  Box comments are a form of stream comment that takes several lines
#  and uses different strings for the start, end and other lines in the range.
#  These are defined with comment.box.start,
#  comment.box.middle and comment.stream.end.

# preprocessor.symbol.filepattern
# preprocessor.start.filepattern
# preprocessor.middle.filepattern
# preprocessor.end.filepattern
#  --- Description  
#  These settings make the preprocessor conditional movement and selection commands work.
#  The character that defines preprocessor lines is defined by preprocessor.symbol.
#  The preprocessor keywords that make up the start (if), middle (else), and end (endif)
#  of preprocessor conditionals are defined by the other three properties.
#  There may be multiple values for each of these, as, for example, C uses "if", "ifdef",
#  and "ifndef" to begin preprocessor conditionals.

# lexer.filepattern
#  --- Description  
#  A lexer splits a file up into syntactic pieces. SciTE can then display these pieces in
#  different visual styles. Several lexers are available in SciTE for some of the popular
#  programming languages such as Python, Java, C/C++, JavaScript and VB. Often several file
#  extensions (.cpp, .cc, .h) can map to one language (C++) and hence one lexer. These
#  settings associate a file name with a lexer.

# lexerpath.filepattern
#  Specifies the path to an external lexer module that will be loaded into Scintilla.
 
# keywords.filepattern
# keywords2.filepattern
# keywords3.filepattern
# keywords4.filepattern
# keywords5.filepattern
# keywords6.filepattern
# keywords7.filepattern
# keywords8.filepattern
# keywords9.filepattern
# keywordclass.lexer
#  --- Description  
#  Most of the lexers differentiate between names and keywords and use the keywords
#  variables to do so. To avoid repeating the keyword list for each file extension, where
#  several file extensions are used for one language, a keywordclass variable is defined in
#  the distributed properties file although this is just a convention. Some lexers define a
#  second set of keywords which will be displayed in a different style to the first set of
#  keywords. This is used in the HTML lexer to display JavaScript keywords in a different
#  style to HTML tags and attributes.
#  Keywords can be prefix based so ^GTK_ will treat all words that start
#  with GTK_ as keywords.

default.file.ext=.txt
#  --- Description  
#  Defines the language mode used before the file has a name. For example, if
#  default.file.ext=.py, then when the New command is used to create a new file then Python
#  syntax styling is used.

# word.characters.filepattern
#  --- Description  
#  Defines which characters can be parts of words. The default value here is all the
#  alphabetic and numeric characters and the underscore which is a reasonable value for
#  languages such as C++.

# whitespace.characters.filepattern
#  --- Description  
#  Defines which characters are considered whitespace. The default value is that initially set up
#  by Scintilla, which is space and all chars less than 0x20.  Setting this property allows you to
#  force Scintilla to consider other characters as whitespace (e.g. punctuation) during such activities
#  as cursor navigation (ctrl+left/right).

# style.*.stylenumber
# style.lexer.stylenumber
#  --- Description  
#  The lexers determine a style number for each lexical type, such as keyword, comment or
#  number. These settings determine the visual style to be used for each style number of
#  each lexer.
#  The value of each setting is a set of ',' separated fields, some of which have a
#  subvalue after a ':'. The fields are font, size, fore, back, italics, notitalics, bold,
#  notbold, eolfilled, noteolfilled, underlined, notunderlined, and case.
#  The font field has a subvalue which is the name of
#  the font, the fore and back have colour subvalues, the size field has a numeric size
#  subvalue, the case field has a subvalue of 'm', 'u', or 'l' for mixed, upper or lower case,
#  and the bold, italics and eolfilled fields have no subvalue. The value
#  "fore:#FF0000,font:Courier,size:14" represents 14 point, red Courier text.
#  A global style can be set up using style.*.stylenumber. Any style options set in
#  the global style will be inherited by each lexer style unless overridden.
#  On GTK+ 2, Pango anti-aliased fonts can be chosen by prefixing the font name with "!",
#  such as "font:!Sans".

# style.lexer.32
# style.lexer.33
# style.lexer.34
# style.lexer.35
# style.lexer.36
# style.lexer.37
#  --- Description  
#  As well as the styles generated by the lexer, there are other numbered styles used.
#  Style 32 is the default style and its features will be inherited by all other styles
#  unless overridden.
#  Style 33 is used to display line numbers in the margin.
#  Styles 34 and 35 are used to display matching and non-matching braces
#  respectively.
#  Style 36 is used for displaying control characters. This is not a full style as the
#  foreground and background colours for control characters are determined by their lexical
#  state rather than this style.
#  Style 37 is used for displaying indentation guides. Only the fore and back are used.
#  A * can be used instead of a lexer to indicate a global style setting.

# braces.check
# braces.sloppy
# style.lexer.34
# style.lexer.35
# braces.lexer.style
#  --- Description  
#  Brace highlighting is a feature that shows the range of a brace when the caret is
#  positioned immediately after it. It is especially useful when complex nested braces are
#  used. The characters '(', ')', '[', ']', '{', and '}' are considered braces. The feature
#  defaults to off (because it slows cursor movement) unless braces.check is set to 1. If
#  braces.sloppy is set to 1 then if there is no brace before the caret then the character
#  after the caret is checked. The highlighting is performed by displaying the braces in
#  style number 34 or in style number 35 if there is no matching brace. While this is a full
#  style, to avoid partial display of the braces, it is best to make this style differ from
#  the standard style of braces only in foreground and background colour. Only braces with
#  style set to braces.lexer.style (which defaults to 0) are candidates for brace
#  match highlighting.

# font.monospace
#  --- Description  
#  Defines, with the same syntax as the style properties,
#  the font name and size to be used when the Use Monospaced Font
#  command is performed.

# command.compile.filepattern
# command.compile.subsystem.filepattern
# command.build.filepattern
# command.build.subsystem.filepattern
# command.build.directory.filepattern
# command.go.filepattern
# command.go.subsystem.filepattern
#  --- Description  
#  These settings choose which commands to execute when the Compile, Build or Go menu items
#  are selected. The subsystem options determine for Windows whether the tools are run as
#  command line(0), windowed(1), through ShellExecute(2), or through the director interface(3).
#  When source files are in a different directory to that they should be built in, the
#  command.build.directory property can be set to change to a particular directory before performing
#  the build.

# command.go.needs.filepattern
# command.go.needs.subsystem.filepattern
#  --- Description  
#  Sometimes a file must be compiled or built before it can be run. If this is the case,
#  this setting indicates what command needs to be run to perform the compile or build step
#  before running the file. When a file is compiled, this is noted and future runs will not
#  perform a compile or build. To make a 'compile and go' Go command for .c files:
#
#  command.go.*.c=$(FileName)
#  command.go.needs.*.c=g++ $(FileNameExt) -o $(FileName)
#

# command.name.number.filepattern
# command.number.filepattern
# command.is.filter.number.filepattern
# command.subsystem.number.filepattern
# command.save.before.number.filepattern
# command.input.number.filepattern
# command.replace.selection.number.filepattern
# command.quiet.number.filepattern
# command.mode.number.filepattern
# command.shortcut.number.filepattern
#  --- Description  
#  Extra commands can be added to the Tools menu. For example to include the 'astyle'
#  indenter, the properties file could contain
#
#  command.name.0.*.cc=Indent
#  command.0.*.cc=astyle -taO $(FileNameExt)
#  command.is.filter.0.*.cc=1
#
#  The first line defines the string that will appear in the Tools menu (immediately below
#  'Go'. The second line is the command string, similar to those of the compile, build, and
#  go commands. The optional command.is.filter property states that the command modifies the
#  current file so it may need to be read in after performing the command if
#  load.on.activate is set.
#  The subsystem determines how the command is executed on Windows. 0, the default is for
#  command line programs, 1 for programs which create their own windows, 2 for running
#  by using ShellExecute, 3 for running in an internal extension or director extension,
#  4 for running HtmlHelp on Windows, and 5 for running WinHelp on Windows.
#  When using subsystem 4 or 5, the command has two parts separated by ! with the first
#  part being the topic to search for and the second the name of the help file.
#  If command.save.before is set to 1, SciTE automatically saves the file before execution.
#  If it is set to 2, SciTE will not save the file, otherwise SciTE asks you.
#  On Windows, the optional command.input property specifies text that will be piped
#  to the command.  This may reference other properties; for example,
#  command.input.0.*.cc=$(CurrentSelection)
#  would pipe the current selection to the command processes.
#  The command.input property is only supported for subsystem 0
#  (command line programs).
#  On Windows, the optional command.replace.selection can be used to specify that the
#  command output should replace the current selection (or be inserted at the cursor
#  location, if there is no selection).  This property has three available settings:
#  0, the default, means do not replace the selection.  1 means replace the selection
#  when the command finishes.  2 means replace the selection only if the command
#  finishes with an exit code of 0.  If the user cancels the command via "Tools / Stop
#  Executing", the selection will not be replaced even in mode 1.  Note, commands run
#  asynchronously, so you are not prevented from modifying the document or even
#  switching buffers while a command is running.  However, please bear in mind that
#  command.replace.selection will send the output to whatever window is active when
#  the command completes.
#  A final command property that is currently supported only on windows is command.quiet.
#  A value of 1 indicates that the command I/O should not be echoed to the output pane.
#  This may be useful in combination with command.input and command.replace.selection.
#  The command.mode property is a comma-separated list of flags / settings.  Each mode
#  setting can have an argument, separated from the setting name by a colon.  For
#  most of these, the argument portion is optional; if the setting name appears without
#  an argument, this works the same as "setting:yes".  If a setting is included in
#  the command.mode but also appears as a separate command property, the mode property
#  will be overridden.  Similarly, if a single setting appears more than once with
#  different arguments, the last valid argument takes priority.  The supported
#  command.mode settings are:
#  filter - accepts keyword arguments yes and no
#  quiet - accepts keyword arguments yes and no
#  replaceselection - accepts yes, no, and auto
#  savebefore - accepts yes, no, and prompt
#  subsystem - console, windows, shellexec, lua, director, winhelp, htmlhelp
#  groupundo - yes or no
#  Currently, all of these except groupundo are based on individual properties with
#  similar names, and so are not described separately here.  The groupundo setting
#  works with subsystem 3 (lua / director), and indicates that SciTE should treat any
#  changes made by the command as a single undo action.  A command that uses the
#  groupundo setting should not change which buffer is active in the editor.
#  The command.shortcut property allows you to specify a keyboard shortcut for the
#  command.  By default, commands 0 to 9 have keyboard shortcuts Ctrl+0 to Ctrl+9
#  respectively, but this can be overridden.  For commands numbered higher than 9,
#  there is no default keyboard shortcut.  The notation used to specify keyboard
#  shortcuts is the same as for the user.shortcuts property, described elsewhere
#  in this document.
#  If the text of a command starts with '*' then the Parameters dialog is displayed to
#  prompt for parameters before executing the command. The initial '*' is not included
#  in the command that is executed.
#  The command number can be in the range of 0 to 99. Command numbers 0 to 9 are
#  assigned Ctrl+Number shortcuts. Internally these commands use IDs starting from
#  1100 (IDM_TOOLS) which can be used in user.shortcuts and user.context.menu as:
#
#  user.context.menu=Indent|1100|
#

# command.help.filepattern
# command.help.subsystem.filepattern
#  --- Description  
#  Defines a command to be executed when the help command is
#  invoked or F1 pressed. On Windows, this often uses subsystem 4 as described above.
#  On Linux, running man or a browser are common ways of displaying help.
#  The word at the cursor is copied to $(CurrentWord) and this is often a good argument
#  to the help application. The subsystem property works in the same way as for other
#  commands.

# command.scite.help
# command.scite.help.subsystem
#  --- Description  
#  Defines a command to be executed for help on the SciTE program itself which normally
#  means displaying this file in a browser.

# command.print.filepattern
# command.print.subsystem.filepattern
#  --- Description  
#  Defines a command to be executed when print is invoked on GTK+.

# win95.death.delay
#  --- Description  
#  On Windows 95, there can be a delay between a process completing and all of its piped
#  output being available. By waiting this number of milliseconds, we can be sure to see all
#  the output. Defaults to 500 but may need to be higher for slower machines.

# time.commands
#  --- Description  
#  When a command is completed, print the time it took in seconds.

# print.magnification
#  --- Description  
#  Printing is normally done with the same settings as screen display.
#  To make the printing larger or smaller, the print.magnification
#  setting is added to the size of every font when printed. To get a
#  good miniaturisation of text, set print.magnification to -4.

# print.colour.mode
#  --- Description  
#  Some people prefer light coloured text on a black background on
#  screen but dark text on white on paper. If print.colour.mode is set
#  to 1 then each colour is inverted for printing. If set to 2 then
#  printing produces black text on white background. 3 forces the
#  background to white and 4 forces the default background to white.

# print.margins
#  --- Description  
#  Specify the default margins on the printer on Windows in left right top bottom order.
#  Units depends on your locale, either hundredths of millimetres or thousandths
#  of inches. You can see which units by the units used in the page setup dialog.
#  This property is only read at start up.

# print.header.format
# print.footer.format
#  --- Description  
#  These settings determine what will be printed if anything as headers and
#  footers. Property settings can be substituted into the values using the $(property)
#  syntax. There are some extra properties set up while printing:
#  CurrentPage, FileTime, FileDate, CurrentDate, and CurrentTime (at start of
#  printing).
#  Common properties to use in headers and footers are FileNameExt and FilePath.
#  A header setting may look like:
#
#  print.header.format=$(FileNameExt) - Printed on $(CurrentDate),$(CurrentTime) - Page $(CurrentPage)
#

# print.header.style
# print.footer.style
#  --- Description  
#  These settings determine the style of the header and footer using the same
#  format as other styles in SciTE. Only the fore, back, font, size, bold, italics,
#  and underlined attributes are supported.

# export.keep.ext
#  --- Description  
#  This property determines how the file name
#  (for example, LineMarker.cxx) is transformed when
#  exporting to include the appropriate export format extension -
#  .html for HTML and .rtf for RTF.
#  If export.keep.ext is the default, 0, then the current extension is replaced
#  (LineMarker.html).
#  If it is 1, then the export format extension is added (LineMarker.cxx.html).
#  If it is 2 then the final '.' is replaced by '_' and the
#  export format extension added (LineMarker_cxx.html).

# export.html.wysiwyg
# export.html.tabs
# export.html.folding
# export.html.styleused
# export.html.title.fullpath
#  --- Description  
#  When export.html.wysiwyg is set to 0 then exporting to a HTML file produces a smaller
#  file but which is less completely specified so may look more different to the on screen display.
#  When export.html.tabs is set to 1 and export.html.wysiwyg is set to 0 then tab characters in
#  the file are exported as tab characters rather than a sequence of space characters.
#  The exported file can be made to fold in browsers that support CSS well (Mozilla and Internet
#  Explorer) by setting export.html.folding to 1.
#  Only export styles actually used when export.html.styleused set to 1.
#  The full path name of the file is put in the title, instead of just the file name
#  when export.html.title.fullpath set to 1.

# export.rtf.wysiwyg
# export.rtf.tabs
# export.rtf.font.face
# export.rtf.font.size
# export.rtf.tabsize
#  --- Description  
#  When export.rtf.wysiwyg is set to 0 then exporting to a RTF file produces a smaller
#  file but which is less completely specified so may look more different to the on screen display.
#  When export.rtf.tabs is set to 1 and export.rtf.wysiwyg is set to 0 then tab characters in
#  the file are exported as tab characters rather than a sequence of space characters. 
#  export.rtf.font.face and export.rtf.font.size can be used to select a particular font and size
#  for the exported RTF file. export.rtf.tabsize can be set to use a different tab size than that
#  defined by the tabsize setting.

# export.pdf.magnification
# export.pdf.font
# export.pdf.pagesize
# export.pdf.margins
#  --- Description  
#  export.pdf.magnification is a value that is added to the font size of the default screen style in use.
#  A positive value increases the PDF document's font size, and vice versa.
#  export.pdf.font accepts a one-word parameter that selects one of the default PDF fonts: Courier,
#  Helvetica or Times. Helvetica is the default. Helvetica and Times do not line wrap, Courier line
#  wraps.
#  export.pdf.pagesize is used to set the document's page size, using points (1/72th of an inch) as
#  the unit. E.g. Letter paper (8.5 inch x 11 inch) is specified using the values 612,792.
#  export.pdf.margins sets the widths of the page margins. Margins defaults to 72 points,
#  or 1 inch.
#  The PDF exporter is necessarily feature-limited because PDF is a document archival format. Supporting
#  a full set of features will bloat SciTE. Wrapping Helvetica or Times adequately isn't possible without
#  the complexities of font metrics and kerning. The PDF produced uses WinAnsiEncoding, so pre-encoding
#  has to be done before exporting to PDF, if you want to use extended characters.

# export.xml.collapse.spaces
# export.xml.collapse.lines
#  --- Description  
#  export.xml.collapse.spaces and export.xml.collapse.lines are flags that control how empty lines
#  and runs of space characters are converted into XML. The flags are enabled if set to 1. Tab
#  characters are always converted by the XML exporter into spaces according to the tabsize property.
#

# fold
# fold.margin.width
# fold.symbols
# fold.on.open
#  --- Description  
#  Options to control folding. Folding is turned on be setting fold to 1.
#  The fold.symbols setting chooses between four ways of showing folding.
#  Set to 0 (the default) for MacOS style arrows to indicate contracted
#  (facing right) and expanded (facing down); 1 to display contracted folds
#  with "+" and expanded with "-"; 2 for a flattened tree control with round
#  headers and rounded joins; 3 for a flattened tree control with square headers.
#  To automatically fold files as much as possible when loaded, set
#  fold.on.open to 1.

# fold.flags
#  --- Description  
#  Not really documented ;) bit flags which may go away.
#  2, 4, 8, and 16 control drawing lines above and below folding lines if
#  expanded or not expanded.
#  Set to 64 to help debug folding by showing hexadecimal fold levels in margin.

# fold.compact

#  --- Description  
#  For HTML, XML, Lua and C++ and similar files, turning this option on leads to blank lines following the
#  end of an element folding with that element. Defaults to on.

# fold.html
#  --- Description  
#  Folding is turned on or off for HTML and XML files with this option.
#  The fold option must also be on for folding to occur.

# fold.comment
#  --- Description  
#  This option enables folding multi-line comments when using the C++
#  lexer.

# fold.at.else
#  --- Description  
#  This option enables C++ folding on a "} else {" line of an if statement.
#

# fold.preprocessor
#  --- Description  
#  This option enables folding preprocessor directives when using the C++
#  lexer. Includes C#'s explicit #region and #endregion folding directives.

# fold.quotes.python
#
#  --- Description  
#  This option enables folding multi-line quoted strings when
#  using the Python lexer.

# fold.perl.package
# fold.perl.pod
#  --- Description  
#  These options enable folding packages or Pod blocks when
#  using the Perl lexer.

# title.full.path
#  --- Description  
#  Chooses how the file name is displayed in the title bar.
#  When 0 (default) the file name is displayed. When 1 the full path is displayed.
#  When 2 the window title displays "filename in directory".

# title.show.buffers
#  --- Description  
#  When set to 1 shows the current buffer number in the title bar.

# tabsize
# tab.size.filepattern
# indent.size
# indent.size.filepattern
# use.tabs
# use.tabs.filepattern
# indent.auto
# tab.indents
# backspace.unindents
#  --- Description  
#  Sets the size of a tab as a multiple of the size of a space character in the style of the
#  default style definition. The indent size is the size to use when performing automatic
#  indentation and may be different from the tab size. Many people use a tab size of 8 but
#  4 character indentation. When creating indentation, use.tabs determines whether the
#  indentation is made up purely from space characters or from a mix of tabs and spaces
#  using as many tabs as possible. 
#  The global tabsize, indent.size, and use.tabs properties can be overridden for
#  files that match a pattern by using the using the file pattern forms: 
#  indent.size.*.pas=3
#  If indent.auto is set then indent.size and use.tabs are set according to the contents
#  of the opened document.
#  If tab.indents is set then pressing tab within indentation whitespace indents by indent.size
#  rather than inserting a tab character. If backspace.unindents then pressing backspace
#  within indentation whitespace unindents by indent.size rather than deleting the character
#  before the caret.

# indent.automatic
# indent.opening  
# indent.closing
# indent.maintain.filepattern
#  --- Description  
#  Determines the look of automatic indentation. Automatic indentation is turned on with
#  indent.automatic=1. To indent a brace line after a compound statement start set
#  indent.opening=1, likewise for the terminating brace. So with both set to 0:
#
#  if (c)
#  {
#  &nbsp;&nbsp;&nbsp;&nbsp;s;
#  }
#
#  And with both set to 1:
#
#  if (c)
#  &nbsp;&nbsp;&nbsp;&nbsp;{
#  &nbsp;&nbsp;&nbsp;&nbsp;s;
#  &nbsp;&nbsp;&nbsp;&nbsp;}
#
#  Automatic indentation may be changed to simply repeat the indentation of the
#  previous line for some files with indent.maintain.filepattern=1 which
#  overrides the other language specific specific settings.
 
# statement.indent.filepattern
# statement.end.filepattern
# statement.lookback.filepattern
# block.start.filepattern
# block.end.filepattern
#  --- Description  
#  Each of these settings starts with a style number and then a set of words or characters
#  that define how to recognise that feature. It there is second space in the setting then
#  it is a set of words, otherwise a set of characters. The set of keywords used to indicate
#  the start of a compound statement is defined in statement.indent. For example:
#
#  statement.indent.$(file.patterns.cpp)=5 if else while
#
#  says that for C++ the words "if", "else", and "while" in keyword style, 5, start compound
#  statements which leads to the next line being indented if no other factors affect it. However,
#  if a statement end is found on the same line then the next line is not indented. For C++ the
#  statement end is the semicolon in the operator style, so this is defined:
#
#  statement.end.$(file.patterns.cpp)=10 ;
#
#  The number of lines looked at to determine indentation can be set with statement.lookback.
#  This can be used either to bound the amount of time spent on this task or to specify
#  that only the last line be examined for indentation.
#  The block.start and block.end properties define the language elements used to bracket groups
#  of statements. In C++ these are '{' and '}'.

# vc.home.key
#  --- Description  
#  Chooses the behaviour of the Home and Shift+Home keys. 1, the default is like
#  Visual C++ moving the caret to the end of the line indentation unless already
#  there, in which case it moves to the start of the line. 0 moves to the start of the line.

# warning.findwrapped
# warning.notfound
# warning.wrongfile
# warning.executeok
# warning.executeko
# warning.nootherbookmark
#  --- Description  
#  Allows for sounds to be played and the window to be flashed
#  on Windows when particular events occur.
#  The values consist of three items separated by ',': flash duration, sound
#  and sound duration. If sound is a number then it is treated as a pitch and
#  played for the duration in milliseconds.
#  Otherwise it is treated as a path to a sound file
#  that is played. If you do not want a flash, specify 0 for flash duration.
#  For example,
#
#  warning.wrongfile=0,C:\Windows\Media\SFX\Glass.wav
#
#  will play the glass sound if open selected is given a bad file name.
#  The findwrapped warning occurs when a find operation wraps past
#  either end of the file,
#  notfound when the find or preprocessor conditional move commands
#  fail to find a match,
#  executeok when a command such as build
#  executes successfully, executeko when a command fails, and
#  nootherbookmark when there is no bookmark to find.

# fileselector.width
# fileselector.height
#
#  --- Description  
#  For the GTK+ version determines the initial size of the file
#  selector dialog invoked by the Open and Save commands.
#  Setting has no effect on Windows.

# fileselector.show.hidden
#  --- Description  
#  On GTK+ setting this to 1 makes the file selector dialog 
#  invoked by the Open command show hidden files automatically.

# translation.missing
#  --- Description  
#  When using a localised version, if a term is not found in the locale.properties
#  translation file then use the value of translation.missing instead. By setting
#  this to a marker such as "***" it is easier to check where terms have not been
#  provided with translations.

# menu.language
#  --- Description  
#  Defines the entries in the Language menu and the file extensions they map to.
#  Each menu item is defined by 3 elements, language name, extension and an optional
#  keyboard equivalent. Each element is terminated by '|'. For example:
#  H&ypertext|html|F12|
#  Menu items may be commented out by prefixing the name with '#'.

# menukey.*
#  --- Description  
#  The menukey.* settings allow the user to redefine accelerator keys for menus
#  without having to resort to modifying the SciTE source code.  The syntax for the setting is:
#
#  menukey.menu_title.menu_name=<modifier>key
#
#  For example, the File | Exit command accelerator could be specifed as follows:
#
#  menukey.file.exit=<control>Q
#
#  Note that spaces in menu titles and names must be converted to underscores,
#  and trailing ellipses removed.  For example, "File | Save As...." is referenced as "menukey.file.save_as".
#
#  Multiple modifiers may be specified, though each must be surrounded by angle brackets.  The
#  recognized modifiers are the same as for the user.shortcuts setting described above.  The recognized named
#  keys are also the same as for user.shortcuts, with the addition of "none" to indicate that no accelerator
#  key should be defined for a particular menu.

# source.default.extensions
#  --- Description  
#  If the name specified on the command line cannot be found as a directory or file - including a wild-card
#  search, the contents of the property are treated as default extensions to be used to locate the file name.
#  An example is: .cxx|.cpp|.c|.hxx|.hpp|.h|.bat|.txt|.lua
#  Attempting to open win32\SciTEWin would open win32\SciTEWin.cxx since it matches before win32\SciTEWin.h
#  
#  If the property contains an entry such as Bar.cxx|.cxx and you attempt to open win32\SciTEWin, it will open
#  ScTEWinBar.cxx since that is the first match.

# ext.lua.startup.script
# ext.lua.auto.reload
# ext.lua.reset
# extension.filepattern
#  --- Description  
#  The ext.lua properties are specific to the 
#  SciTE Lua Scripting Extension.  The extension.filepatten property
#  is part of the generic SciTE Extension
#  Interface but is currently only used by the Lua Scripting Extension.
#  
#  The ext.lua.startup.script property defines the filename of a Lua script that
#  will be loaded when SciTE starts to set up the global state for Lua.  You
#  should use an absolute path for this property, but can reference the
#  $(SciteDefaultHome) or $(SciteUserHome) properties.  Global event handlers,
#  command functions, as well as other functions and objects can be defined here.
#  
#  The ext.lua.auto.reload property determines what happens if you save the
#  startup script, or the active extension script, from within SciTE.  If it
#  is set to 0 (the default), the startup script only applied at startup time
#  or when you switch buffers (depending on ext.lua.reset), and changes to the
#  extension script are only applied when you switch buffers.  If
#  ext.lua.auto.reload is set to 1, SciTE will re-initialize the global scope
#  immediately when either script is saved from within SciTE.  Even
#  when ext.lua.auto.reload is enabled, SciTE will not notice if the files
#  are changed from outside the current SciTE instance.  For that, see
#  ext.lua.reset below.
#  
#  The ext.lua.reset property is primarily for debugging.  If ext.lua.reset
#  is 0 (the default), the startup script property is checked only once -
#  when SciTE starts.  If ext.lua.reset is changed to 1, SciTE will check
#  the startup script property, and reload the new startup script, each
#  time you switch buffers.  As such, it has a different (larger) set of
#  side effects than ext.lua.auto.reload.  In some situations it will make
#  sense for both auto.reload and reset to be enabled, but usually
#  ext.lua.auto.reload alone will suffice.  The ext.lua.reset
#  property may go away in an upcoming version if SciTE, perhaps to be
#  replaced with a new setting for ext.lua.auto.reload=2.
#  
#  Aside from ext.lua.startup.script, the extension.filepattern property
#  provides a way to load additional functions and event handlers that may be
#  specific to a given file type.  If the extension property value ends in .lua
#  and names a file that exists, the Lua extension evaluates the script so that event
#  handlers and commands defined in the script are available while that buffer
#  is active.  Functions and objects defined through ext.lua.startup.script are
#  still accessible, unless they are overridden.
#  
#  The extension property can also define behavior that is specific to a given
#  directory.  If a bare filename (no path) is specified in the extension
#  property, SciTE looks for the file in the standard property file locations,
#  starting with the local directory.  This can be very useful in combination
#  with a local SciTE.properties file.

# caret.sticky
#  --- Description  
#  Controls when the last position of the caret on the line is modified.
#  When set to 1, the position is not modified when you type a character, a tab,
#  paste the clipboard content or press backspace. The default is 0 which turns
#  off this feature.

