Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
S
 Safari
 Safari2
 Safari3
 saidUpdatingCSSFile, NaturalDocs::Builder::HTMLBase
 Save
 SaveConfigFileInfo, NaturalDocs::Project
 SaveFile
 SaveImageFileInfo, NaturalDocs::Project
 SaveIndexInfo, NaturalDocs::SymbolTable
 SaveMenuFile, NaturalDocs::Menu
 SavePreviousMenuStateFile, NaturalDocs::Menu
 SavePreviousSettings, NaturalDocs::Settings
 SaveSourceFileInfo, NaturalDocs::Project
 SaveSymbolTable, NaturalDocs::SymbolTable
 SBorder
 Scope
 SCOPE
 Scope Functions, NaturalDocs::Languages::Advanced
 SCOPE_ALWAYS_GLOBAL
 SCOPE_END
 SCOPE_NORMAL
 SCOPE_RECORD
 SCOPE_STACK
 SCOPE_START
 ScopeRecord, NaturalDocs::Languages::Advanced
 ScopeType
 SDescription
 Search
 Search Package Variables, NaturalDocs::Builder::HTMLBase
 Search Results Structure
 Search Results Styles
 SearchDataJavaScriptFile, NaturalDocs::Builder::HTMLBase
 searchExtensions, NaturalDocs::Builder::HTMLBase
 SearchPanel
 searchResultIDs, NaturalDocs::Builder::HTMLBase
 SearchResults
 SearchResultsDirectory, NaturalDocs::Builder::HTMLBase
 SearchResultsFileOf, NaturalDocs::Builder::HTMLBase
 Section Functions, NaturalDocs::Builder::HTMLBase
 SEntry
 SetAfterParameters, NaturalDocs::Languages::Prototype
 SetBeforeParameters, NaturalDocs::Languages::Prototype
 SetBlockCommentSymbols, NaturalDocs::Languages::Simple
 SetBody, NaturalDocs::Parser::ParsedTopic
 SetBreakLists, NaturalDocs::Topics::Type
 SetBuilder, NaturalDocs::Settings::BuildTarget
 SetCanGroupWith, NaturalDocs::Topics::Type
 SetClassHierarchy, NaturalDocs::Topics::Type
 SetCurrentInterpretation, NaturalDocs::SymbolTable::Reference
 SetDefaultMenuTitle
 SetDefaultValue, NaturalDocs::Languages::Prototype::Parameter
 SetDefaultValuePrefix, NaturalDocs::Languages::Prototype::Parameter
 SetDimensions, NaturalDocs::Project::ImageFile
 SetDirectory, NaturalDocs::Settings::BuildTarget
 SetEnumValues, NaturalDocs::Languages::Simple
 SetExtensions, NaturalDocs::Languages::Base
 SetFlags, NaturalDocs::Menu::Entry
 SetHasContent
 SetIgnoredPrefixesFor, NaturalDocs::Languages::Base
 SetIndex, NaturalDocs::Topics::Type
 SetIsList, NaturalDocs::Parser::ParsedTopic
 SetLastModified
 SetLineCommentSymbols, NaturalDocs::Languages::Simple
 SetLineExtender, NaturalDocs::Languages::Simple
 SetMadeEmptySearchResultsPage, NaturalDocs::Builder::HTMLBase
 SetName, NaturalDocs::Languages::Prototype::Parameter
 SetNamePrefix, NaturalDocs::Languages::Prototype::Parameter
 SetPackage
 SetPackageSeparator, NaturalDocs::Languages::Simple
 SetPageTitleIfFirst, NaturalDocs::Topics::Type
 SetPluralName, NaturalDocs::Topics::Type
 SetPrototype
 SetPrototypeEndersFor, NaturalDocs::Languages::Simple
 SetReferenceTarget, NaturalDocs::ImageReferenceTable
 SetScope
 SetShebangStrings, NaturalDocs::Languages::Base
 SetStatus
 SetSummary, NaturalDocs::SymbolTable::SymbolDefinition
 SetTarget
NaturalDocs::Settings
NaturalDocs::Settings::BuildTarget
 SetTitle
 SetTokens, NaturalDocs::Languages::Advanced
 SetType
 SetTypePrefix, NaturalDocs::Languages::Prototype::Parameter
 SetUsing, NaturalDocs::Parser::ParsedTopic
 SetWasUsed, NaturalDocs::Project::ImageFile
 SharedDirectoriesOf, NaturalDocs::Menu
 shebangFiles, NaturalDocs::Languages
 shebangStrings, NaturalDocs::Languages
 ShebangStrings, NaturalDocs::Languages::Base
 ShortenToMatchStrings
 Signal Handlers, NaturalDocs::Error
 SIndent#
 SingularInterpretationsOf, NaturalDocs::SymbolTable
 SkipRestOfLine, NaturalDocs::Languages::Advanced
 SkipRestOfStatement
 SkipToNextStatement, NaturalDocs::Languages::ActionScript
 SkipToNextXMLTag, NaturalDocs::Languages::ActionScript
 SkipUntilAfter, NaturalDocs::Languages::Advanced
 SMarked
 softDeath, NaturalDocs::Error
 SoftDeath, NaturalDocs::Error
 Sort, NaturalDocs::SymbolTable::IndexElement
 SORTABLE_SYMBOL
 SortableSymbol, NaturalDocs::SymbolTable::IndexElement
 Source File Functions, NaturalDocs::Project
 Source File Variables, NaturalDocs::Project
NaturalDocs::SourceDB
NaturalDocs::SourceDB::Extension
NaturalDocs::SourceDB::File
NaturalDocs::SourceDB::Item
NaturalDocs::SourceDB::ItemDefinition
NaturalDocs::SourceDB::WatchedFileDefinitions
 sourceFile, NaturalDocs::Parser
 SOURCEFILEHANDLE, NaturalDocs::Languages::Base
 SplitDirectories, NaturalDocs::File
 SplitFromImageDirectory, NaturalDocs::Settings
 SplitFromInputDirectory, NaturalDocs::Settings
 SplitPath, NaturalDocs::File
 SplitSymbolForIndex, NaturalDocs::SymbolTable
 SRResult
 SRStatus
 STable
 stackTrace, NaturalDocs::Error
 Standard Header, NaturalDocs::BinaryFile
 StandardComments, NaturalDocs::Builder::HTMLBase
 Start
 StartScope, NaturalDocs::Languages::Advanced
 Statement Parsing Functions
 Status
 STATUS
NaturalDocs::StatusMessage
 StatusOf, NaturalDocs::Project
 STitle
 String Format, NaturalDocs::Version
 StringCompare
 StringToHTML, NaturalDocs::Builder::HTMLBase
 StringToSearchResultID, NaturalDocs::Builder::HTMLBase
 StripClosingSymbol, NaturalDocs::Languages::Base
 StripOpeningBlockSymbols, NaturalDocs::Languages::Base
 StripOpeningJavaDocBlockSymbols, NaturalDocs::Languages::Base
 StripOpeningJavaDocSymbols, NaturalDocs::Languages::Base
 StripOpeningSymbols, NaturalDocs::Languages::Base
 StyleDirectory, NaturalDocs::Settings
 styles, NaturalDocs::Settings
 Styles, NaturalDocs::Settings
 SType
 subTitle, NaturalDocs::Menu
 SubTitle, NaturalDocs::Menu
 Summary
 SUMMARY
 Summary Structure
 Summary Styles
 SummaryDefinedIn, NaturalDocs::SymbolTable::Symbol
 Support Functions
 supportedFiles, NaturalDocs::Project
 Symbol
 SYMBOL
 Symbol Management
 Symbol Storage
 symbols, NaturalDocs::SymbolTable
 Symbols, NaturalDocs::SymbolTable::File
 SYMBOLS
 SymbolString
NaturalDocs::SymbolString
NaturalDocs::SymbolTable
 SymbolTable.nd
NaturalDocs::SymbolTable::File
NaturalDocs::SymbolTable::IndexElement
NaturalDocs::SymbolTable::Reference
NaturalDocs::SymbolTable::ReferenceTarget
NaturalDocs::SymbolTable::Symbol
NaturalDocs::SymbolTable::SymbolDefinition
 SYMBOLTABLE_FILEHANDLE, NaturalDocs::SymbolTable
 SymbolToHTMLSymbol, NaturalDocs::Builder::HTMLBase
 Syntax References
Safari
Safari 2.x.
Safari 3.x.
my $saidUpdatingCSSFile
Whether the status message “Updating CSS file...”
sub Save
Saves the class hierarchy to disk.
sub Save
Saves the data to ImageReferenceTable.nd.
sub Save
Saves the main and user versions of Languages.txt.
sub Save
Writes the changes to the menu files.
sub Save
Saves all settings in configuration files to disk.
sub Save
Saves the data of the source database and all its extensions.
sub Save
Called by NaturalDocs::SourceDB->Save() to save the extension’s data.
sub Save
Saves all data files to disk.
sub Save
Saves the main and user versions of Topics.txt.
sub SaveConfigFileInfo
Saves the config file info to disk.
sub SaveFile #(isMain)
Saves a particular version of Topics.txt.
sub SaveFile #(isMain)
Saves a particular version of Topics.txt.
sub SaveImageFileInfo
Saves the image file info to disk.
sub SaveIndexInfo
Saves IndexInfo.nd to disk.
sub SaveMenuFile
Saves the current menu to Menu.txt.
sub SavePreviousMenuStateFile
Saves changes to PreviousMenuState.nd.
sub SavePreviousSettings
Saves the settings into PreviousSettings.nd.
sub SaveSourceFileInfo
Saves the source file info to disk.
sub SaveSymbolTable
Saves SymbolTable.nd to disk.
Surrounds STable, since some browsers can’t do table padding right.
sub Scope
Returns the SymbolString the scope was changed to.
Returns the topic’s ScopeType.
The new scope SymbolString.
These functions provide a nice scope stack implementation for language-specific parsers to use.
The topic is always global, but it doesn’t affect the current scope.
The topic ends a scope, returning it to global.
The topic stays in the current scope without affecting it.
An arrayref of NaturalDocs::Languages::Advanced::ScopeChange objects, as generated by the scope stack.
An arrayref of NaturalDocs::Languages::Advanced::Scope objects serving as a scope stack for parsing.
The topic starts a scope.
sub ScopeRecord
Returns an arrayref of NaturalDocs::Languages::Advanced::ScopeChange objects describing how and when the scope changed thoughout the file.
The possible values for Scope().
The description (right) side of the table.
this.Search = function()
Performs a search.
this.Search = function(search)
Searches for the passed string.
These variables are for the search generation functions only.
The search results use virtually the same structure and styles as the indexes, except that #SearchResults replaces #Index, there’s a new SRResult style, and there are a few additional SRStatus blocks.
sub SearchDataJavaScriptFile
Returns the location of the search data JavaScript file.
my @searchExtensions
An array of the search file name extensions for all the index sections.
A class handling everything associated with the search panel.
my %searchResultIDs
A hash mapping lowercase-only search result IDs to the number of times they’ve been used.
The class that handles everything on the search results page.
sub SearchResultsDirectory
Returns the directory of the search results files.
sub SearchResultsFileOf #(TopicType type,
string extra)
Returns the output file name of the search result file.
The entry (left) side of the table.
Replaces the part of the prototype after the parameter list.
Replaces the part of the prototype before the parameter list.
Replaces the arrayref of start/end symbol pairs that specify a block comment.
sub SetBody #(body)
Replaces the topic’s body, formatted in NDMarkup.
Sets whether list topics should be broken into individual topics in the output.
Replaces the NaturalDocs::Builder::Base-derived object for the target’s output format.
sub SetCanGroupWith #(TopicType[] types)
Sets the list of TopicTypes the type can be grouped with.
Sets whether the topic is part of the class hierarchy.
sub SetCurrentInterpretation #(symbol)
Changes the current interpretation.
sub SetDefaultMenuTitle #(file,
menuTitle)
Sets the FileName’s default menu title.
sub SetDefaultMenuTitle #(menuTitle)
Sets the file’s default title on the menu.
Replaces the default value expression.
Replaces the default value prefix.
sub SetDimensions #(int width,
int height)
Sets the width and height of the image.
Replaces the directory for the target’s output files.
Replaces the EnumValuesType that describes how the language handles enums.
Replaces the arrayref of the language’s file extensions.
sub SetFlags #(flags)
Replaces the Menu Entry Flags.
sub SetHasContent #(file,
hasContent)
Sets whether the FileName has Natural Docs content or not.
sub SetHasContent #(hasContent)
Sets whether the file contains Natural Docs content or not.
sub SetIgnoredPrefixesFor #(type,
prefixes)
Replaces the arrayref of ignored prefixes for the passed TopicType.
Sets whether the topic is indexed.
sub SetIsList
Sets whether the topic is a list.
Sets the file’s last modification timestamp.
sub SetLastModified #(lastModified)
Sets the file’s last modification timestamp.
Replaces the arrayref of symbols that start a line comment.
Replaces the symbol to ignore a line break in languages where line breaks are significant.
Sets whether the empty search results page was created or not.
Replaces the parameter name.
Replaces the parameter name prefix.
sub SetPackage #(package,
lineNumber)
Sets the package for the current scope level.
sub SetPackage #(package)
Sets the package SymbolString of the scope.
sub SetPackage #(package)
Replaces the package the topic appears in.
Replaces the language’s package separator string.
Sets whether the topic becomes the page title if it’s first in the file.
Replaces the topic’s plural name.
sub SetPrototype #(prototype)
Replaces the function or variable prototype.
sub SetPrototype #(prototype)
Changes the prototype.
sub SetPrototypeEndersFor #(type,
enders)
Replaces the arrayref of prototype ender symbols for the passed TopicType.
sub SetReferenceTarget #(ImageReferenceString referenceString) => FileName
Determines the best target for the passed ImageReferenceString and sets it on the NaturalDocs::ImageReferenceTable::Reference object.
sub SetScope #(scope)
Replaces the SymbolString the scope was changed to.
Replaces the topic’s ScopeType.
Replaces the arrayref of the language’s shebang strings.
Sets the FileStatus since the last build.
sub SetStatus #(status)
Sets the FileStatus since the last build.
sub SetSummary #(summary)
Changes the summary.
Replaces the image FileName this reference resolves to, or undef if none.
sub SetTarget #(target)
Replaces the entry’s target.
A package to handle the command line and various other program settings.
A class that stores information about a build target.
sub SetTitle #(title)
Replaces the entry’s title.
sub SetTitle #(title)
Replaces the topic title.
sub SetTokens #(tokens)
Replaces the tokens.
Replaces the parameter type.
sub SetType #(type)
Replaces the TopicType.
sub SetType #(type)
Changes the TopicType.
Replaces the parameter type prefix.
sub SetUsing #(using)
Replaces the using arrayref of sope SymbolStrings.
Sets whether this image file was used during the last Natural Docs execution.
sub SharedDirectoriesOf #(group)
Returns an array of all the directories shared by the files in the group.
my %shebangFiles
A hash of all the defined languages for files where it needs to be found via shebang strings.
my %shebangStrings
A hash of all the defined languages’ strings to search for in the shebang (#!)
Returns an arrayref of the language’s shebang strings, or undef if none.
sub ShortenToMatchStrings #(sharedArrayRef,
compareArrayRef)
Compares two arrayrefs and shortens the first array to only contain shared entries.
Surrounding entries and descriptions that are part of a group and need to be indented.
sub SingularInterpretationsOf #(symbol)
Generates singular interpretations of a SymbolString if it can be interpreted as a plural.
sub SkipRestOfLine #(indexRef,
lineNumberRef)
Moves the position to the token following the next line break, or past the end of the tokens array if there is none.
sub SkipRestOfStatement #(indexRef,
lineNumberRef)
Advances the position via GenericSkip() until after the end of the current statement, which is defined as a semicolon or a brace group.
sub SkipRestOfStatement #(indexRef,
lineNumberRef)
Advances the position via GenericSkip() until after the end of the current statement, which is defined as a semicolon or a brace group.
sub SkipToNextStatement #(indexRef,
lineNumberRef)
Advances the position via GenericSkip() until the next statement, which is defined as anything in declarationEnders not appearing in brackets or strings.
sub SkipToNextXMLTag #(indexRef,
lineNumberRef)
Skips to the next normal XML tag.
sub SkipUntilAfter #(indexRef,
lineNumberRef,
token,
token,
...)
Moves the position to the token following the next occurance of a particular token sequence, or past the end of the tokens array if it never occurs.
A class applied to rows that should have a slightly different color than the rest of the rows to make them easier to read.
my $softDeath
Whether the program exited using SoftDeath().
sub SoftDeath #(message)
Generates a “soft” death, which means the program exits like with Perl’s die(), but no crash report will be generated.
sub Sort
Sorts the package and file lists of the symbol.
The sortable symbol as a text string.
Returns the sortable symbol as a text string.
SourceDB is an experimental package meant to unify the tracking of various elements in the source code.
A base package for all SourceDB extensions.
A class used to index items by file.
A base class for something being tracked in NaturalDocs::SourceDB.
A base class for all item definitions for extensions that track more than existence.
A class to track the definitions appearing in a watched file.
my $sourceFile
The source FileName currently being parsed.
The handle of the source file currently being parsed.
sub SplitDirectories #(directoryString)
Takes a string of directories and returns an array of its elements.
sub SplitFromImageDirectory #(file)
Takes an input image file name and returns the array ( imageDirectory, relativePath ).
sub SplitFromInputDirectory #(file)
Takes an input file name and returns the array ( inputDirectory, relativePath ).
sub SplitPath #(path,
noFile)
Takes a path and returns its elements.
sub SplitSymbolForIndex #(symbol,
type)
Splits a SymbolString into its symbol and package portions for indexing.
A result.
Status message.
The actual summary table.
my $stackTrace
The stack trace generated by CatchDeath().
sub StandardComments
Returns the standard HTML comments that should be included in every generated file.
sub Start
This will be called whenever a file is about to be parsed.
sub Start #(message,
total)
Starts the status message.
sub StartScope #(closingSymbol,
lineNumber,
package)
Records a new scope level.
All functions here assume that the current position is at the beginning of a statement.
All functions here assume that the current position is at the beginning of a statement.
All functions here assume that the current position is at the beginning of a statement.
Returns the FileStatus since the last build.
sub Status
Returns the FileStatus since the last build.
FileStatus since the last build.
A package to handle status message updates.
sub StatusOf #(file)
Returns the FileStatus of the passed FileName.
Contains the summary title, which is the part that actually says “Summary”.
Full releases are in the common major.minor format.
sub StringCompare #(a,
b)
Compares two strings so that the result is good for proper sorting.
sub StringToHTML #(string,
addHiddenBreaks)
Converts a text string to HTML.
sub StringToSearchResultID #(string string,  
bool dontIncrement =  0) => string
Takes a text string and translates it into something that can be used as a CSS ID.
sub StripClosingSymbol #(lineRef,
symbol)
Determines if the line contains a symbol, and if so, truncates it just before the symbol.
sub StripOpeningBlockSymbols #(lineRef,
symbolPairs)
Determines if the line starts with any of the opening symbols in the passed symbol pairs, and if so, replaces it with spaces.
sub StripOpeningJavaDocBlockSymbols #(lineRef,
symbolPairs)
Determines if the line starts with any of the opening symbols in the passed symbol pairs, and if so, replaces it with spaces.
sub StripOpeningJavaDocSymbols #(lineRef,
symbols)
Determines if the line starts with any of the passed symbols, and if so, replaces it with spaces.
sub StripOpeningSymbols #(lineRef,
symbols)
Determines if the line starts with any of the passed symbols, and if so, replaces it with spaces.
sub StyleDirectory
Returns the main style directory.
my @styles
An array of style names to use, most important first.
sub Styles
Returns an arrayref of the styles associated with the output.
A placeholder for all topic-specific styles.
my $subTitle
The sub-title of the menu.
sub SubTitle
Returns the sub-title of the menu, or undef if none.
The topmost style containing the entire summary.
sub Summary
Returns the topic summary, if it exists, formatted in NDMarkup.
Returns the summary of the package/symbol/file, if applicable.
sub Summary
Returns the target’s summary, or undef if not defined or not applicable.
sub Summary
Returns the definition’s summary, or undef if it doesn’t have one.
The summary, if it exists.
Everything is enclosed in a single Summary.
sub SummaryDefinedIn #(file)
Returns the summary of symbol defined in the passed FileName, or undef if it doesn’t exist or is not defined in that file.
General functions that are used throughout the program, and that don’t really fit anywhere else.
my %supportedFiles
A hash of all the supported files in the input directory.
sub Symbol
Returns the SymbolString defined by the topic.
Returns the SymbolString without the package portion.
sub Symbol
Returns the target’s SymbolString.
The SymbolString without the package portion.
This is the architecture and code path for symbol management.
Symbols are indexed primarily by their SymbolString, which is the normalized, pre-parsed series of identifiers that make it up.
my %symbols
A hash of all SymbolStrings.
sub Symbols
Returns an array of all the SymbolStrings defined in this file.
An existence hashref of the SymbolStrings it defines.
A scalar which encodes a normalized array of identifier strings representing a full or partially-resolved symbol.
A package to manage SymbolString handling throughout the program.
A package that handles all the gory details of managing symbols.
The storage file for the symbol table.
A class representing a file, keeping track of what symbols and references are defined in it.
A class representing part of an indexed symbol.
A class representing a symbol or a potential symbol.
A class for storing information about a reference target.
A class representing a symbol or a potential symbol.
A class representing a symbol definition.
The file handle used with SymbolTable.nd.
sub SymbolToHTMLSymbol #(symbol)
Converts a SymbolString to a HTML symbol, meaning one that is safe to include in anchor and link tags.
Close