1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
16pub enum ScriptLang {
17 #[serde(rename = "python3")]
18 Python3,
19 #[serde(rename = "deno")]
20 Deno,
21 #[serde(rename = "go")]
22 Go,
23 #[serde(rename = "bash")]
24 Bash,
25 #[serde(rename = "powershell")]
26 Powershell,
27 #[serde(rename = "postgresql")]
28 Postgresql,
29 #[serde(rename = "mysql")]
30 Mysql,
31 #[serde(rename = "bigquery")]
32 Bigquery,
33 #[serde(rename = "snowflake")]
34 Snowflake,
35 #[serde(rename = "mssql")]
36 Mssql,
37 #[serde(rename = "oracledb")]
38 Oracledb,
39 #[serde(rename = "graphql")]
40 Graphql,
41 #[serde(rename = "nativets")]
42 Nativets,
43 #[serde(rename = "bun")]
44 Bun,
45 #[serde(rename = "php")]
46 Php,
47 #[serde(rename = "rust")]
48 Rust,
49 #[serde(rename = "ansible")]
50 Ansible,
51 #[serde(rename = "csharp")]
52 Csharp,
53 #[serde(rename = "nu")]
54 Nu,
55 #[serde(rename = "java")]
56 Java,
57 #[serde(rename = "ruby")]
58 Ruby,
59 #[serde(rename = "rlang")]
60 Rlang,
61 #[serde(rename = "duckdb")]
62 Duckdb,
63 #[serde(rename = "bunnative")]
64 Bunnative,
65 #[serde(rename = "dbt")]
66 Dbt,
67
68}
69
70impl std::fmt::Display for ScriptLang {
71 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
72 match self {
73 Self::Python3 => write!(f, "python3"),
74 Self::Deno => write!(f, "deno"),
75 Self::Go => write!(f, "go"),
76 Self::Bash => write!(f, "bash"),
77 Self::Powershell => write!(f, "powershell"),
78 Self::Postgresql => write!(f, "postgresql"),
79 Self::Mysql => write!(f, "mysql"),
80 Self::Bigquery => write!(f, "bigquery"),
81 Self::Snowflake => write!(f, "snowflake"),
82 Self::Mssql => write!(f, "mssql"),
83 Self::Oracledb => write!(f, "oracledb"),
84 Self::Graphql => write!(f, "graphql"),
85 Self::Nativets => write!(f, "nativets"),
86 Self::Bun => write!(f, "bun"),
87 Self::Php => write!(f, "php"),
88 Self::Rust => write!(f, "rust"),
89 Self::Ansible => write!(f, "ansible"),
90 Self::Csharp => write!(f, "csharp"),
91 Self::Nu => write!(f, "nu"),
92 Self::Java => write!(f, "java"),
93 Self::Ruby => write!(f, "ruby"),
94 Self::Rlang => write!(f, "rlang"),
95 Self::Duckdb => write!(f, "duckdb"),
96 Self::Bunnative => write!(f, "bunnative"),
97 Self::Dbt => write!(f, "dbt"),
98 }
99 }
100}
101
102impl Default for ScriptLang {
103 fn default() -> ScriptLang {
104 Self::Python3
105 }
106}
107