diff options
Diffstat (limited to 'support/texlab/src/features/hover/field.rs')
-rw-r--r-- | support/texlab/src/features/hover/field.rs | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/support/texlab/src/features/hover/field.rs b/support/texlab/src/features/hover/field.rs index 54a8718d69..daa0c301cd 100644 --- a/support/texlab/src/features/hover/field.rs +++ b/support/texlab/src/features/hover/field.rs @@ -1,26 +1,19 @@ -use cancellation::CancellationToken; use lsp_types::{Hover, HoverContents, HoverParams, MarkupContent}; +use rowan::ast::AstNode; -use crate::{ - features::cursor::CursorContext, - syntax::{bibtex, CstNode}, - LineIndexExt, LANGUAGE_DATA, -}; +use crate::{features::cursor::CursorContext, syntax::bibtex, LineIndexExt, LANGUAGE_DATA}; -pub fn find_field_hover( - context: &CursorContext<HoverParams>, - _token: &CancellationToken, -) -> Option<Hover> { +pub fn find_field_hover(context: &CursorContext<HoverParams>) -> Option<Hover> { let main_document = context.request.main_document(); let name = context .cursor .as_bibtex() - .filter(|token| token.kind() == bibtex::WORD)?; + .filter(|token| token.kind() == bibtex::NAME)?; - bibtex::Field::cast(name.parent())?; + bibtex::Field::cast(name.parent()?)?; - let docs = LANGUAGE_DATA.field_documentation(&name.text())?; + let docs = LANGUAGE_DATA.field_documentation(name.text())?; Some(Hover { contents: HoverContents::Markup(MarkupContent { kind: lsp_types::MarkupKind::Markdown, @@ -53,7 +46,7 @@ mod tests { .hover(); let context = CursorContext::new(request); - let actual_hover = find_field_hover(&context, CancellationToken::none()); + let actual_hover = find_field_hover(&context); assert_eq!(actual_hover, None); } @@ -69,7 +62,7 @@ mod tests { .hover(); let context = CursorContext::new(request); - let actual_hover = find_field_hover(&context, CancellationToken::none()); + let actual_hover = find_field_hover(&context); assert_eq!(actual_hover, None); } @@ -85,7 +78,7 @@ mod tests { .hover(); let context = CursorContext::new(request); - let actual_hover = find_field_hover(&context, CancellationToken::none()).unwrap(); + let actual_hover = find_field_hover(&context).unwrap(); let expected_hover = Hover { contents: HoverContents::Markup(MarkupContent { kind: MarkupKind::Markdown, @@ -107,7 +100,7 @@ mod tests { .hover(); let context = CursorContext::new(request); - let actual_hover = find_field_hover(&context, CancellationToken::none()); + let actual_hover = find_field_hover(&context); assert_eq!(actual_hover, None); } @@ -122,7 +115,7 @@ mod tests { .hover(); let context = CursorContext::new(request); - let actual_hover = find_field_hover(&context, CancellationToken::none()); + let actual_hover = find_field_hover(&context); assert_eq!(actual_hover, None); } } |