summaryrefslogtreecommitdiff
path: root/support/texlab/src/completion/latex/theorem.rs
diff options
context:
space:
mode:
Diffstat (limited to 'support/texlab/src/completion/latex/theorem.rs')
-rw-r--r--support/texlab/src/completion/latex/theorem.rs115
1 files changed, 0 insertions, 115 deletions
diff --git a/support/texlab/src/completion/latex/theorem.rs b/support/texlab/src/completion/latex/theorem.rs
deleted file mode 100644
index a8706bed0b..0000000000
--- a/support/texlab/src/completion/latex/theorem.rs
+++ /dev/null
@@ -1,115 +0,0 @@
-use super::combinators;
-use crate::{
- completion::types::{Item, ItemData},
- feature::FeatureRequest,
- protocol::CompletionParams,
-};
-
-pub async fn complete_latex_theorem_environments<'a>(
- req: &'a FeatureRequest<CompletionParams>,
- items: &mut Vec<Item<'a>>,
-) {
- combinators::environment(req, |ctx| async move {
- for table in req
- .related()
- .into_iter()
- .filter_map(|doc| doc.content.as_latex())
- {
- for theorem in &table.theorem_definitions {
- let name = theorem.name(&table).text();
- let data = ItemData::UserEnvironment { name };
- let item = Item::new(ctx.range, data);
- items.push(item);
- }
- }
- })
- .await;
-}
-
-#[cfg(test)]
-mod tests {
- use super::*;
- use crate::{
- feature::FeatureTester,
- protocol::{Range, RangeExt},
- };
- use indoc::indoc;
-
- #[tokio::test]
- async fn empty_latex_document() {
- let req = FeatureTester::new()
- .file("main.tex", "")
- .main("main.tex")
- .position(0, 0)
- .test_completion_request()
- .await;
- let mut actual_items = Vec::new();
-
- complete_latex_theorem_environments(&req, &mut actual_items).await;
-
- assert!(actual_items.is_empty());
- }
-
- #[tokio::test]
- async fn empty_bibtex_document() {
- let req = FeatureTester::new()
- .file("main.bib", "")
- .main("main.bib")
- .position(0, 0)
- .test_completion_request()
- .await;
- let mut actual_items = Vec::new();
-
- complete_latex_theorem_environments(&req, &mut actual_items).await;
-
- assert!(actual_items.is_empty());
- }
-
- #[tokio::test]
- async fn inside_begin() {
- let req = FeatureTester::new()
- .file(
- "main.tex",
- indoc!(
- r#"
- \newtheorem{theorem}{Theorem}
- \begin{th}
- "#
- ),
- )
- .main("main.tex")
- .position(1, 8)
- .test_completion_request()
- .await;
- let mut actual_items = Vec::new();
-
- complete_latex_theorem_environments(&req, &mut actual_items).await;
-
- assert_eq!(actual_items.len(), 1);
- assert_eq!(actual_items[0].data.label(), "theorem");
- assert_eq!(actual_items[0].range, Range::new_simple(1, 7, 1, 9));
- }
-
- #[tokio::test]
- async fn outside_begin() {
- let req = FeatureTester::new()
- .file(
- "main.tex",
- indoc!(
- r#"
- \newtheorem{theorem}{Theorem}
- \begin{th}
- "#
- ),
- )
- .main("main.tex")
- .position(1, 10)
- .test_completion_request()
- .await;
- let mut actual_items = Vec::new();
-
- complete_latex_theorem_environments(&req, &mut actual_items).await;
-
- assert!(actual_items.is_empty());
- }
-}