Instructions to the Parser/Compiler =================================== #breakpoint ----------- Syntax: :: #breakpoint {#breakpoint} is a debugging tool that tells the parser to stop parsing at a specific point. All source code from that point on will be ignored. The difference between {#breakpoint} and {#stop} is that {#stop} occurs in normal templates (e.g., inside an {#if}) but {#breakpoint} is used only when debugging Cheetah. Another difference is that {#breakpoint} operates at compile time, while {#stop} is executed at run time while filling the template. #compiler-settings ------------------ Syntax: :: #compiler-settings key = value (no quotes) #end compiler-settings #compiler-settings reset The {#compiler-settings} directive overrides Cheetah's standard settings, changing how it parses source code and generates Python code. This makes it possible to change the behaviour of Cheetah's parser/compiler for a certain template, or within a portion of the template. The {reset} argument reverts to the default settings. With {reset}, there's no end tag. Here are some examples of what you can do: :: $myVar #compiler-settings cheetahVarStartToken = @ #end compiler-settings @myVar #compiler-settings reset $myVar :: ## normal comment #compiler-settings commentStartToken = // #end compiler-settings // new style of comment #compiler-settings reset ## back to normal comments :: #slurp #compiler-settings directiveStartToken = % #end compiler-settings %slurp %compiler-settings reset #slurp Here's a partial list of the settings you can change: #. syntax settings #. cheetahVarStartToken #. commentStartToken #. multilineCommentStartToken #. multilineCommentEndToken #. directiveStartToken #. directiveEndToken #. code generation settings #. commentOffset #. outputRowColComments #. defDocStrMsg #. useNameMapper #. useAutocalling #. reprShortStrConstants #. reprNewlineThreshold The meaning of these settings and their default values will be documented in the future.