Skip to main content

JsonLanguage

Struct JsonLanguage 

Source
pub struct JsonLanguage {
    pub trailing_comma: bool,
    pub bare_keys: bool,
    pub single_quotes: bool,
    pub comments: bool,
    pub hex_numbers: bool,
    pub infinity_and_nan: bool,
}
Expand description

JSON language implementation

Fields§

§trailing_comma: bool

Whether to allow trailing commas in objects and arrays

§bare_keys: bool

Whether to allow bare keys (unquoted keys) in objects

§single_quotes: bool

Whether to allow single-quoted strings

§comments: bool

Whether to allow comments (both line and block)

§hex_numbers: bool

Whether to allow hexadecimal numbers (e.g., 0xDEADBEEF)

§infinity_and_nan: bool

Whether to allow Infinity, -Infinity, and NaN

Implementations§

Source§

impl JsonLanguage

Source

pub fn new() -> Self

Creates a new JSON language instance with default settings.

Source

pub fn standard() -> Self

Creates a standard JSON language instance (no extensions).

Source

pub fn json5() -> Self

Creates a JSON5 language instance with all extensions enabled.

Source

pub fn relaxed() -> Self

Creates a relaxed JSON language instance with all extensions enabled.

Trait Implementations§

Source§

impl<'config> Builder<JsonLanguage> for JsonBuilder<'config>

Source§

fn build<'a, S: Source + ?Sized>( &self, source: &S, edits: &[TextEdit], _cache: &'a mut impl BuilderCache<JsonLanguage>, ) -> OakDiagnostics<JsonRoot>

Builds the higher-level structure (typically an AST) from the source text. Read more
Source§

impl Clone for JsonLanguage

Source§

fn clone(&self) -> JsonLanguage

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 JsonLanguage

Source§

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

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

impl Default for JsonLanguage

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for JsonLanguage

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Hash for JsonLanguage

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 HoverProvider<JsonLanguage> for JsonHoverProvider

Available on crate feature lsp only.
Source§

fn hover( &self, node: &RedNode<'_, JsonLanguage>, _range: Range<usize>, ) -> Option<Hover>

Returns hover information at the given range.
Source§

impl Language for JsonLanguage

Source§

const NAME: &'static str = "json"

The name of the language (e.g., “rust”, “sql”).
Source§

const CATEGORY: LanguageCategory = LanguageCategory::Config

The category of the language.
Source§

type TokenType = JsonTokenType

The token type used to represent different token and node types in the language. Read more
Source§

type ElementType = JsonElementType

The element type used to represent composite structures in the parsed tree. Read more
Source§

type TypedRoot = JsonRoot

The root type for the parsed tree that represents the top-level structure of the language. Read more
Source§

impl<'config> Lexer<JsonLanguage> for JsonLexer<'config>

Source§

fn lex<'a, S: Source + ?Sized>( &self, source: &'a S, _edits: &[TextEdit], cache: &'a mut impl LexerCache<JsonLanguage>, ) -> LexOutput<JsonLanguage>

Tokenizes the source text into a sequence of tokens. Read more
Source§

impl<'config> Parser<JsonLanguage> for JsonParser<'config>

Source§

fn parse<'a, S: Source + ?Sized>( &self, text: &'a S, edits: &[TextEdit], cache: &'a mut impl ParseCache<JsonLanguage>, ) -> ParseOutput<'a, JsonLanguage>

The core parsing entry point for converting tokens into a syntax tree. Read more
Source§

impl PartialEq for JsonLanguage

Source§

fn eq(&self, other: &JsonLanguage) -> 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 JsonLanguage

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for JsonLanguage

Source§

impl Eq for JsonLanguage

Source§

impl StructuralPartialEq for JsonLanguage

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

Checks if this value is equivalent to the given key. 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> 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,