pub struct SemanticTokensClientCapabilities {
pub dynamic_registration: Option<bool>,
pub requests: SemanticTokensClientCapabilitiesRequests,
pub token_types: Vec<SemanticTokenType>,
pub token_modifiers: Vec<SemanticTokenModifier>,
pub formats: Vec<TokenFormat>,
pub overlapping_token_support: Option<bool>,
pub multiline_token_support: Option<bool>,
pub server_cancel_support: Option<bool>,
pub augments_syntax_tokens: Option<bool>,
}
Expand description
Capabilities specific to the textDocument/semanticTokens/*
requests.
@since 3.16.0
Fields§
§dynamic_registration: Option<bool>
Whether implementation supports dynamic registration. If this is set to true
the client supports the new (TextDocumentRegistrationOptions & StaticRegistrationOptions)
return value for the corresponding server capability as well.
requests: SemanticTokensClientCapabilitiesRequests
Which requests the client supports and might send to the server
depending on the server’s capability. Please note that clients might not
show semantic tokens or degrade some of the user experience if a range
or full request is advertised by the client but not provided by the
server. If for example the client capability requests.full
and
request.range
are both set to true but the server only provides a
range provider the client might not render a minimap correctly or might
even decide to not show any semantic tokens at all.
token_types: Vec<SemanticTokenType>
The token types that the client supports.
token_modifiers: Vec<SemanticTokenModifier>
The token modifiers that the client supports.
formats: Vec<TokenFormat>
The token formats the clients supports.
overlapping_token_support: Option<bool>
Whether the client supports tokens that can overlap each other.
multiline_token_support: Option<bool>
Whether the client supports tokens that can span multiple lines.
server_cancel_support: Option<bool>
Whether the client allows the server to actively cancel a semantic token request, e.g. supports returning ErrorCodes.ServerCancelled. If a server does the client needs to retrigger the request.
@since 3.17.0
augments_syntax_tokens: Option<bool>
Whether the client uses semantic tokens to augment existing
syntax tokens. If set to true
client side created syntax
tokens and semantic tokens are both used for colorization. If
set to false
the client only uses the returned semantic tokens
for colorization.
If the value is undefined
then the client behavior is not
specified.
@since 3.17.0
Trait Implementations§
source§impl Clone for SemanticTokensClientCapabilities
impl Clone for SemanticTokensClientCapabilities
source§fn clone(&self) -> SemanticTokensClientCapabilities
fn clone(&self) -> SemanticTokensClientCapabilities
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for SemanticTokensClientCapabilities
impl Default for SemanticTokensClientCapabilities
source§fn default() -> SemanticTokensClientCapabilities
fn default() -> SemanticTokensClientCapabilities
source§impl<'de> Deserialize<'de> for SemanticTokensClientCapabilities
impl<'de> Deserialize<'de> for SemanticTokensClientCapabilities
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl PartialEq for SemanticTokensClientCapabilities
impl PartialEq for SemanticTokensClientCapabilities
source§fn eq(&self, other: &SemanticTokensClientCapabilities) -> bool
fn eq(&self, other: &SemanticTokensClientCapabilities) -> bool
self
and other
values to be equal, and is used by ==
.impl Eq for SemanticTokensClientCapabilities
impl StructuralPartialEq for SemanticTokensClientCapabilities
Auto Trait Implementations§
impl Freeze for SemanticTokensClientCapabilities
impl RefUnwindSafe for SemanticTokensClientCapabilities
impl Send for SemanticTokensClientCapabilities
impl Sync for SemanticTokensClientCapabilities
impl Unpin for SemanticTokensClientCapabilities
impl UnwindSafe for SemanticTokensClientCapabilities
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.