Format: 1.32

# This is the main Natural Docs languages file.  If you change anything here,
# it will apply to EVERY PROJECT you use Natural Docs on.  If you'd like to
# change something for just one project, edit the Languages.txt in its project
# directory instead.


#-------------------------------------------------------------------------------
# SYNTAX:
#
# Unlike other Natural Docs configuration files, in this file all comments
# MUST be alone on a line.  Some languages deal with the # character, so you
# cannot put comments on the same line as content.
#
# Also, all lists are separated with spaces, not commas, again because some
# languages may need to use them.
#
# Language: [name]
#    Defines a new language.  Its name can use any characters.
#
#    The language Shebang Script is special.  It's entry is only used for
#    extensions, and files with those extensions have their shebang (#!) lines
#    read to determine the real language of the file.  Extensionless files are
#    always treated this way.
#
#    The language Text File is also special.  It's treated as one big comment
#    so you can put Natural Docs content in them without special symbols.  Also,
#    if you don't specify a package separator, ignored prefixes, or enum value
#    behavior, it will copy those settings from the language that is used most
#    in the source tree.
#
# Extensions: [extension] [extension] ...
#    Defines the file extensions of the language's source files.  You can use *
#    to mean any undefined extension.
#
# Shebang Strings: [string] [string] ...
#    Defines a list of strings that can appear in the shebang (#!) line to
#    designate that it's part of the language.
#
# Ignore Prefixes in Index: [prefix] [prefix] ...
# Ignore [Topic Type] Prefixes in Index: [prefix] [prefix] ...
#    Specifies prefixes that should be ignored when sorting symbols in an
#    index.  Can be specified in general or for a specific topic type.
#
#------------------------------------------------------------------------------
# For basic language support only:
#
# Line Comments: [symbol] [symbol] ...
#    Defines a space-separated list of symbols that are used for line comments,
#    if any.
#
# Block Comments: [opening sym] [closing sym] [opening sym] [closing sym] ...
#    Defines a space-separated list of symbol pairs that are used for block
#    comments, if any.
#
# Package Separator: [symbol]
#    Defines the default package separator symbol.  The default is a dot.
#
# [Topic Type] Prototype Enders: [symbol] [symbol] ...
#    When defined, Natural Docs will attempt to get a prototype from the code
#    immediately following the topic type.  It stops when it reaches one of
#    these symbols.  Use \n for line breaks.
#
# Line Extender: [symbol]
#    Defines the symbol that allows a prototype to span multiple lines if
#    normally a line break would end it.
#
# Enum Values: [global|under type|under parent]
#    Defines how enum values are referenced.  The default is global.
#    global       - Values are always global, referenced as 'value'.
#    under type   - Values are under the enum type, referenced as
#               'package.enum.value'.
#    under parent - Values are under the enum's parent, referenced as
#               'package.value'.
#
# Perl Package: [perl package]
#    Specifies the Perl package used to fine-tune the language behavior in ways
#    too complex to do in this file.
#
#------------------------------------------------------------------------------
# For full language support only:
#
# Full Language Support: [perl package]
#    Specifies the Perl package that has the parsing routines necessary for full
#    language support.
#
#-------------------------------------------------------------------------------

# The following languages MUST be defined in this file:
#
#    Text File, Shebang Script

# If you add a language that you think would be useful to other developers
# and should be included in Natural Docs by default, please e-mail it to
# languages [at] naturaldocs [dot] org.


#Language: Text File
#
#   Extension: txt
#
#
#Language: Shebang Script
#
#   Extension: cgi
#
#
Alter Language: C/C++

   Ignore Extensions: c cpp h hpp cxx hxx

#Language: C#
#
#   Extension: cs
#   Ignore Prefix in Index: @
#   Full Language Support: NaturalDocs::Languages::CSharp
#
#
#Language: Java
#
#   Extension: java
#   Line Comment: //
#   Block Comment: /* */
#   Enum Values: Local
#   Function Prototype Ender: {
#   Variable Prototype Enders: ; =
#
#
#Language: JavaScript
#
#   Extension: js
#   Line Comment: //
#   Block Comment: /* */
#   Enum Values: Local
#   Function Prototype Ender: {
#   Variable Prototype Enders: ; =
#
#
#Language: Perl
#
#   Extensions: pl pm
#   Shebang String: perl
#   Ignore Variable Prefixes in Index: $ @ % *
#   Full Language Support: NaturalDocs::Languages::Perl
#
#
#Language: Python
#
#   Extension: py
#   Shebang String: python
#   Line Comment: #
#   Function Prototype Ender: :
#   Variable Prototype Ender: =
#   Line Extender: \
#
#
#Language: PHP
#
#   Extensions: inc php php3 php4 phtml
#   Shebang String: php
#   Ignore Variable Prefix in Index: $
#   Line Comments: // #
#   Block Comment: /* */
#   Function Prototype Enders: ; {
#   Variable Prototype Enders: ; =
#
#
#Language: SQL
#
#   Extension: sql
#   Line Comment: --
#   Block Comment: /* */
#   Enum Values: Global
#   Function Prototype Enders: , ; ) as As AS is Is IS
#   Variable Prototype Enders: , ; ) := default Default DEFAULT
#   Database Index Prototype Enders: , ; )
#   Database Trigger Prototype Enders: begin Begin BEGIN as As AS
#   Perl Package: NaturalDocs::Languages::PLSQL
#
#
#Language: Visual Basic
#
#   Extensions: vb vbs bas cls frm
#   Line Comment: '
#   Enum Values: Local
#   Function Prototype Ender: \n
#   Variable Prototype Enders: \n =
#   Line Extender: _
#
#
#Language: Pascal
#
#   Extension: pas
#   Line Comment: //
#   Block Comments: { } (* *)
#   Function Prototype Ender: ;
#   Variable Prototype Enders: ; =
#   Perl Package: NaturalDocs::Languages::Pascal
#
#
#Language: Assembly
#
#   Extension: asm
#   Line Comment: ;
#   Variable Prototype Ender: \n
#   Line Extender: \
#
#
#Language: Ada
#
#   Extensions: ada ads adb
#   Line Comment: --
#   Function Prototype Enders: ; is Is IS
#   Variable Prototype Enders: ; :=
#   Perl Package: NaturalDocs::Languages::Ada
#
#
#Language: Tcl
#
#   Extensions: tcl exp
#   Shebang Strings: tclsh wish expect
#   Line Comment: #
#   Package Separator: ::
#   Function Prototype Enders: ; {
#   Variable Prototype Enders: ; \n
#   Line Extender: \
#   Perl Package: NaturalDocs::Languages::Tcl
#
#
#Language: Ruby
#
#   Extension: rb
#   Shebang String: ruby
#   Ignore Variable Prefixes in Index: $ @ @@
#   Line Comment: #
#   Enum Values: Parent
#   Function Prototype Enders: ; \n
#   Variable Prototype Enders: ; \n =
#   Line Extender: \


Alter Language: Makefile

   Replace Extensions: mk Makefile


#Language: ActionScript
#
#   Extension: as
#   Line Comment: //
#   Block Comment: /* */
#   Function Prototype Ender: {
#   Variable Prototype Enders: ; =
#
#
#Language: ColdFusion
#
#   Extensions: cfm cfml cfc
#   Line Comment: //
#   Block Comments: <!--- ---> /* */
#   Function Prototype Enders: { <
#
#
#Language: R
#
#   Extension: r
#   Line Comment: #
#   Function Prototype Enders: { ;
#   Variable Prototype Enders: <- = ; \n
#
#
#Language: Fortran
#
#   Extensions: f90 f95 f03
#   Line Comment: !
#   Function Prototype Ender: \n
#   Variable Prototype Enders: \n = =>
#   Line Extender: &
