mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
Merge #3820
3820: Remove old syntax highlighting r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
This commit is contained in:
commit
98f7842e40
9 changed files with 3 additions and 359 deletions
|
@ -16,7 +16,6 @@ use serde::Deserialize;
|
|||
#[derive(Debug, Clone)]
|
||||
pub struct Config {
|
||||
pub client_caps: ClientCapsConfig,
|
||||
pub publish_decorations: bool,
|
||||
pub publish_diagnostics: bool,
|
||||
pub notifications: NotificationsConfig,
|
||||
pub inlay_hints: InlayHintsConfig,
|
||||
|
@ -60,7 +59,6 @@ pub struct ClientCapsConfig {
|
|||
impl Default for Config {
|
||||
fn default() -> Self {
|
||||
Config {
|
||||
publish_decorations: false,
|
||||
publish_diagnostics: true,
|
||||
notifications: NotificationsConfig {
|
||||
workspace_loaded: true,
|
||||
|
@ -105,7 +103,6 @@ impl Config {
|
|||
*self = Default::default();
|
||||
self.client_caps = client_caps;
|
||||
|
||||
set(value, "/publishDecorations", &mut self.publish_decorations);
|
||||
set(value, "/excludeGlobs", &mut self.exclude_globs);
|
||||
set(value, "/useClientWatching", &mut self.use_client_watching);
|
||||
set(value, "/lruCapacity", &mut self.lru_capacity);
|
||||
|
|
|
@ -250,9 +250,7 @@ impl fmt::Debug for Event {
|
|||
}
|
||||
}
|
||||
Event::Task(Task::Notify(not)) => {
|
||||
if notification_is::<req::PublishDecorations>(not)
|
||||
|| notification_is::<req::PublishDiagnostics>(not)
|
||||
{
|
||||
if notification_is::<req::PublishDiagnostics>(not) {
|
||||
return debug_verbose_not(not, f);
|
||||
}
|
||||
}
|
||||
|
@ -427,7 +425,6 @@ fn loop_turn(
|
|||
update_file_notifications_on_threadpool(
|
||||
pool,
|
||||
world_state.snapshot(),
|
||||
world_state.config.publish_decorations,
|
||||
task_sender.clone(),
|
||||
loop_state.subscriptions.subscriptions(),
|
||||
)
|
||||
|
@ -508,7 +505,6 @@ fn on_request(
|
|||
.on::<req::GotoTypeDefinition>(handlers::handle_goto_type_definition)?
|
||||
.on::<req::ParentModule>(handlers::handle_parent_module)?
|
||||
.on::<req::Runnables>(handlers::handle_runnables)?
|
||||
.on::<req::DecorationsRequest>(handlers::handle_decorations)?
|
||||
.on::<req::Completion>(handlers::handle_completion)?
|
||||
.on::<req::CodeActionRequest>(handlers::handle_code_action)?
|
||||
.on::<req::CodeLensRequest>(handlers::handle_code_lens)?
|
||||
|
@ -884,7 +880,6 @@ where
|
|||
fn update_file_notifications_on_threadpool(
|
||||
pool: &ThreadPool,
|
||||
world: WorldSnapshot,
|
||||
publish_decorations: bool,
|
||||
task_sender: Sender<Task>,
|
||||
subscriptions: Vec<FileId>,
|
||||
) {
|
||||
|
@ -904,19 +899,6 @@ fn update_file_notifications_on_threadpool(
|
|||
}
|
||||
}
|
||||
}
|
||||
if publish_decorations {
|
||||
match handlers::publish_decorations(&world, file_id) {
|
||||
Err(e) => {
|
||||
if !is_canceled(&e) {
|
||||
log::error!("failed to compute decorations: {:?}", e);
|
||||
}
|
||||
}
|
||||
Ok(params) => {
|
||||
let not = notification_new::<req::PublishDecorations>(params);
|
||||
task_sender.send(Task::Notify(not)).unwrap();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ use crate::{
|
|||
},
|
||||
diagnostics::DiagnosticTask,
|
||||
from_json,
|
||||
req::{self, Decoration, InlayHint, InlayHintsParams},
|
||||
req::{self, InlayHint, InlayHintsParams},
|
||||
semantic_tokens::SemanticTokensBuilder,
|
||||
world::WorldSnapshot,
|
||||
LspError, Result,
|
||||
|
@ -389,15 +389,6 @@ pub fn handle_runnables(
|
|||
Ok(res)
|
||||
}
|
||||
|
||||
pub fn handle_decorations(
|
||||
world: WorldSnapshot,
|
||||
params: TextDocumentIdentifier,
|
||||
) -> Result<Vec<Decoration>> {
|
||||
let _p = profile("handle_decorations");
|
||||
let file_id = params.try_conv_with(&world)?;
|
||||
highlight(&world, file_id)
|
||||
}
|
||||
|
||||
pub fn handle_completion(
|
||||
world: WorldSnapshot,
|
||||
params: req::CompletionParams,
|
||||
|
@ -970,15 +961,6 @@ pub fn publish_diagnostics(world: &WorldSnapshot, file_id: FileId) -> Result<Dia
|
|||
Ok(DiagnosticTask::SetNative(file_id, diagnostics))
|
||||
}
|
||||
|
||||
pub fn publish_decorations(
|
||||
world: &WorldSnapshot,
|
||||
file_id: FileId,
|
||||
) -> Result<req::PublishDecorationsParams> {
|
||||
let _p = profile("publish_decorations");
|
||||
let uri = world.file_id_to_uri(file_id)?;
|
||||
Ok(req::PublishDecorationsParams { uri, decorations: highlight(&world, file_id)? })
|
||||
}
|
||||
|
||||
fn to_lsp_runnable(
|
||||
world: &WorldSnapshot,
|
||||
file_id: FileId,
|
||||
|
@ -1008,21 +990,6 @@ fn to_lsp_runnable(
|
|||
})
|
||||
}
|
||||
|
||||
fn highlight(world: &WorldSnapshot, file_id: FileId) -> Result<Vec<Decoration>> {
|
||||
let line_index = world.analysis().file_line_index(file_id)?;
|
||||
let res = world
|
||||
.analysis()
|
||||
.highlight(file_id)?
|
||||
.into_iter()
|
||||
.map(|h| Decoration {
|
||||
range: h.range.conv_with(&line_index),
|
||||
tag: h.highlight.to_string(),
|
||||
binding_hash: h.binding_hash.map(|x| x.to_string()),
|
||||
})
|
||||
.collect();
|
||||
Ok(res)
|
||||
}
|
||||
|
||||
pub fn handle_inlay_hints(
|
||||
world: WorldSnapshot,
|
||||
params: InlayHintsParams,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//! Defines `rust-analyzer` specific custom messages.
|
||||
|
||||
use lsp_types::{Location, Position, Range, TextDocumentIdentifier, Url};
|
||||
use lsp_types::{Location, Position, Range, TextDocumentIdentifier};
|
||||
use rustc_hash::FxHashMap;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
|
@ -86,36 +86,6 @@ pub struct FindMatchingBraceParams {
|
|||
pub offsets: Vec<Position>,
|
||||
}
|
||||
|
||||
pub enum DecorationsRequest {}
|
||||
|
||||
impl Request for DecorationsRequest {
|
||||
type Params = TextDocumentIdentifier;
|
||||
type Result = Vec<Decoration>;
|
||||
const METHOD: &'static str = "rust-analyzer/decorationsRequest";
|
||||
}
|
||||
|
||||
pub enum PublishDecorations {}
|
||||
|
||||
impl Notification for PublishDecorations {
|
||||
type Params = PublishDecorationsParams;
|
||||
const METHOD: &'static str = "rust-analyzer/publishDecorations";
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Serialize, Debug)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct PublishDecorationsParams {
|
||||
pub uri: Url,
|
||||
pub decorations: Vec<Decoration>,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Serialize, Debug)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct Decoration {
|
||||
pub range: Range,
|
||||
pub tag: String,
|
||||
pub binding_hash: Option<String>,
|
||||
}
|
||||
|
||||
pub enum ParentModule {}
|
||||
|
||||
impl Request for ParentModule {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue