mirror of
https://github.com/Myriad-Dreamin/tinymist.git
synced 2025-07-19 18:55:01 +00:00
feat: allow running server with loading font once and on rootless files (#94)
* dev: change system config * docs: update config doc * dev: clean up tightly coupled world * dev: load font once * docs: add more comments to tinymist-query * dev: merge compiler layers * feat: allow run lsp on rootless files * build: bump ts * fix: workspace dep * build: bump preview * dev: correctly check inactive state * fix: weird cargo default features
This commit is contained in:
parent
f0a9c3e880
commit
76b4e91046
46 changed files with 974 additions and 638 deletions
|
@ -1,17 +1,34 @@
|
|||
use typst_ts_compiler::NotifyApi;
|
||||
|
||||
use crate::{
|
||||
prelude::*,
|
||||
syntax::{get_lexical_hierarchy, LexicalHierarchy, LexicalScopeKind},
|
||||
SyntaxRequest,
|
||||
SemanticRequest,
|
||||
};
|
||||
|
||||
/// The [`workspace/symbol`] request is sent from the client to the server to
|
||||
/// list project-wide symbols matching the given query string.
|
||||
///
|
||||
/// [`workspace/symbol`]: https://microsoft.github.io/language-server-protocol/specification#workspace_symbol
|
||||
///
|
||||
/// # Compatibility
|
||||
///
|
||||
/// Since 3.17.0, servers can also provider a handler for
|
||||
/// [`workspaceSymbol/resolve`] requests. This allows servers to return
|
||||
/// workspace symbols without a range for a `workspace/symbol` request. Clients
|
||||
/// then need to resolve the range when necessary using the `workspaceSymbol/
|
||||
/// resolve` request.
|
||||
///
|
||||
/// [`workspaceSymbol/resolve`]: Self::symbol_resolve
|
||||
///
|
||||
/// Servers can only use this new model if clients advertise support for it via
|
||||
/// the `workspace.symbol.resolve_support` capability.
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct SymbolRequest {
|
||||
/// The query string to filter symbols by. It is usually the exact content
|
||||
/// of the user's input box in the UI.
|
||||
pub pattern: Option<String>,
|
||||
}
|
||||
|
||||
impl SyntaxRequest for SymbolRequest {
|
||||
impl SemanticRequest for SymbolRequest {
|
||||
type Response = Vec<SymbolInformation>;
|
||||
|
||||
fn request(self, ctx: &mut AnalysisContext) -> Option<Self::Response> {
|
||||
|
@ -19,7 +36,7 @@ impl SyntaxRequest for SymbolRequest {
|
|||
|
||||
let mut symbols = vec![];
|
||||
|
||||
ctx.world.iter_dependencies(&mut |path, _| {
|
||||
ctx.resources.iter_dependencies(&mut |path, _| {
|
||||
let Ok(source) = ctx.source_by_path(path) else {
|
||||
return;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue