Warning, /frameworks/syntax-highlighting/autotests/reference/highlight.jsonnet.ref is written in an unsupported language. File is not indexed.
0001 <Keyword>local</Keyword><Normal Text> utils </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Keyword>import</Keyword><Normal Text> </Normal Text><String>'utils.libsonnet'</String><Symbol>;</Symbol><br/> 0002 <Normal Text></Normal Text><br/> 0003 <Comment>/* A C-style</Comment><br/> 0004 <Comment> comment.</Comment><br/> 0005 <Comment>*/</Comment><br/> 0006 <Comment># A Python-style comment.</Comment><br/> 0007 <Normal Text></Normal Text><br/> 0008 <Comment>// Define a "local" function.</Comment><br/> 0009 <Comment>// Default arguments are like Python:</Comment><br/> 0010 <Keyword>local</Keyword><Normal Text> </Normal Text><Function>my_function</Function><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>,</Symbol><Normal Text> y</Normal Text><Symbol>=</Symbol><Decimal>10</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> x </Normal Text><Symbol>+</Symbol><Normal Text> y</Normal Text><Symbol>;</Symbol><br/> 0011 <Normal Text></Normal Text><br/> 0012 <Keyword>local</Keyword><Normal Text> object </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0013 <Normal Text> </Normal Text><Comment>// A method</Comment><br/> 0014 <Normal Text> </Normal Text><Function>my_method</Function><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>):</Symbol><Normal Text> x </Normal Text><Symbol>*</Symbol><Normal Text> x</Normal Text><Symbol>,</Symbol><br/> 0015 <Symbol>};</Symbol><br/> 0016 <Normal Text></Normal Text><br/> 0017 <Keyword>local</Keyword><Normal Text> string1 </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>'Farmer</String><String Char>\'</String Char><String>s Gin'</String><Symbol>;</Symbol><br/> 0018 <Keyword>local</Keyword><Normal Text> string_newline1 </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>'this is</String><br/> 0019 <String>a valid string</String><br/> 0020 <String>with newlines'</String><Symbol>;</Symbol><br/> 0021 <Keyword>local</Keyword><Normal Text> string_newline2 </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"this is</String><br/> 0022 <String>also</String><br/> 0023 <String>a valid string"</String><Symbol>;</Symbol><br/> 0024 <Normal Text></Normal Text><br/> 0025 <Keyword>local</Keyword><Normal Text> timcollins </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>|||</String><br/> 0026 <String> The Tom Collins is essentially gin and</String><br/> 0027 <String> lemonade. The bitters add complexity.</String><br/> 0028 <String>|||</String><Symbol>;</Symbol><br/> 0029 <Normal Text></Normal Text><br/> 0030 <Keyword>local</Keyword><Normal Text> obj </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0031 <Normal Text> </Normal Text><String>"foo"</String><Symbol>:</Symbol><Normal Text> </Normal Text><Decimal>1</Decimal><Symbol>,</Symbol><br/> 0032 <Normal Text> </Normal Text><String>"bar"</String><Symbol>:</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0033 <Normal Text> </Normal Text><String>"arr"</String><Symbol>:</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><Decimal>1</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>3</Decimal><Symbol>],</Symbol><br/> 0034 <Normal Text> </Normal Text><String>"number"</String><Symbol>:</Symbol><Normal Text> </Normal Text><Decimal>10</Decimal><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Decimal>7</Decimal><Symbol>,</Symbol><br/> 0035 <Normal Text> </Normal Text><Symbol>},</Symbol><br/> 0036 <Symbol>};</Symbol><br/> 0037 <Normal Text></Normal Text><br/> 0038 <Comment>// Define a local function.</Comment><br/> 0039 <Comment>// Default arguments are like Python:</Comment><br/> 0040 <Keyword>local</Keyword><Normal Text> </Normal Text><Function>my_function</Function><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>,</Symbol><Normal Text> y</Normal Text><Symbol>=</Symbol><Decimal>10</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> x </Normal Text><Symbol>+</Symbol><Normal Text> y</Normal Text><Symbol>;</Symbol><br/> 0041 <Normal Text></Normal Text><br/> 0042 <Comment>// Define a local multiline function.</Comment><br/> 0043 <Keyword>local</Keyword><Normal Text> </Normal Text><Function>multiline_function</Function><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><br/> 0044 <Normal Text> </Normal Text><Comment>// One can nest locals.</Comment><br/> 0045 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> temp </Normal Text><Symbol>=</Symbol><Normal Text> x </Normal Text><Symbol>*</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>;</Symbol><br/> 0046 <Normal Text> </Normal Text><Comment>// Every local ends with a semi-colon.</Comment><br/> 0047 <Normal Text> </Normal Text><Symbol>[</Symbol><Normal Text>temp</Normal Text><Symbol>,</Symbol><Normal Text> temp </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Decimal>1</Decimal><Symbol>];</Symbol><br/> 0048 <Normal Text></Normal Text><br/> 0049 <Keyword>local</Keyword><Normal Text> object </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0050 <Normal Text> </Normal Text><Comment>// A method</Comment><br/> 0051 <Normal Text> </Normal Text><Function>my_method</Function><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>):</Symbol><Normal Text> x </Normal Text><Symbol>*</Symbol><Normal Text> x</Normal Text><Symbol>,</Symbol><br/> 0052 <Symbol>};</Symbol><br/> 0053 <Normal Text></Normal Text><br/> 0054 <Keyword>local</Keyword><Normal Text> large </Normal Text><Symbol>=</Symbol><Normal Text> true</Normal Text><Symbol>;</Symbol><br/> 0055 <Normal Text></Normal Text><br/> 0056 <Symbol>{</Symbol><br/> 0057 <Normal Text></Normal Text><br/> 0058 <Normal Text> </Normal Text><Comment>// Functions are first class citizens.</Comment><br/> 0059 <Normal Text> call_inline_function</Normal Text><Symbol>:</Symbol><br/> 0060 <Normal Text> </Normal Text><Symbol>(</Symbol><Function>function</Function><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>)</Symbol><Normal Text> x </Normal Text><Symbol>*</Symbol><Normal Text> x</Normal Text><Symbol>)(</Symbol><Decimal>5</Decimal><Symbol>),</Symbol><br/> 0061 <Normal Text></Normal Text><br/> 0062 <Normal Text> call_multiline_function</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Function>multiline_function</Function><Symbol>(</Symbol><Decimal>4</Decimal><Symbol>),</Symbol><br/> 0063 <Normal Text></Normal Text><br/> 0064 <Normal Text> </Normal Text><Comment>// Using the variable fetches the function,</Comment><br/> 0065 <Normal Text> </Normal Text><Comment>// the parens call the function.</Comment><br/> 0066 <Normal Text> call</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Function>my_function</Function><Symbol>(</Symbol><Decimal>2</Decimal><Symbol>),</Symbol><br/> 0067 <Normal Text></Normal Text><br/> 0068 <Normal Text> </Normal Text><Comment>// Like python, parameters can be named at</Comment><br/> 0069 <Normal Text> </Normal Text><Comment>// call time.</Comment><br/> 0070 <Normal Text> named_params</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Function>my_function</Function><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>=</Symbol><Decimal>2</Decimal><Symbol>),</Symbol><br/> 0071 <Normal Text> </Normal Text><Comment>// This allows changing their order</Comment><br/> 0072 <Normal Text> named_params2</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Function>my_function</Function><Symbol>(</Symbol><Normal Text>y</Normal Text><Symbol>=</Symbol><Decimal>3</Decimal><Symbol>,</Symbol><Normal Text> x</Normal Text><Symbol>=</Symbol><Decimal>2</Decimal><Symbol>),</Symbol><br/> 0073 <Normal Text></Normal Text><br/> 0074 <Normal Text> </Normal Text><Comment>// object.my_method returns the function,</Comment><br/> 0075 <Normal Text> </Normal Text><Comment>// which is then called like any other.</Comment><br/> 0076 <Normal Text> call_method1</Normal Text><Symbol>:</Symbol><Normal Text> object</Normal Text><Symbol>.</Symbol><Function>my_method</Function><Symbol>(</Symbol><Decimal>3</Decimal><Symbol>),</Symbol><br/> 0077 <Normal Text></Normal Text><br/> 0078 <Normal Text> standard_lib</Normal Text><Symbol>:</Symbol><br/> 0079 <Normal Text> </Normal Text><Keyword>std</Keyword><Symbol>.</Symbol><Function>join</Function><Symbol>(</Symbol><String>' '</String><Symbol>,</Symbol><Normal Text> </Normal Text><Keyword>std</Keyword><Symbol>.</Symbol><Function>split</Function><Symbol>(</Symbol><String>"foo/bar"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>'/'</String><Symbol>)),</Symbol><br/> 0080 <Normal Text> len</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><br/> 0081 <Normal Text> </Normal Text><Keyword>std</Keyword><Symbol>.</Symbol><Function>length</Function><Symbol>(</Symbol><String>'hello'</String><Symbol>),</Symbol><br/> 0082 <Normal Text> </Normal Text><Keyword>std</Keyword><Symbol>.</Symbol><Function>length</Function><Symbol>([</Symbol><Decimal>1</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>3</Decimal><Symbol>]),</Symbol><br/> 0083 <Normal Text> </Normal Text><Symbol>],</Symbol><br/> 0084 <Normal Text></Normal Text><br/> 0085 <Normal Text> cocktails</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0086 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> factor </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Control Flow>if</Control Flow><Normal Text> large </Normal Text><Control Flow>then</Control Flow><Normal Text> </Normal Text><Decimal>2</Decimal><Normal Text> </Normal Text><Control Flow>else</Control Flow><Normal Text> </Normal Text><Decimal>1</Decimal><Symbol>,</Symbol><br/> 0087 <Normal Text></Normal Text><br/> 0088 <Normal Text> </Normal Text><Comment>// Ingredient quantities are in fl oz.</Comment><br/> 0089 <Normal Text> </Normal Text><String>'Tom Collins'</String><Symbol>:</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0090 <Normal Text> ingredients</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><br/> 0091 <Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> kind</Normal Text><Symbol>:</Symbol><Normal Text> string1</Normal Text><Symbol>,</Symbol><Normal Text> qty</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Float>1.5</Float><Symbol>*</Symbol><Normal Text>factor </Normal Text><Symbol>},</Symbol><br/> 0092 <Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> kind</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'Lemon'</String><Symbol>,</Symbol><Normal Text> qty</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Decimal>1</Decimal><Normal Text> </Normal Text><Symbol>},</Symbol><br/> 0093 <Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> kind</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'Simple Syrup'</String><Symbol>,</Symbol><Normal Text> qty</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Float>0.5E+1</Float><Normal Text> </Normal Text><Symbol>},</Symbol><br/> 0094 <Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> kind</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'Soda'</String><Symbol>,</Symbol><Normal Text> qty</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Normal Text> </Normal Text><Symbol>},</Symbol><br/> 0095 <Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> kind</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'Angostura'</String><Symbol>,</Symbol><Normal Text> qty</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'dash'</String><Normal Text> </Normal Text><Symbol>},</Symbol><br/> 0096 <Normal Text> </Normal Text><Symbol>],</Symbol><br/> 0097 <Normal Text> garnish</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'Maraschino Cherry'</String><Symbol>,</Symbol><br/> 0098 <Normal Text> served</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><String>'Tall'</String><Symbol>,</Symbol><br/> 0099 <Normal Text> description</Normal Text><Symbol>:</Symbol><Normal Text> timcollins</Normal Text><Symbol>,</Symbol><br/> 0100 <Normal Text> </Normal Text><Symbol>},</Symbol><br/> 0101 <Normal Text> </Normal Text><Symbol>},</Symbol><br/> 0102 <Symbol>}</Symbol><br/>