feat: add missing KF6 framework recipes

This commit is contained in:
2026-05-07 07:53:26 +01:00
parent d8d498f831
commit a69f479b52
2374 changed files with 2610246 additions and 0 deletions
@@ -0,0 +1,109 @@
<!DOCTYPE html>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>highlight.jsonnet</title>
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (Jsonnet) - Theme (Breeze Light)"/>
</head><body style="background-color:#ffffff;color:#1f1c1b"><pre>
<span style="font-weight:bold">local</span> utils <span style="color:#ca60ca">=</span> <span style="font-weight:bold">import</span> <span style="color:#bf0303">'utils.libsonnet'</span><span style="color:#ca60ca">;</span>
<span style="color:#898887">/* A C-style</span>
<span style="color:#898887"> comment.</span>
<span style="color:#898887">*/</span>
<span style="color:#898887"># A Python-style comment.</span>
<span style="color:#898887">// Define a "local" function.</span>
<span style="color:#898887">// Default arguments are like Python:</span>
<span style="font-weight:bold">local</span> <span style="color:#644a9b">my_function</span><span style="color:#ca60ca">(</span>x<span style="color:#ca60ca">,</span> y<span style="color:#ca60ca">=</span><span style="color:#b08000">10</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">=</span> x <span style="color:#ca60ca">+</span> y<span style="color:#ca60ca">;</span>
<span style="font-weight:bold">local</span> object <span style="color:#ca60ca">=</span> <span style="color:#ca60ca">{</span>
<span style="color:#898887">// A method</span>
<span style="color:#644a9b">my_method</span><span style="color:#ca60ca">(</span>x<span style="color:#ca60ca">):</span> x <span style="color:#ca60ca">*</span> x<span style="color:#ca60ca">,</span>
<span style="color:#ca60ca">};</span>
<span style="font-weight:bold">local</span> string1 <span style="color:#ca60ca">=</span> <span style="color:#bf0303">'Farmer</span><span style="color:#3daee9">\'</span><span style="color:#bf0303">s Gin'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">local</span> string_newline1 <span style="color:#ca60ca">=</span> <span style="color:#bf0303">'this is</span>
<span style="color:#bf0303">a valid string</span>
<span style="color:#bf0303">with newlines'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">local</span> string_newline2 <span style="color:#ca60ca">=</span> <span style="color:#bf0303">"this is</span>
<span style="color:#bf0303">also</span>
<span style="color:#bf0303">a valid string"</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">local</span> timcollins <span style="color:#ca60ca">=</span> <span style="color:#bf0303">|||</span>
<span style="color:#bf0303"> The Tom Collins is essentially gin and</span>
<span style="color:#bf0303"> lemonade. The bitters add complexity.</span>
<span style="color:#bf0303">|||</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">local</span> obj <span style="color:#ca60ca">=</span> <span style="color:#ca60ca">{</span>
<span style="color:#bf0303">"foo"</span><span style="color:#ca60ca">:</span> <span style="color:#b08000">1</span><span style="color:#ca60ca">,</span>
<span style="color:#bf0303">"bar"</span><span style="color:#ca60ca">:</span> <span style="color:#ca60ca">{</span>
<span style="color:#bf0303">"arr"</span><span style="color:#ca60ca">:</span> <span style="color:#ca60ca">[</span><span style="color:#b08000">1</span><span style="color:#ca60ca">,</span> <span style="color:#b08000">2</span><span style="color:#ca60ca">,</span> <span style="color:#b08000">3</span><span style="color:#ca60ca">],</span>
<span style="color:#bf0303">"number"</span><span style="color:#ca60ca">:</span> <span style="color:#b08000">10</span> <span style="color:#ca60ca">+</span> <span style="color:#b08000">7</span><span style="color:#ca60ca">,</span>
<span style="color:#ca60ca">},</span>
<span style="color:#ca60ca">};</span>
<span style="color:#898887">// Define a local function.</span>
<span style="color:#898887">// Default arguments are like Python:</span>
<span style="font-weight:bold">local</span> <span style="color:#644a9b">my_function</span><span style="color:#ca60ca">(</span>x<span style="color:#ca60ca">,</span> y<span style="color:#ca60ca">=</span><span style="color:#b08000">10</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">=</span> x <span style="color:#ca60ca">+</span> y<span style="color:#ca60ca">;</span>
<span style="color:#898887">// Define a local multiline function.</span>
<span style="font-weight:bold">local</span> <span style="color:#644a9b">multiline_function</span><span style="color:#ca60ca">(</span>x<span style="color:#ca60ca">)</span> <span style="color:#ca60ca">=</span>
<span style="color:#898887">// One can nest locals.</span>
<span style="font-weight:bold">local</span> temp <span style="color:#ca60ca">=</span> x <span style="color:#ca60ca">*</span> <span style="color:#b08000">2</span><span style="color:#ca60ca">;</span>
<span style="color:#898887">// Every local ends with a semi-colon.</span>
<span style="color:#ca60ca">[</span>temp<span style="color:#ca60ca">,</span> temp <span style="color:#ca60ca">+</span> <span style="color:#b08000">1</span><span style="color:#ca60ca">];</span>
<span style="font-weight:bold">local</span> object <span style="color:#ca60ca">=</span> <span style="color:#ca60ca">{</span>
<span style="color:#898887">// A method</span>
<span style="color:#644a9b">my_method</span><span style="color:#ca60ca">(</span>x<span style="color:#ca60ca">):</span> x <span style="color:#ca60ca">*</span> x<span style="color:#ca60ca">,</span>
<span style="color:#ca60ca">};</span>
<span style="font-weight:bold">local</span> large <span style="color:#ca60ca">=</span> true<span style="color:#ca60ca">;</span>
<span style="color:#ca60ca">{</span>
<span style="color:#898887">// Functions are first class citizens.</span>
call_inline_function<span style="color:#ca60ca">:</span>
<span style="color:#ca60ca">(</span><span style="color:#644a9b">function</span><span style="color:#ca60ca">(</span>x<span style="color:#ca60ca">)</span> x <span style="color:#ca60ca">*</span> x<span style="color:#ca60ca">)(</span><span style="color:#b08000">5</span><span style="color:#ca60ca">),</span>
call_multiline_function<span style="color:#ca60ca">:</span> <span style="color:#644a9b">multiline_function</span><span style="color:#ca60ca">(</span><span style="color:#b08000">4</span><span style="color:#ca60ca">),</span>
<span style="color:#898887">// Using the variable fetches the function,</span>
<span style="color:#898887">// the parens call the function.</span>
call<span style="color:#ca60ca">:</span> <span style="color:#644a9b">my_function</span><span style="color:#ca60ca">(</span><span style="color:#b08000">2</span><span style="color:#ca60ca">),</span>
<span style="color:#898887">// Like python, parameters can be named at</span>
<span style="color:#898887">// call time.</span>
named_params<span style="color:#ca60ca">:</span> <span style="color:#644a9b">my_function</span><span style="color:#ca60ca">(</span>x<span style="color:#ca60ca">=</span><span style="color:#b08000">2</span><span style="color:#ca60ca">),</span>
<span style="color:#898887">// This allows changing their order</span>
named_params2<span style="color:#ca60ca">:</span> <span style="color:#644a9b">my_function</span><span style="color:#ca60ca">(</span>y<span style="color:#ca60ca">=</span><span style="color:#b08000">3</span><span style="color:#ca60ca">,</span> x<span style="color:#ca60ca">=</span><span style="color:#b08000">2</span><span style="color:#ca60ca">),</span>
<span style="color:#898887">// object.my_method returns the function,</span>
<span style="color:#898887">// which is then called like any other.</span>
call_method1<span style="color:#ca60ca">:</span> object<span style="color:#ca60ca">.</span><span style="color:#644a9b">my_method</span><span style="color:#ca60ca">(</span><span style="color:#b08000">3</span><span style="color:#ca60ca">),</span>
standard_lib<span style="color:#ca60ca">:</span>
<span style="font-weight:bold">std</span><span style="color:#ca60ca">.</span><span style="color:#644a9b">join</span><span style="color:#ca60ca">(</span><span style="color:#bf0303">' '</span><span style="color:#ca60ca">,</span> <span style="font-weight:bold">std</span><span style="color:#ca60ca">.</span><span style="color:#644a9b">split</span><span style="color:#ca60ca">(</span><span style="color:#bf0303">"foo/bar"</span><span style="color:#ca60ca">,</span> <span style="color:#bf0303">'/'</span><span style="color:#ca60ca">)),</span>
len<span style="color:#ca60ca">:</span> <span style="color:#ca60ca">[</span>
<span style="font-weight:bold">std</span><span style="color:#ca60ca">.</span><span style="color:#644a9b">length</span><span style="color:#ca60ca">(</span><span style="color:#bf0303">'hello'</span><span style="color:#ca60ca">),</span>
<span style="font-weight:bold">std</span><span style="color:#ca60ca">.</span><span style="color:#644a9b">length</span><span style="color:#ca60ca">([</span><span style="color:#b08000">1</span><span style="color:#ca60ca">,</span> <span style="color:#b08000">2</span><span style="color:#ca60ca">,</span> <span style="color:#b08000">3</span><span style="color:#ca60ca">]),</span>
<span style="color:#ca60ca">],</span>
cocktails<span style="color:#ca60ca">:</span> <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">local</span> factor <span style="color:#ca60ca">=</span> <span style="font-weight:bold">if</span> large <span style="font-weight:bold">then</span> <span style="color:#b08000">2</span> <span style="font-weight:bold">else</span> <span style="color:#b08000">1</span><span style="color:#ca60ca">,</span>
<span style="color:#898887">// Ingredient quantities are in fl oz.</span>
<span style="color:#bf0303">'Tom Collins'</span><span style="color:#ca60ca">:</span> <span style="color:#ca60ca">{</span>
ingredients<span style="color:#ca60ca">:</span> <span style="color:#ca60ca">[</span>
<span style="color:#ca60ca">{</span> kind<span style="color:#ca60ca">:</span> string1<span style="color:#ca60ca">,</span> qty<span style="color:#ca60ca">:</span> <span style="color:#b08000">1.5</span><span style="color:#ca60ca">*</span>factor <span style="color:#ca60ca">},</span>
<span style="color:#ca60ca">{</span> kind<span style="color:#ca60ca">:</span> <span style="color:#bf0303">'Lemon'</span><span style="color:#ca60ca">,</span> qty<span style="color:#ca60ca">:</span> <span style="color:#b08000">1</span> <span style="color:#ca60ca">},</span>
<span style="color:#ca60ca">{</span> kind<span style="color:#ca60ca">:</span> <span style="color:#bf0303">'Simple Syrup'</span><span style="color:#ca60ca">,</span> qty<span style="color:#ca60ca">:</span> <span style="color:#b08000">0.5E+1</span> <span style="color:#ca60ca">},</span>
<span style="color:#ca60ca">{</span> kind<span style="color:#ca60ca">:</span> <span style="color:#bf0303">'Soda'</span><span style="color:#ca60ca">,</span> qty<span style="color:#ca60ca">:</span> <span style="color:#b08000">2</span> <span style="color:#ca60ca">},</span>
<span style="color:#ca60ca">{</span> kind<span style="color:#ca60ca">:</span> <span style="color:#bf0303">'Angostura'</span><span style="color:#ca60ca">,</span> qty<span style="color:#ca60ca">:</span> <span style="color:#bf0303">'dash'</span> <span style="color:#ca60ca">},</span>
<span style="color:#ca60ca">],</span>
garnish<span style="color:#ca60ca">:</span> <span style="color:#bf0303">'Maraschino Cherry'</span><span style="color:#ca60ca">,</span>
served<span style="color:#ca60ca">:</span> <span style="color:#bf0303">'Tall'</span><span style="color:#ca60ca">,</span>
description<span style="color:#ca60ca">:</span> timcollins<span style="color:#ca60ca">,</span>
<span style="color:#ca60ca">},</span>
<span style="color:#ca60ca">},</span>
<span style="color:#ca60ca">}</span>
</pre></body></html>