Skip to content

Commit fd0df93

Browse files
refactor: move lsp converters to lsp crate (#275)
* use internal adapters * remove crate
1 parent ee45ea6 commit fd0df93

File tree

14 files changed

+37
-70
lines changed

14 files changed

+37
-70
lines changed

Cargo.lock

Lines changed: 0 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/pgt_lsp/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ pgt_configuration = { workspace = true }
2121
pgt_console = { workspace = true }
2222
pgt_diagnostics = { workspace = true }
2323
pgt_fs = { workspace = true }
24-
pgt_lsp_converters = { workspace = true }
2524
pgt_text_edit = { workspace = true }
2625
pgt_text_size.workspace = true
2726
pgt_workspace = { workspace = true }

crates/pgt_lsp_converters/src/from_proto.rs renamed to crates/pgt_lsp/src/adapters/from_lsp.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::line_index::LineIndex;
2-
use crate::{LineCol, PositionEncoding, WideLineCol};
1+
use crate::adapters::line_index::LineIndex;
2+
use crate::adapters::{LineCol, PositionEncoding, WideLineCol};
33
use anyhow::{Context, Result};
44
use pgt_text_size::{TextRange, TextSize};
55
use tower_lsp::lsp_types;

crates/pgt_lsp_converters/src/line_index.rs renamed to crates/pgt_lsp/src/adapters/line_index.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use std::mem;
66
use pgt_text_size::TextSize;
77
use rustc_hash::FxHashMap;
88

9-
use crate::{LineCol, WideChar, WideEncoding, WideLineCol};
9+
use crate::adapters::{LineCol, WideChar, WideEncoding, WideLineCol};
1010

1111
#[derive(Clone, Debug, PartialEq, Eq)]
1212
pub struct LineIndex {
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
use pgt_text_size::TextSize;
44
use tower_lsp::lsp_types::{ClientCapabilities, PositionEncodingKind};
55

6-
pub mod from_proto;
6+
pub mod from_lsp;
77
pub mod line_index;
8-
pub mod to_proto;
8+
pub mod to_lsp;
99

1010
pub fn negotiated_encoding(capabilities: &ClientCapabilities) -> PositionEncoding {
1111
let client_encodings = match &capabilities.general {
@@ -86,11 +86,11 @@ impl WideChar {
8686

8787
#[cfg(test)]
8888
mod tests {
89-
use crate::WideEncoding::{Utf16, Utf32};
90-
use crate::from_proto::offset;
91-
use crate::line_index::LineIndex;
92-
use crate::to_proto::position;
93-
use crate::{LineCol, PositionEncoding, WideEncoding};
89+
use crate::adapters::WideEncoding::{Utf16, Utf32};
90+
use crate::adapters::from_lsp::offset;
91+
use crate::adapters::line_index::LineIndex;
92+
use crate::adapters::to_lsp::position;
93+
use crate::adapters::{LineCol, PositionEncoding, WideEncoding};
9494
use pgt_text_size::TextSize;
9595
use tower_lsp::lsp_types::Position;
9696

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::PositionEncoding;
2-
use crate::line_index::LineIndex;
1+
use crate::adapters::PositionEncoding;
2+
use crate::adapters::line_index::LineIndex;
33
use anyhow::{Context, Result};
44
use pgt_text_size::{TextRange, TextSize};
55
use tower_lsp::lsp_types;

crates/pgt_lsp/src/capabilities.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
use pgt_lsp_converters::{PositionEncoding, WideEncoding, negotiated_encoding};
1+
use crate::adapters::{PositionEncoding, WideEncoding, negotiated_encoding};
22
use pgt_workspace::code_actions::{CommandActionCategory, CommandActionCategoryIter};
33
use strum::{EnumIter, IntoEnumIterator};
44
use tower_lsp::lsp_types::{
5-
ClientCapabilities, CodeActionOptions, CompletionOptions, ExecuteCommandOptions,
6-
PositionEncodingKind, SaveOptions, ServerCapabilities, TextDocumentSyncCapability,
7-
TextDocumentSyncKind, TextDocumentSyncOptions, TextDocumentSyncSaveOptions,
8-
WorkDoneProgressOptions,
5+
ClientCapabilities, CompletionOptions, ExecuteCommandOptions, PositionEncodingKind,
6+
SaveOptions, ServerCapabilities, TextDocumentSyncCapability, TextDocumentSyncKind,
7+
TextDocumentSyncOptions, TextDocumentSyncSaveOptions, WorkDoneProgressOptions,
98
};
109

1110
use crate::handlers::code_actions::command_id;

crates/pgt_lsp/src/documents.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use pgt_lsp_converters::line_index::LineIndex;
1+
use crate::adapters::line_index::LineIndex;
22

33
/// Represents an open [`textDocument`]. Can be cheaply cloned.
44
///

crates/pgt_lsp/src/handlers/helper.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
use crate::session::Session;
1+
use crate::{
2+
adapters::{self, from_lsp},
3+
session::Session,
4+
};
25
use pgt_text_size::TextSize;
36
use tower_lsp::lsp_types;
47

@@ -16,10 +19,10 @@ pub fn get_cursor_position(
1619
.map(|doc| doc.line_index)
1720
.map_err(|_| anyhow::anyhow!("Document not found."))?;
1821

19-
let cursor_pos = pgt_lsp_converters::from_proto::offset(
22+
let cursor_pos = from_lsp::offset(
2023
&line_index,
2124
position,
22-
pgt_lsp_converters::negotiated_encoding(client_capabilities),
25+
adapters::negotiated_encoding(client_capabilities),
2326
)?;
2427

2528
Ok(cursor_pos)

crates/pgt_lsp/src/handlers/text_document.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
use crate::adapters::from_lsp;
12
use crate::{
23
diagnostics::LspError, documents::Document, session::Session, utils::apply_document_changes,
34
};
45
use anyhow::Result;
5-
use pgt_lsp_converters::from_proto::text_range;
66
use pgt_workspace::workspace::{
77
ChangeFileParams, ChangeParams, CloseFileParams, GetFileContentParams, OpenFileParams,
88
};
@@ -73,7 +73,7 @@ pub(crate) async fn did_change(
7373
.iter()
7474
.map(|c| ChangeParams {
7575
range: c.range.and_then(|r| {
76-
text_range(&old_doc.line_index, r, session.position_encoding()).ok()
76+
from_lsp::text_range(&old_doc.line_index, r, session.position_encoding()).ok()
7777
}),
7878
text: c.text.clone(),
7979
})

0 commit comments

Comments
 (0)