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