@@ -1,6 +1,6 @@
1use helix_lsp::{
1use helix_lsp::{
2 block_on, lsp,
2 block_on, lsp,
3− util::{lsp_pos_to_pos, lsp_range_to_range, pos_to_lsp_pos, range_to_lsp_range},
3+ util::{lsp_pos_to_pos, lsp_range_to_range, range_to_lsp_range},
4 OffsetEncoding,
4 OffsetEncoding,
@@ -495,13 +495,7 @@ pub fn goto_definition(cx: &mut Context) {
495 let language_server = language_server!(doc);
495 let language_server = language_server!(doc);
496 let offset_encoding = language_server.offset_encoding();
496 let offset_encoding = language_server.offset_encoding();
498− let pos = pos_to_lsp_pos(
500− doc.selection(view.id)
502− .cursor(doc.text().slice(..)),
503− offset_encoding,
498+ let pos = doc.position(view.id, offset_encoding);
506 let future = language_server.goto_definition(doc.identifier(), pos, None);
500 let future = language_server.goto_definition(doc.identifier(), pos, None);
@@ -519,13 +513,7 @@ pub fn goto_type_definition(cx: &mut Context) {
519 let language_server = language_server!(doc);
513 let language_server = language_server!(doc);
520 let offset_encoding = language_server.offset_encoding();
514 let offset_encoding = language_server.offset_encoding();
522− let pos = pos_to_lsp_pos(
524− doc.selection(view.id)
526− .cursor(doc.text().slice(..)),
527− offset_encoding,
516+ let pos = doc.position(view.id, offset_encoding);
530 let future = language_server.goto_type_definition(doc.identifier(), pos, None);
518 let future = language_server.goto_type_definition(doc.identifier(), pos, None);
@@ -543,13 +531,7 @@ pub fn goto_implementation(cx: &mut Context) {
543 let language_server = language_server!(doc);
531 let language_server = language_server!(doc);
544 let offset_encoding = language_server.offset_encoding();
532 let offset_encoding = language_server.offset_encoding();
546− let pos = pos_to_lsp_pos(
548− doc.selection(view.id)
550− .cursor(doc.text().slice(..)),
551− offset_encoding,
534+ let pos = doc.position(view.id, offset_encoding);
554 let future = language_server.goto_implementation(doc.identifier(), pos, None);
536 let future = language_server.goto_implementation(doc.identifier(), pos, None);
@@ -567,13 +549,7 @@ pub fn goto_reference(cx: &mut Context) {
567 let language_server = language_server!(doc);
549 let language_server = language_server!(doc);
568 let offset_encoding = language_server.offset_encoding();
550 let offset_encoding = language_server.offset_encoding();
570− let pos = pos_to_lsp_pos(
572− doc.selection(view.id)
574− .cursor(doc.text().slice(..)),
575− offset_encoding,
552+ let pos = doc.position(view.id, offset_encoding);
578 let future = language_server.goto_reference(doc.identifier(), pos, None);
554 let future = language_server.goto_reference(doc.identifier(), pos, None);
@@ -589,14 +565,9 @@ pub fn goto_reference(cx: &mut Context) {
589pub fn signature_help(cx: &mut Context) {
565pub fn signature_help(cx: &mut Context) {
590 let (view, doc) = current!(cx.editor);
566 let (view, doc) = current!(cx.editor);
591 let language_server = language_server!(doc);
567 let language_server = language_server!(doc);
568+ let offset_encoding = language_server.offset_encoding();
593− let pos = pos_to_lsp_pos(
595− doc.selection(view.id)
597− .cursor(doc.text().slice(..)),
598− language_server.offset_encoding(),
570+ let pos = doc.position(view.id, offset_encoding);
601 let future = language_server.text_document_signature_help(doc.identifier(), pos, None);
572 let future = language_server.text_document_signature_help(doc.identifier(), pos, None);
@@ -622,16 +593,11 @@ pub fn signature_help(cx: &mut Context) {
622pub fn hover(cx: &mut Context) {
593pub fn hover(cx: &mut Context) {
623 let (view, doc) = current!(cx.editor);
594 let (view, doc) = current!(cx.editor);
624 let language_server = language_server!(doc);
595 let language_server = language_server!(doc);
596+ let offset_encoding = language_server.offset_encoding();
626 // TODO: factor out a doc.position_identifier() that returns lsp::TextDocumentPositionIdentifier
598 // TODO: factor out a doc.position_identifier() that returns lsp::TextDocumentPositionIdentifier
628− let pos = pos_to_lsp_pos(
630− doc.selection(view.id)
632− .cursor(doc.text().slice(..)),
633− language_server.offset_encoding(),
600+ let pos = doc.position(view.id, offset_encoding);
636 let future = language_server.text_document_hover(doc.identifier(), pos, None);
602 let future = language_server.text_document_hover(doc.identifier(), pos, None);
@@ -688,13 +654,7 @@ pub fn rename_symbol(cx: &mut Context) {
688 let language_server = language_server!(doc);
654 let language_server = language_server!(doc);
689 let offset_encoding = language_server.offset_encoding();
655 let offset_encoding = language_server.offset_encoding();
691− let pos = pos_to_lsp_pos(
693− doc.selection(view.id)
695− .cursor(doc.text().slice(..)),
696− offset_encoding,
657+ let pos = doc.position(view.id, offset_encoding);
699 let task = language_server.rename_symbol(doc.identifier(), pos, input.to_string());
659 let task = language_server.rename_symbol(doc.identifier(), pos, input.to_string());
700 let edits = block_on(task).unwrap_or_default();
660 let edits = block_on(task).unwrap_or_default();