Skip to main content

CssVariableManager

Struct CssVariableManager 

Source
pub struct CssVariableManager { /* private fields */ }
Expand description

Manages CSS variables across the workspace

Implementations§

Source§

impl CssVariableManager

Source

pub fn new(config: Config) -> Self

Source

pub async fn accept_document_version(&self, uri: &Uri, version: i64) -> bool

Record a document version if it is newer than the last accepted version.

Returning false for equal or older versions lets LSP notification handlers discard duplicate and stale changes before mutating their text snapshots.

Source

pub async fn clear_document_version(&self, uri: &Uri)

Forget the version associated with a document that is no longer open.

Source

pub async fn get_document_version(&self, uri: &Uri) -> Option<i64>

Return the latest accepted version for an open document.

Source

pub async fn add_variable(&self, variable: CssVariable) -> Result<(), String>

Add a variable definition

Source

pub async fn add_variables( &self, variables: Vec<CssVariable>, ) -> Result<(), String>

Add variable definitions atomically under one variables lock.

Source

pub async fn replace_document_variables( &self, uri: &Uri, variables: Vec<CssVariable>, ) -> Result<(), String>

Atomically replace all variable definitions owned by one document.

Source

pub async fn replace_document_analysis( &self, uri: &Uri, variables: Vec<CssVariable>, usages: Vec<CssVariableUsage>, ) -> Result<(), String>

Atomically replace variable definitions and usages owned by one document.

Source

pub async fn replace_document_analysis_at_version( &self, uri: &Uri, version: i64, variables: Vec<CssVariable>, usages: Vec<CssVariableUsage>, ) -> Result<bool, String>

Replace one document’s analysis only if its version is still current.

The version lock is held for the complete tracked/variables/usages replacement, so a newer accepted version cannot make this parse obsolete between the check and the commit.

Source

pub async fn add_usage(&self, usage: CssVariableUsage)

Add a variable usage

Source

pub async fn add_literal_color(&self, occurrence: LiteralColorOccurrence)

Add a literal color occurrence

Source

pub async fn get_variables(&self, name: &str) -> Vec<CssVariable>

Get all definitions of a variable

Source

pub async fn get_usages(&self, name: &str) -> Vec<CssVariableUsage>

Get all usages of a variable

Source

pub async fn resolve_variable_color(&self, name: &str) -> Option<Color>

Resolve a variable name to a color using cascade ordering and var() chains.

Source

pub async fn resolve_variable_color_key( &self, name: &str, ) -> Option<NormalizedColorKey>

Resolve a variable name to a normalized color key using cascade ordering and var() chains.

Source

pub async fn get_all_variables(&self) -> Vec<CssVariable>

Get all variables (for completion)

Source

pub async fn get_references( &self, name: &str, ) -> (Vec<CssVariable>, Vec<CssVariableUsage>)

Get all references (definitions + usages) for a variable

Source

pub async fn get_document_literal_colors( &self, uri: &Uri, ) -> Vec<LiteralColorOccurrence>

Get literal color occurrences in a specific document.

Source

pub async fn get_literal_colors_at_position( &self, uri: &Uri, position: Position, ) -> Vec<LiteralColorOccurrence>

Get literal color occurrences at a specific position (O(1) line lookup + O(k) scan).

Source

pub async fn get_variables_by_color_key( &self, key: &NormalizedColorKey, ) -> Vec<CssVariable>

Get all variables whose resolved color exactly matches the normalized color key.

Source

pub async fn get_document_resolved_color_keys( &self, uri: &Uri, ) -> HashSet<NormalizedColorKey>

Get the set of resolved variable colors currently defined in a specific document.

Source

pub async fn remove_document(&self, uri: &Uri)

Remove all data for a document

Source

pub async fn remove_documents(&self, uris: &HashSet<Uri>)

Remove all data for a set of documents.

Source

pub async fn get_document_uris(&self) -> HashSet<Uri>

Get every document URI currently represented in manager state.

Source

pub async fn get_document_variables(&self, uri: &Uri) -> Vec<CssVariable>

Get all variables defined in a specific document

Source

pub async fn get_document_variable_names(&self, uri: &Uri) -> HashSet<String>

Get the set of variable names defined in a specific document

Source

pub async fn get_document_usages(&self, uri: &Uri) -> Vec<CssVariableUsage>

Get all variable usages in a specific document

Source

pub async fn set_dom_tree(&self, uri: Uri, dom_tree: DomTree)

Set DOM tree for a document

Source

pub async fn get_dom_tree(&self, uri: &Uri) -> Option<DomTree>

Get DOM tree for a document

Source

pub async fn get_config(&self) -> Config

Get current configuration

Source

pub async fn set_config(&self, config: Config)

Replace the current configuration.

Source

pub async fn rebuild_color_index(&self)

Rebuild the normalized-color -> variable-name lookup from current workspace state.

Trait Implementations§

Source§

impl Clone for CssVariableManager

Source§

fn clone(&self) -> CssVariableManager

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

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<'a, T> FromIn<'a, T> for T

Source§

fn from_in(t: T, _: &'a Allocator) -> T

Converts to this type from the input type within the given allocator.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<'a, T, U> IntoIn<'a, U> for T
where U: FromIn<'a, T>,

Source§

fn into_in(self, allocator: &'a Allocator) -> U

Converts this type into the (usually inferred) input type within the given allocator.
Source§

impl<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
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<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more