Skip to content

Commit 87866cf

Browse files
authored
revert: "feat(lsp): add codeActionKinds" (#3897)
1 parent eebf20f commit 87866cf

File tree

2 files changed

+4
-122
lines changed

2 files changed

+4
-122
lines changed

crates/biome_lsp/src/capabilities.rs

+3-17
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
use crate::converters::{negotiated_encoding, PositionEncoding, WideEncoding};
22
use tower_lsp::lsp_types::{
3-
ClientCapabilities, CodeActionKind, CodeActionOptions, CodeActionProviderCapability,
4-
DocumentOnTypeFormattingOptions, OneOf, PositionEncodingKind, ServerCapabilities,
5-
TextDocumentSyncCapability, TextDocumentSyncKind,
3+
ClientCapabilities, CodeActionProviderCapability, DocumentOnTypeFormattingOptions, OneOf,
4+
PositionEncodingKind, ServerCapabilities, TextDocumentSyncCapability, TextDocumentSyncKind,
65
};
76

87
/// The capabilities to send from server as part of [`InitializeResult`]
@@ -51,19 +50,6 @@ pub(crate) fn server_capabilities(capabilities: &ClientCapabilities) -> ServerCa
5150
}
5251
});
5352

54-
let code_action_provider = capabilities
55-
.text_document
56-
.as_ref()
57-
.and_then(|text_document| text_document.code_action.as_ref())
58-
.and_then(|code_action| code_action.code_action_literal_support.as_ref())
59-
.map(|_| {
60-
CodeActionProviderCapability::Options(CodeActionOptions {
61-
code_action_kinds: Some(vec![CodeActionKind::new("source.fixAll.biome")]),
62-
..Default::default()
63-
})
64-
})
65-
.or(Some(CodeActionProviderCapability::Simple(true)));
66-
6753
ServerCapabilities {
6854
position_encoding: Some(match negotiated_encoding(capabilities) {
6955
PositionEncoding::Utf8 => PositionEncodingKind::UTF8,
@@ -78,7 +64,7 @@ pub(crate) fn server_capabilities(capabilities: &ClientCapabilities) -> ServerCa
7864
document_formatting_provider: supports_formatter_dynamic_registration,
7965
document_range_formatting_provider: supports_range_formatter_dynamic_registration,
8066
document_on_type_formatting_provider: supports_on_type_formatter_dynamic_registration,
81-
code_action_provider,
67+
code_action_provider: Some(CodeActionProviderCapability::Simple(true)),
8268
rename_provider: None,
8369
..Default::default()
8470
}

crates/biome_lsp/tests/server.rs

+1-105
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,6 @@ use tower::{Service, ServiceExt};
2828
use tower_lsp::jsonrpc;
2929
use tower_lsp::jsonrpc::Response;
3030
use tower_lsp::lsp_types as lsp;
31-
use tower_lsp::lsp_types::CodeActionClientCapabilities;
32-
use tower_lsp::lsp_types::CodeActionKind;
33-
use tower_lsp::lsp_types::CodeActionKindLiteralSupport;
34-
use tower_lsp::lsp_types::CodeActionLiteralSupport;
35-
use tower_lsp::lsp_types::CodeActionOptions;
36-
use tower_lsp::lsp_types::CodeActionProviderCapability;
3731
use tower_lsp::lsp_types::DidOpenTextDocumentParams;
3832
use tower_lsp::lsp_types::DocumentFormattingParams;
3933
use tower_lsp::lsp_types::FormattingOptions;
@@ -42,7 +36,6 @@ use tower_lsp::lsp_types::InitializedParams;
4236
use tower_lsp::lsp_types::Position;
4337
use tower_lsp::lsp_types::PublishDiagnosticsParams;
4438
use tower_lsp::lsp_types::Range;
45-
use tower_lsp::lsp_types::TextDocumentClientCapabilities;
4639
use tower_lsp::lsp_types::TextDocumentContentChangeEvent;
4740
use tower_lsp::lsp_types::TextDocumentIdentifier;
4841
use tower_lsp::lsp_types::TextDocumentItem;
@@ -190,6 +183,7 @@ impl Server {
190183
)
191184
.await?
192185
.context("initialize returned None")?;
186+
193187
Ok(())
194188
}
195189

@@ -411,104 +405,6 @@ where
411405
Ok(())
412406
}
413407

414-
#[allow(deprecated)]
415-
#[tokio::test]
416-
async fn server_capabilities_fix_all_code_action_kinds() -> Result<()> {
417-
let factory = ServerFactory::default();
418-
let (service, client) = factory.create(None).into_inner();
419-
let (stream, sink) = client.split();
420-
let mut server = Server::new(service);
421-
422-
let (sender, _) = channel(CHANNEL_BUFFER_SIZE);
423-
let reader = tokio::spawn(client_handler(stream, sink, sender));
424-
let expect_code_action_provider =
425-
Some(CodeActionProviderCapability::Options(CodeActionOptions {
426-
code_action_kinds: Some(vec![CodeActionKind::new("source.fixAll.biome")]),
427-
..Default::default()
428-
}));
429-
let res: InitializeResult = server
430-
.request(
431-
"initialize",
432-
"_init",
433-
InitializeParams {
434-
process_id: None,
435-
root_path: None,
436-
root_uri: Some(url!("")),
437-
initialization_options: None,
438-
capabilities: ClientCapabilities {
439-
text_document: Some(TextDocumentClientCapabilities {
440-
code_action: Some(CodeActionClientCapabilities {
441-
code_action_literal_support: Some(CodeActionLiteralSupport {
442-
code_action_kind: CodeActionKindLiteralSupport {
443-
value_set: Vec::new(),
444-
},
445-
}),
446-
..CodeActionClientCapabilities::default()
447-
}),
448-
449-
..TextDocumentClientCapabilities::default()
450-
}),
451-
452-
..ClientCapabilities::default()
453-
},
454-
trace: None,
455-
workspace_folders: None,
456-
client_info: None,
457-
locale: None,
458-
},
459-
)
460-
.await?
461-
.context("initialize returned None")?;
462-
463-
assert_eq!(
464-
res.capabilities.code_action_provider,
465-
expect_code_action_provider
466-
);
467-
server.shutdown().await?;
468-
reader.abort();
469-
470-
Ok(())
471-
}
472-
473-
#[allow(deprecated)]
474-
#[tokio::test]
475-
async fn server_capabilities_default_code_action_kinds() -> Result<()> {
476-
let factory = ServerFactory::default();
477-
let (service, client) = factory.create(None).into_inner();
478-
let (stream, sink) = client.split();
479-
let mut server = Server::new(service);
480-
481-
let (sender, _) = channel(CHANNEL_BUFFER_SIZE);
482-
let reader = tokio::spawn(client_handler(stream, sink, sender));
483-
let expect_code_action_provider = Some(CodeActionProviderCapability::Simple(true));
484-
let res: InitializeResult = server
485-
.request(
486-
"initialize",
487-
"_init",
488-
InitializeParams {
489-
process_id: None,
490-
root_path: None,
491-
root_uri: Some(url!("")),
492-
initialization_options: None,
493-
capabilities: ClientCapabilities::default(),
494-
trace: None,
495-
workspace_folders: None,
496-
client_info: None,
497-
locale: None,
498-
},
499-
)
500-
.await?
501-
.context("initialize returned None")?;
502-
assert_eq!(
503-
res.capabilities.code_action_provider,
504-
expect_code_action_provider
505-
);
506-
server.shutdown().await?;
507-
reader.abort();
508-
509-
Ok(())
510-
}
511-
512408
#[tokio::test]
513409
async fn basic_lifecycle() -> Result<()> {
514410
let factory = ServerFactory::default();

0 commit comments

Comments
 (0)