Service

Struct Service 

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

Public facade invoked by Neovim (or any embedding host). Eventually this type will implement whatever trait the chosen RPC runtime expects.

Implementations§

Source§

impl Service

Source

pub fn new(config: Config, provider: Provider) -> Self

Source

pub fn start(&mut self) -> Result<(), ServiceError>

Bootstraps tsserver processes once

Source

pub fn dispatch_request( &mut self, route: Route, payload: Value, priority: Priority, ) -> Result<Vec<DispatchReceipt>, ServiceError>

Queues a request for the given route and returns the syntax seq (when applicable).

Source

pub fn cancel(&self, seq: u64) -> Result<(), ServiceError>

Cancels a pending request on both servers.

Source

pub fn poll_responses(&self) -> Vec<ServerEvent>

Drains any ready responses from syntax/semantic readers without blocking.

Source

pub fn workspace_root(&self) -> &Path

Source

pub fn update_config(&mut self, new_config: Config)

Source

pub fn restart( &mut self, restart_syntax: bool, restart_semantic: bool, ) -> Result<(), ServiceError>

Source

pub fn config(&self) -> &Config

Source

pub fn config_mut(&mut self) -> &mut Config

Source

pub fn tsserver_status(&self) -> TsserverStatus

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