Format: 1.4 # 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 Language: C/C++ Extensions: c cpp h hpp cxx hxx Ignore Function Prefix in Index: ~ Line Comment: // Block Comment: /* */ Package Separator: :: Enum Values: Under parent Class Prototype Enders: ; { Function Prototype Enders: ; { Variable Prototype Enders: ; = Language: C# Extension: cs Ignore Prefix in Index: @ Full Language Support: NaturalDocs::Languages::CSharp Language: Java Extension: java Line Comment: // Block Comment: /* */ Enum Values: Under type Function Prototype Ender: { Variable Prototype Enders: ; = Language: JavaScript Extension: js Line Comment: // Block Comment: /* */ Enum Values: Under type 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: Under type 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: Under parent Function Prototype Enders: ; \n Variable Prototype Enders: ; \n = Line Extender: \ Language: Makefile Extensions: mk mak make Line Comment: # Language: ActionScript Extensions: as mxml Full Language Support: NaturalDocs::Languages::ActionScript 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: &