Skip to main content

Language

Enum Language 

Source
#[non_exhaustive]
#[repr(u8)]
pub enum Language {
Show 48 variants Asm = 0, Batch = 1, C = 2, Clojure = 3, CMake = 4, Cobol = 5, Cpp = 6, Cs = 7, Css = 8, Dart = 9, Dockerfile = 10, Elixir = 11, Erlang = 12, Gemfile = 13, Gemspec = 14, Go = 15, Gradle = 16, Groovy = 17, Haskell = 18, Html = 19, Ini = 20, Java = 21, JavaScript = 22, Json = 23, Julia = 24, Kotlin = 25, Lisp = 26, Lua = 27, Markdown = 28, ObjectiveC = 29, Ocaml = 30, Perl = 31, Php = 32, Powershell = 33, Python = 34, R = 35, Ruby = 36, Rust = 37, Scala = 38, Shell = 39, Sql = 40, Swift = 41, Toml = 42, TypeScript = 43, Vba = 44, Verilog = 45, Xml = 46, Yaml = 47,
}
Expand description

Source language predicted by the embedded Magika student model.

Languages parse from their model label slugs with str::parse.

let language = "rust".parse::<betlang::Language>()?;

assert_eq!(language, betlang::Language::Rust);
assert_eq!(language.slug(), "rust");

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Asm = 0

Model label "asm".

§

Batch = 1

Model label "batch".

§

C = 2

Model label "c".

§

Clojure = 3

Model label "clojure".

§

CMake = 4

Model label "cmake".

§

Cobol = 5

Model label "cobol".

§

Cpp = 6

Model label "cpp".

§

Cs = 7

Model label "cs".

§

Css = 8

Model label "css".

§

Dart = 9

Model label "dart".

§

Dockerfile = 10

Model label "dockerfile".

§

Elixir = 11

Model label "elixir".

§

Erlang = 12

Model label "erlang".

§

Gemfile = 13

Model label "gemfile".

§

Gemspec = 14

Model label "gemspec".

§

Go = 15

Model label "go".

§

Gradle = 16

Model label "gradle".

§

Groovy = 17

Model label "groovy".

§

Haskell = 18

Model label "haskell".

§

Html = 19

Model label "html".

§

Ini = 20

Model label "ini".

§

Java = 21

Model label "java".

§

JavaScript = 22

Model label "javascript".

§

Json = 23

Model label "json".

§

Julia = 24

Model label "julia".

§

Kotlin = 25

Model label "kotlin".

§

Lisp = 26

Model label "lisp".

§

Lua = 27

Model label "lua".

§

Markdown = 28

Model label "markdown".

§

ObjectiveC = 29

Model label "objectivec".

§

Ocaml = 30

Model label "ocaml".

§

Perl = 31

Model label "perl".

§

Php = 32

Model label "php".

§

Powershell = 33

Model label "powershell".

§

Python = 34

Model label "python".

§

R = 35

Model label "r".

§

Ruby = 36

Model label "ruby".

§

Rust = 37

Model label "rust".

§

Scala = 38

Model label "scala".

§

Shell = 39

Model label "shell".

§

Sql = 40

Model label "sql".

§

Swift = 41

Model label "swift".

§

Toml = 42

Model label "toml".

§

TypeScript = 43

Model label "typescript".

§

Vba = 44

Model label "vba".

§

Verilog = 45

Model label "verilog".

§

Xml = 46

Model label "xml".

§

Yaml = 47

Model label "yaml".

Implementations§

Source§

impl Language

Source

pub const fn slug(self) -> &'static str

Model label slug for this detected language.

assert_eq!(betlang::Language::Rust.slug(), "rust");

Trait Implementations§

Source§

impl Clone for Language

Source§

fn clone(&self) -> Language

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Language

Source§

impl Debug for Language

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Language

Source§

impl FromStr for Language

Parses a Language from its model label slug.

assert_eq!("rust".parse::<betlang::Language>()?, betlang::Language::Rust);
Source§

type Err = ParseLanguageError

The associated error which can be returned from parsing.
Source§

fn from_str(slug: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl Hash for Language

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Language

Source§

fn eq(&self, other: &Language) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Language

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(_simd: S, value: T) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.