Language

Enum Language 

Source
#[non_exhaustive]
pub enum Language {
Show 125 variants Dotenv, Abap, Abnf, Ats, Ada, Agda, Arduino, Assembly, Astro, Autohotkey, BatchFile, C, CSharp, CPlusPlus, Cmake, Css, Csv, Ceylon, Clojure, Coffeescript, Coldfusion, CommonLisp, Coq, Crystal, D, Dart, Docker, Elixir, Elm, EmacsLisp, Emojicode, Erlang, FSharp, FortranLegacy, Forth, FortranModern, Gdscript, Glsl, GithubWorkflow, Gleam, Go, Graphql, Groovy, Hcl, Hlsl, Html, Haskell, Haxe, Holyc, Idris, IgnoreList, Json, JsonWithComments, Java, Javascript, JinjaLike, Jsonnet, Jule, Julia, JupyterNotebook, Kotlin, Llvm, Lua, Makefile, Markdown, Mermaid, Nim, Nix, Ocaml, ObjectiveC, Odin, Openscad, Org, Oz, Php, Pascal, Perl, PlainText, Powershell, Processing, Prolog, ProtocolBuffer, Pug, Purescript, Python, PythonRequirementsFile, Qml, R, Racket, Raku, Regex, RenPy, Ruby, Rust, Sql, Svg, Sass, Scala, Scheme, Shell, Solidity, Svelte, Swift, Systemverilog, Toml, Tsv, Tcl, Tex, Typescript, Typespec, Vhdl, Vala, Verilog, VimScript, VisualBasic, Vue, Webassembly, Wolfram, Xaml, Xml, Xsl, Yaml, Zig, Fish, RestructuredText,
}
Expand description

The type of language. Returned by language detection.

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.
§

Dotenv

§

Abap

§

Abnf

§

Ats

§

Ada

§

Agda

§

Arduino

§

Assembly

§

Astro

§

Autohotkey

§

BatchFile

§

C

§

CSharp

§

CPlusPlus

§

Cmake

§

Css

§

Csv

§

Ceylon

§

Clojure

§

Coffeescript

§

Coldfusion

§

CommonLisp

§

Coq

§

Crystal

§

D

§

Dart

§

Docker

§

Elixir

§

Elm

§

EmacsLisp

§

Emojicode

§

Erlang

§

FSharp

§

FortranLegacy

§

Forth

§

FortranModern

§

Gdscript

§

Glsl

§

GithubWorkflow

§

Gleam

§

Go

§

Graphql

§

Groovy

§

Hcl

§

Hlsl

§

Html

§

Haskell

§

Haxe

§

Holyc

§

Idris

§

IgnoreList

§

Json

§

JsonWithComments

§

Java

§

Javascript

§

JinjaLike

§

Jsonnet

§

Jule

§

Julia

§

JupyterNotebook

§

Kotlin

§

Llvm

§

Lua

§

Makefile

§

Markdown

§

Mermaid

§

Nim

§

Nix

§

Ocaml

§

ObjectiveC

§

Odin

§

Openscad

§

Org

§

Oz

§

Php

§

Pascal

§

Perl

§

PlainText

§

Powershell

§

Processing

§

Prolog

§

ProtocolBuffer

§

Pug

§

Purescript

§

Python

§

PythonRequirementsFile

§

Qml

§

R

§

Racket

§

Raku

§

Regex

§

RenPy

§

Ruby

§

Rust

§

Sql

§

Svg

§

Sass

§

Scala

§

Scheme

§

Shell

§

Solidity

§

Svelte

§

Swift

§

Systemverilog

§

Toml

§

Tsv

§

Tcl

§

Tex

§

Typescript

§

Typespec

§

Vhdl

§

Vala

§

Verilog

§

VimScript

§

VisualBasic

§

Vue

§

Webassembly

§

Wolfram

§

Xaml

§

Xml

§

Xsl

§

Yaml

§

Zig

§

Fish

§

RestructuredText

Implementations§

Source§

impl Language

Source

pub const fn category(&self) -> Category

Gets the category of the language.

Source§

impl Language

Source

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

Gets the name of the language.

Source§

impl Language

Source

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

Gets the hex code associated with the language.

Source§

impl Language

Source

pub const fn rgb(&self) -> (u8, u8, u8)

Gets the RGB color associated with the language.

Source§

impl Language

Source

pub const fn nerd_font_glyph(&self) -> Option<&'static str>

Gets the Nerd Font glyph associated with the language.

Source§

impl Language

Source

pub const fn priority(&self) -> u8

Gets the priority of the language. This is useful for sorting languages when multiple languages are detected.

Source§

impl Language

Source

pub fn from_extension(extension: &str) -> Vec<Language>

Gets languages by extension.

Source§

impl Language

Source

pub fn from_filename(filename: &str) -> Vec<Language>

Gets languages by filename.

Source§

impl Language

Source

pub fn from_interpreter(interpreter: &str) -> Vec<Language>

Gets languages by interpreter (typically found as part of a shebang).

Source§

impl Language

Source

pub fn from_glob(path: impl AsRef<Path>) -> Vec<Language>

Gets the languages that match a glob pattern.

Source

pub fn pick( path: impl AsRef<Path>, contents: &[u8], read_limit: usize, ) -> Option<Language>

Picks the best guess from a file’s name and contents.

When checking heuristics, only the first read_limit bytes will be read.

Trait Implementations§

Source§

impl Clone for Language

Source§

fn clone(&self) -> Language

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Language

Source§

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

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

impl FromStr for Language

Source§

fn from_str(s: &str) -> Result<Language, <Language as FromStr>::Err>

Converts a string of the variant’s name into that variant. This can be useful for setting up language overrides.

Source§

type Err = ParseError

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

impl Hash for Language

Source§

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

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Language

Source§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serializes the language into a string.

Source§

impl Copy for Language

Source§

impl Eq for Language

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.