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/>