mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-10 08:07:03 +00:00
* implement single line pin * make panic-safe * use pin even if multiple modules imported withing single statement * add repins and make imports respect pins * keep all pins * Allow multiple pins * add comments + handle stuff more safely * fix fully qualified imports * remove ignore * sort nested * apply unique to output requirements list * fix typo * remove mut * update sqlx * sort imports * sort imports * fix formatter and format * feat: add ruby support * fix * update sqlx * add ruby to flake.nix Signed-off-by: pyranota <pyra@duck.com> * upgrade par_install_language_dependencies helper rename fields + allow passing custom payload Signed-off-by: pyranota <pyra@duck.com> * change migrations Signed-off-by: pyranota <pyra@duck.com> * make full pipeline work! Signed-off-by: pyranota <pyra@duck.com> * do a bit fixing * stage Signed-off-by: pyranota <pyra@duck.com> * add ruby in dockerfiles Signed-off-by: pyranota <pyra@duck.com> * implement auto-require + 'windmill/inline' Signed-off-by: pyranota <pyra@duck.com> * create 'windmill/inline' only if does not exist Signed-off-by: pyranota <pyra@duck.com> * add nsjail Signed-off-by: pyranota <pyra@duck.com> * update global settings Signed-off-by: pyranota <pyra@duck.com> * add ruby icon * generate lockfile on deploy (but broken) Signed-off-by: pyranota <pyra@duck.com> * fix(frontend): display deployed script lockfile and other info Signed-off-by: pyranota <pyra@duck.com> * feat: add mini-wmill client Methods: - get_resource - get_variable Additionally add shortcuts on frontend Signed-off-by: pyranota <pyra@duck.com> * add nit warning Signed-off-by: pyranota <pyra@duck.com> * support private repos credentials Signed-off-by: pyranota <pyra@duck.com> * fix compilation error Signed-off-by: pyranota <pyra@duck.com> * found rustc bug + refactor universal installer Signed-off-by: pyranota <pyra@duck.com> * more refactor + fixes Signed-off-by: pyranota <pyra@duck.com> * bug fixing + polishing Signed-off-by: pyranota <pyra@duck.com> * cleanup Signed-off-by: pyranota <pyra@duck.com> * change 'windmill/inline' Signed-off-by: pyranota <pyra@duck.com> * delegate env_clear to universal installer Signed-off-by: pyranota <pyra@duck.com> * update init script Signed-off-by: pyranota <pyra@duck.com> * add cli support Signed-off-by: pyranota <pyra@duck.com> * unhardcode frontend Signed-off-by: pyranota <pyra@duck.com> * fix cli Signed-off-by: pyranota <pyra@duck.com> * fix init script Signed-off-by: pyranota <pyra@duck.com> * make it work on ms windows Signed-off-by: pyranota <pyra@duck.com> * do not clean env in the end Signed-off-by: pyranota <pyra@duck.com> * fix windows (again) Signed-off-by: pyranota <pyra@duck.com> * include PROXY_ENVS (untested) Signed-off-by: pyranota <pyra@duck.com> * feat: self-signed certs + proxy support (tested) Signed-off-by: pyranota <pyra@duck.com> * flake: pin ruby to 3.4 * merge follow-ups Signed-off-by: pyranota <pyra@duck.com> * remove obsolete libc crate Signed-off-by: pyranota <pyra@duck.com> * cleanup parser Signed-off-by: pyranota <pyra@duck.com> * fix java ci Signed-off-by: pyranota <pyra@duck.com> * cleanup Signed-off-by: pyranota <pyra@duck.com> * fix nits Signed-off-by: pyranota <pyra@duck.com> * Update backend/windmill-worker/src/universal_pkg_installer.rs Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Update backend/windmill-worker/src/ruby_executor.rs Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * add nsjail for lock stage Signed-off-by: pyranota <pyra@duck.com> * fix merge Signed-off-by: pyranota <pyra@duck.com> * Update common.rs * regen windmill-api-client Signed-off-by: pyranota <pyra@duck.com> * fix tests Signed-off-by: pyranota <pyra@duck.com> * fix tests again Signed-off-by: pyranota <pyra@duck.com> * reference published ruby parser Signed-off-by: pyranota <pyra@duck.com> --------- Signed-off-by: pyranota <pyra@duck.com> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
115 lines
3.0 KiB
Svelte
115 lines
3.0 KiB
Svelte
<script lang="ts">
|
|
import Highlight, { LineNumbers } from 'svelte-highlight'
|
|
import python from 'svelte-highlight/languages/python'
|
|
import typescript from 'svelte-highlight/languages/typescript'
|
|
import go from 'svelte-highlight/languages/go'
|
|
import shell from 'svelte-highlight/languages/shell'
|
|
import graphql from 'svelte-highlight/languages/graphql'
|
|
import javascript from 'svelte-highlight/languages/javascript'
|
|
import sql from 'svelte-highlight/languages/sql'
|
|
import powershell from 'svelte-highlight/languages/powershell'
|
|
import php from 'svelte-highlight/languages/php'
|
|
import rust from 'svelte-highlight/languages/rust'
|
|
import csharp from 'svelte-highlight/languages/csharp'
|
|
import yaml from 'svelte-highlight/languages/yaml'
|
|
import java from 'svelte-highlight/languages/java'
|
|
import ruby from 'svelte-highlight/languages/ruby'
|
|
import type { Script } from '$lib/gen'
|
|
import { Button } from './common'
|
|
import { copyToClipboard } from '$lib/utils'
|
|
import { ClipboardCopy } from 'lucide-svelte'
|
|
import HighlightTheme from './HighlightTheme.svelte'
|
|
import type { LanguageType } from 'svelte-highlight/languages'
|
|
|
|
export let code: string = ''
|
|
export let language: Script['language'] | 'bunnative' | 'frontend' | undefined
|
|
export let highlightLanguage: LanguageType<string> | undefined = undefined
|
|
export let lines = false
|
|
|
|
function getLang(lang: Script['language'] | 'bunnative' | 'frontend' | undefined) {
|
|
switch (lang) {
|
|
case 'python3':
|
|
return python
|
|
case 'deno':
|
|
return typescript
|
|
case 'nativets':
|
|
return typescript
|
|
case 'bun':
|
|
return typescript
|
|
case 'bunnative':
|
|
return typescript
|
|
case 'go':
|
|
return go
|
|
case 'bash':
|
|
return shell
|
|
case 'frontend':
|
|
return javascript
|
|
case 'graphql':
|
|
return graphql
|
|
case 'mysql':
|
|
return sql
|
|
case 'postgresql':
|
|
return sql
|
|
case 'snowflake':
|
|
return sql
|
|
case 'bigquery':
|
|
return sql
|
|
case 'oracledb':
|
|
return sql
|
|
case 'duckdb':
|
|
return sql
|
|
case 'powershell':
|
|
return powershell
|
|
case 'php':
|
|
return php
|
|
case 'rust':
|
|
return rust
|
|
case 'csharp':
|
|
return csharp
|
|
case 'nu':
|
|
return python
|
|
case 'ansible':
|
|
return yaml
|
|
case 'java':
|
|
return java;
|
|
case 'ruby':
|
|
return ruby;
|
|
// for related places search: ADD_NEW_LANG
|
|
default:
|
|
return typescript
|
|
}
|
|
}
|
|
|
|
$: lang = highlightLanguage ?? getLang(language)
|
|
</script>
|
|
|
|
<HighlightTheme />
|
|
|
|
<div class="relative">
|
|
<Button
|
|
wrapperClasses="absolute top-2 right-2 z-20"
|
|
on:click={() => copyToClipboard(code)}
|
|
color="light"
|
|
size="xs2"
|
|
startIcon={{
|
|
icon: ClipboardCopy
|
|
}}
|
|
iconOnly
|
|
/>
|
|
<div class="overflow-x-auto">
|
|
{#if code?.length < 10000}
|
|
{#if !lines}
|
|
<Highlight class="nowrap {$$props.class}" language={lang} {code} />
|
|
{:else}
|
|
<Highlight class="nowrap {$$props.class}" language={lang} {code} let:highlighted>
|
|
<LineNumbers {highlighted} />
|
|
</Highlight>
|
|
{/if}
|
|
{:else}
|
|
<pre class="overflow-auto max-h-screen text-xs {$$props.class}"
|
|
><code class="language-{language}">{code}</code></pre
|
|
>
|
|
{/if}
|
|
</div>
|
|
</div>
|