Skip to content

Commit ec7266a

Browse files
committed
add type format (not implemented):
1 parent 428e787 commit ec7266a

File tree

4 files changed

+38
-7
lines changed

4 files changed

+38
-7
lines changed

crates/emmylua_ls/src/handlers/document_range_formatting/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ pub async fn on_range_formatting_handler(
9292
Some(vec![text_edit])
9393
}
9494

95-
pub struct DocumentRangeFormatting;
95+
pub struct DocumentRangeFormattingCapabilities;
9696

97-
impl RegisterCapabilities for DocumentRangeFormatting {
97+
impl RegisterCapabilities for DocumentRangeFormattingCapabilities {
9898
fn register_capabilities(server_capabilities: &mut ServerCapabilities, _: &ClientCapabilities) {
9999
server_capabilities.document_range_formatting_provider = Some(OneOf::Left(true));
100100
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
use lsp_types::{ClientCapabilities, DocumentOnTypeFormattingParams, ServerCapabilities, TextEdit};
2+
use tokio_util::sync::CancellationToken;
3+
4+
use crate::context::ServerContextSnapshot;
5+
6+
use super::RegisterCapabilities;
7+
8+
/// should I support this?
9+
pub async fn on_type_formatting_handler(
10+
_: ServerContextSnapshot,
11+
_: DocumentOnTypeFormattingParams,
12+
_: CancellationToken,
13+
) -> Option<Vec<TextEdit>> {
14+
None
15+
}
16+
17+
#[allow(unused)]
18+
pub struct DocumentTypeFormattingCapabilities;
19+
20+
impl RegisterCapabilities for DocumentTypeFormattingCapabilities {
21+
fn register_capabilities(server_capabilities: &mut ServerCapabilities, _: &ClientCapabilities) {
22+
server_capabilities.document_on_type_formatting_provider =
23+
Some(lsp_types::DocumentOnTypeFormattingOptions {
24+
first_trigger_character: "\n".to_string(),
25+
more_trigger_character: None,
26+
});
27+
}
28+
}

crates/emmylua_ls/src/handlers/mod.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ mod document_link;
1212
mod document_range_formatting;
1313
mod document_selection_range;
1414
mod document_symbol;
15+
mod document_type_format;
1516
mod emmy_annotator;
1617
mod fold_range;
1718
mod hover;
@@ -73,7 +74,8 @@ capabilities!(modules: {
7374
document_selection_range => DocumentSelectionRangeCapabilities,
7475
document_highlight => DocumentHighlightCapabilities,
7576
document_formatting => DocumentFormattingCapabilities,
76-
document_range_formatting => DocumentRangeFormatting,
77+
document_range_formatting => DocumentRangeFormattingCapabilities,
78+
// document_type_format => DocumentTypeFormattingCapabilities,
7779
completion => CompletionCapabilities,
7880
inlay_hint => InlayHintCapabilities,
7981
definition => DefinitionCapabilities,

crates/emmylua_ls/src/handlers/request_handler.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ use lsp_types::request::{
88
DocumentColor, DocumentHighlightRequest, DocumentLinkRequest, DocumentLinkResolve,
99
DocumentSymbolRequest, ExecuteCommand, FoldingRangeRequest, Formatting, GotoDefinition,
1010
GotoImplementation, HoverRequest, InlayHintRequest, InlayHintResolveRequest,
11-
InlineValueRequest, PrepareRenameRequest, RangeFormatting, References, Rename,
12-
Request as LspRequest, ResolveCompletionItem, SelectionRangeRequest, SemanticTokensFullRequest,
13-
SignatureHelpRequest, WorkspaceSymbolRequest,
11+
InlineValueRequest, OnTypeFormatting, PrepareRenameRequest, RangeFormatting, References,
12+
Rename, Request as LspRequest, ResolveCompletionItem, SelectionRangeRequest,
13+
SemanticTokensFullRequest, SignatureHelpRequest, WorkspaceSymbolRequest,
1414
};
1515

16-
use crate::context::ServerContext;
16+
use crate::{context::ServerContext, handlers::document_type_format::on_type_formatting_handler};
1717

1818
use super::{
1919
call_hierarchy::{
@@ -108,6 +108,7 @@ pub async fn on_request_handler(
108108
WorkspaceSymbolRequest => on_workspace_symbol_handler,
109109
Formatting => on_formatting_handler,
110110
RangeFormatting => on_range_formatting_handler,
111+
OnTypeFormatting => on_type_formatting_handler,
111112
CallHierarchyPrepare => on_prepare_call_hierarchy_handler,
112113
CallHierarchyIncomingCalls => on_incoming_calls_handler,
113114
CallHierarchyOutgoingCalls => on_outgoing_calls_handler,

0 commit comments

Comments
 (0)