Warning, /frameworks/syntax-highlighting/autotests/folding/highlight.jsonnet.fold is written in an unsupported language. File is not indexed.

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