pub struct CssVariableManager { /* private fields */ }Expand description
Manages CSS variables across the workspace
Implementations§
Source§impl CssVariableManager
impl CssVariableManager
pub fn new(config: Config) -> Self
Sourcepub async fn accept_document_version(&self, uri: &Uri, version: i64) -> bool
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.
Sourcepub async fn clear_document_version(&self, uri: &Uri)
pub async fn clear_document_version(&self, uri: &Uri)
Forget the version associated with a document that is no longer open.
Sourcepub async fn get_document_version(&self, uri: &Uri) -> Option<i64>
pub async fn get_document_version(&self, uri: &Uri) -> Option<i64>
Return the latest accepted version for an open document.
Sourcepub async fn add_variable(&self, variable: CssVariable) -> Result<(), String>
pub async fn add_variable(&self, variable: CssVariable) -> Result<(), String>
Add a variable definition
Sourcepub async fn add_variables(
&self,
variables: Vec<CssVariable>,
) -> Result<(), String>
pub async fn add_variables( &self, variables: Vec<CssVariable>, ) -> Result<(), String>
Add variable definitions atomically under one variables lock.
Sourcepub async fn replace_document_variables(
&self,
uri: &Uri,
variables: Vec<CssVariable>,
) -> Result<(), String>
pub async fn replace_document_variables( &self, uri: &Uri, variables: Vec<CssVariable>, ) -> Result<(), String>
Atomically replace all variable definitions owned by one document.
Sourcepub async fn replace_document_analysis(
&self,
uri: &Uri,
variables: Vec<CssVariable>,
usages: Vec<CssVariableUsage>,
) -> Result<(), String>
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.
Sourcepub async fn replace_document_analysis_at_version(
&self,
uri: &Uri,
version: i64,
variables: Vec<CssVariable>,
usages: Vec<CssVariableUsage>,
) -> Result<bool, String>
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.
Sourcepub async fn add_usage(&self, usage: CssVariableUsage)
pub async fn add_usage(&self, usage: CssVariableUsage)
Add a variable usage
Sourcepub async fn add_literal_color(&self, occurrence: LiteralColorOccurrence)
pub async fn add_literal_color(&self, occurrence: LiteralColorOccurrence)
Add a literal color occurrence
Sourcepub async fn get_variables(&self, name: &str) -> Vec<CssVariable>
pub async fn get_variables(&self, name: &str) -> Vec<CssVariable>
Get all definitions of a variable
Sourcepub async fn get_usages(&self, name: &str) -> Vec<CssVariableUsage>
pub async fn get_usages(&self, name: &str) -> Vec<CssVariableUsage>
Get all usages of a variable
Sourcepub async fn resolve_variable_color(&self, name: &str) -> Option<Color>
pub async fn resolve_variable_color(&self, name: &str) -> Option<Color>
Resolve a variable name to a color using cascade ordering and var() chains.
Sourcepub async fn resolve_variable_color_key(
&self,
name: &str,
) -> Option<NormalizedColorKey>
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.
Sourcepub async fn get_all_variables(&self) -> Vec<CssVariable>
pub async fn get_all_variables(&self) -> Vec<CssVariable>
Get all variables (for completion)
Sourcepub async fn get_references(
&self,
name: &str,
) -> (Vec<CssVariable>, Vec<CssVariableUsage>)
pub async fn get_references( &self, name: &str, ) -> (Vec<CssVariable>, Vec<CssVariableUsage>)
Get all references (definitions + usages) for a variable
Sourcepub async fn get_document_literal_colors(
&self,
uri: &Uri,
) -> Vec<LiteralColorOccurrence>
pub async fn get_document_literal_colors( &self, uri: &Uri, ) -> Vec<LiteralColorOccurrence>
Get literal color occurrences in a specific document.
Sourcepub async fn get_literal_colors_at_position(
&self,
uri: &Uri,
position: Position,
) -> Vec<LiteralColorOccurrence>
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).
Sourcepub async fn get_variables_by_color_key(
&self,
key: &NormalizedColorKey,
) -> Vec<CssVariable>
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.
Sourcepub async fn get_document_resolved_color_keys(
&self,
uri: &Uri,
) -> HashSet<NormalizedColorKey>
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.
Sourcepub async fn remove_document(&self, uri: &Uri)
pub async fn remove_document(&self, uri: &Uri)
Remove all data for a document
Sourcepub async fn remove_documents(&self, uris: &HashSet<Uri>)
pub async fn remove_documents(&self, uris: &HashSet<Uri>)
Remove all data for a set of documents.
Sourcepub async fn get_document_uris(&self) -> HashSet<Uri>
pub async fn get_document_uris(&self) -> HashSet<Uri>
Get every document URI currently represented in manager state.
Sourcepub async fn get_document_variables(&self, uri: &Uri) -> Vec<CssVariable>
pub async fn get_document_variables(&self, uri: &Uri) -> Vec<CssVariable>
Get all variables defined in a specific document
Sourcepub async fn get_document_variable_names(&self, uri: &Uri) -> HashSet<String>
pub async fn get_document_variable_names(&self, uri: &Uri) -> HashSet<String>
Get the set of variable names defined in a specific document
Sourcepub async fn get_document_usages(&self, uri: &Uri) -> Vec<CssVariableUsage>
pub async fn get_document_usages(&self, uri: &Uri) -> Vec<CssVariableUsage>
Get all variable usages in a specific document
Sourcepub async fn set_dom_tree(&self, uri: Uri, dom_tree: DomTree)
pub async fn set_dom_tree(&self, uri: Uri, dom_tree: DomTree)
Set DOM tree for a document
Sourcepub async fn get_dom_tree(&self, uri: &Uri) -> Option<DomTree>
pub async fn get_dom_tree(&self, uri: &Uri) -> Option<DomTree>
Get DOM tree for a document
Sourcepub async fn get_config(&self) -> Config
pub async fn get_config(&self) -> Config
Get current configuration
Sourcepub async fn set_config(&self, config: Config)
pub async fn set_config(&self, config: Config)
Replace the current configuration.
Sourcepub async fn rebuild_color_index(&self)
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
impl Clone for CssVariableManager
Source§fn clone(&self) -> CssVariableManager
fn clone(&self) -> CssVariableManager
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for CssVariableManager
impl !UnwindSafe for CssVariableManager
impl Freeze for CssVariableManager
impl Send for CssVariableManager
impl Sync for CssVariableManager
impl Unpin for CssVariableManager
impl UnsafeUnpin for CssVariableManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more