diff --git a/crates/tinymist-query/src/analysis.rs b/crates/tinymist-query/src/analysis.rs index c5e28a4b..e456ffba 100644 --- a/crates/tinymist-query/src/analysis.rs +++ b/crates/tinymist-query/src/analysis.rs @@ -215,7 +215,7 @@ mod matcher_tests { #[cfg(test)] mod document_tests { - use crate::syntax::find_document_before; + use crate::syntax::find_docs_before; use crate::tests::*; #[test] @@ -227,7 +227,7 @@ mod document_tests { .to_typst_pos(find_test_position(&source), &source) .unwrap(); - let result = find_document_before(&source, pos); + let result = find_docs_before(&source, pos); let result = result.as_deref().unwrap_or(""); assert_snapshot!(result); diff --git a/crates/tinymist-query/src/completion.rs b/crates/tinymist-query/src/completion.rs index 15222793..feafefca 100644 --- a/crates/tinymist-query/src/completion.rs +++ b/crates/tinymist-query/src/completion.rs @@ -200,11 +200,13 @@ impl StatefulRequest for CompletionRequest { #[cfg(test)] mod tests { + use std::collections::HashSet; + use insta::with_settings; use lsp_types::CompletionItem; use super::*; - use crate::tests::*; + use crate::{syntax::find_module_level_docs, tests::*}; #[test] fn test() { @@ -213,6 +215,52 @@ mod tests { let rng = find_test_range(&source); let text = source.text()[rng.clone()].to_string(); + let docs = find_module_level_docs(&source).unwrap_or_default(); + let properties = get_test_properties(&docs); + let mut includes = HashSet::new(); + let mut excludes = HashSet::new(); + + for kk in properties.get("contains").iter().flat_map(|v| v.split(',')) { + // split first char + let (kind, item) = kk.split_at(1); + if kind == "+" { + includes.insert(item.trim()); + } else if kind == "-" { + excludes.insert(item.trim()); + } else { + includes.insert(kk.trim()); + } + } + let get_items = |items: Vec| { + let mut res: Vec<_> = items + .into_iter() + .map(|item| CompletionItem { + label: item.label, + sort_text: item.sort_text, + kind: item.kind, + text_edit: item.text_edit, + ..Default::default() + }) + .filter(|item| { + if includes.is_empty() { + return true; + } + if !excludes.is_empty() && excludes.contains(item.label.as_str()) { + panic!("{item:?} was excluded in {excludes:?}"); + } + includes.contains(item.label.as_str()) + }) + .collect(); + + res.sort_by(|a, b| { + a.sort_text + .as_ref() + .cmp(&b.sort_text.as_ref()) + .then_with(|| a.label.cmp(&b.label)) + }); + res + }; + let mut results = vec![]; for s in rng.clone() { let request = CompletionRequest { @@ -225,48 +273,11 @@ mod tests { match resp { CompletionResponse::List(l) => CompletionResponse::List(CompletionList { is_incomplete: l.is_incomplete, - items: { - let mut res: Vec<_> = l - .items - .into_iter() - .map(|item| CompletionItem { - label: item.label, - sort_text: item.sort_text, - kind: item.kind, - text_edit: item.text_edit, - ..Default::default() - }) - .collect(); - - res.sort_by(|a, b| { - a.sort_text - .as_ref() - .cmp(&b.sort_text.as_ref()) - .then_with(|| a.label.cmp(&b.label)) - }); - res - }, - }), - CompletionResponse::Array(items) => CompletionResponse::Array({ - let mut res: Vec<_> = items - .into_iter() - .map(|item| CompletionItem { - label: item.label, - sort_text: item.sort_text, - kind: item.kind, - text_edit: item.text_edit, - ..Default::default() - }) - .collect(); - - res.sort_by(|a, b| { - a.sort_text - .as_ref() - .cmp(&b.sort_text.as_ref()) - .then_with(|| a.label.cmp(&b.label)) - }); - res + items: get_items(l.items), }), + CompletionResponse::Array(items) => { + CompletionResponse::Array(get_items(items)) + } } })); } diff --git a/crates/tinymist-query/src/fixtures/completion/base.typ b/crates/tinymist-query/src/fixtures/completion/base.typ index 1c50c34e..52af4a6d 100644 --- a/crates/tinymist-query/src/fixtures/completion/base.typ +++ b/crates/tinymist-query/src/fixtures/completion/base.typ @@ -1,3 +1,4 @@ +// contains: aa,aab,aac,aabc #let aa() = 1; #let aab() = 1; diff --git a/crates/tinymist-query/src/fixtures/completion/element_where.typ b/crates/tinymist-query/src/fixtures/completion/element_where.typ index 1e58bfe6..09b641fd 100644 --- a/crates/tinymist-query/src/fixtures/completion/element_where.typ +++ b/crates/tinymist-query/src/fixtures/completion/element_where.typ @@ -1 +1,3 @@ +// contains: caption + #figure.where(/* range 0..1 */) diff --git a/crates/tinymist-query/src/fixtures/completion/func_args.typ b/crates/tinymist-query/src/fixtures/completion/func_args.typ index 390f7467..6b09b598 100644 --- a/crates/tinymist-query/src/fixtures/completion/func_args.typ +++ b/crates/tinymist-query/src/fixtures/completion/func_args.typ @@ -1,3 +1,5 @@ +// contains: content,authors,font,class + #let tmpl(content, authors: (), font: none, class: "article") = { if class != "article" and class != "letter" { panic("") diff --git a/crates/tinymist-query/src/fixtures/completion/func_args2.typ b/crates/tinymist-query/src/fixtures/completion/func_args2.typ index 0f51d9f4..924ae281 100644 --- a/crates/tinymist-query/src/fixtures/completion/func_args2.typ +++ b/crates/tinymist-query/src/fixtures/completion/func_args2.typ @@ -1,3 +1,5 @@ +// contains: content,authors,font,class + #let tmpl(content, authors: (), font: none, class: "article") = { if class != "article" and class != "letter" { panic("") diff --git a/crates/tinymist-query/src/fixtures/completion/func_params.typ b/crates/tinymist-query/src/fixtures/completion/func_params.typ index 21d21c1e..053fe9ca 100644 --- a/crates/tinymist-query/src/fixtures/completion/func_params.typ +++ b/crates/tinymist-query/src/fixtures/completion/func_params.typ @@ -1,4 +1,5 @@ +// contains: aa,aab,aac,aabc -#let aa(aab, aac, aabc) ={ - aac(/* range -2..0 */); +#let aa(aab, aac, aabc) = { + aac(/* range -2..0 */) } diff --git a/crates/tinymist-query/src/fixtures/completion/func_with_args.typ b/crates/tinymist-query/src/fixtures/completion/func_with_args.typ index 32fd599d..1fbdd88e 100644 --- a/crates/tinymist-query/src/fixtures/completion/func_with_args.typ +++ b/crates/tinymist-query/src/fixtures/completion/func_with_args.typ @@ -1,3 +1,5 @@ +// contains: content,authors,font,class + #let tmpl(content, authors: (), font: none, class: "article") = { if class != "article" and class != "letter" { panic("") diff --git a/crates/tinymist-query/src/fixtures/completion/item_shadow.typ b/crates/tinymist-query/src/fixtures/completion/item_shadow.typ index 4cedb4ee..99e4e136 100644 --- a/crates/tinymist-query/src/fixtures/completion/item_shadow.typ +++ b/crates/tinymist-query/src/fixtures/completion/item_shadow.typ @@ -1,3 +1,4 @@ +// contains: aa,aac #let aa = 1; #let aa() = 1; diff --git a/crates/tinymist-query/src/fixtures/completion/let.typ b/crates/tinymist-query/src/fixtures/completion/let.typ index 46f3381e..44e6d032 100644 --- a/crates/tinymist-query/src/fixtures/completion/let.typ +++ b/crates/tinymist-query/src/fixtures/completion/let.typ @@ -1,3 +1,4 @@ +// contains: aa,aab,aac,aabc #let aa() = 1; #let aab = 1; diff --git a/crates/tinymist-query/src/fixtures/completion/snaps/test@base.typ.snap b/crates/tinymist-query/src/fixtures/completion/snaps/test@base.typ.snap index 16112c08..05411ce0 100644 --- a/crates/tinymist-query/src/fixtures/completion/snaps/test@base.typ.snap +++ b/crates/tinymist-query/src/fixtures/completion/snaps/test@base.typ.snap @@ -1,6 +1,6 @@ --- source: crates/tinymist-query/src/completion.rs -description: Completion on c( (68..70) +description: Completion on c( (98..100) expression: "JsonRepr::new_pure(results)" input_file: crates/tinymist-query/src/fixtures/completion/base.typ --- @@ -16,45 +16,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/base.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aa.where", - "textEdit": { - "newText": "aa.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aa.with", - "textEdit": { - "newText": "aa.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 + "line": 7 } } } @@ -67,45 +33,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/base.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aab.where", - "textEdit": { - "newText": "aab.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aab.with", - "textEdit": { - "newText": "aab.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 + "line": 7 } } } @@ -118,45 +50,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/base.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aabc.where", - "textEdit": { - "newText": "aabc.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aabc.with", - "textEdit": { - "newText": "aabc.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 + "line": 7 } } } @@ -169,215 +67,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/base.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aac.where", - "textEdit": { - "newText": "aac.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aac.with", - "textEdit": { - "newText": "aac.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 21, - "label": "aqua", - "textEdit": { - "newText": "aqua", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 7, - "label": "array", - "textEdit": { - "newText": "array", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 15, - "label": "array literal", - "textEdit": { - "newText": "(${1:1, 2, 3})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 15, - "label": "dictionary literal", - "textEdit": { - "newText": "(${1:a: 1, b: 2})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 15, - "label": "import package", - "textEdit": { - "newText": "import \"@${1:}\": ${2:items}", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 15, - "label": "include (package)", - "textEdit": { - "newText": "include \"@${1:}\"", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "metadata", - "textEdit": { - "newText": "metadata(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "pagebreak", - "textEdit": { - "newText": "pagebreak(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "parbreak", - "textEdit": { - "newText": "parbreak()${1:}", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "smallcaps", - "textEdit": { - "newText": "smallcaps(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 + "line": 7 } } } @@ -395,45 +89,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/base.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aabc.where", - "textEdit": { - "newText": "aabc.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aabc.with", - "textEdit": { - "newText": "aabc.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 + "line": 7 } } } @@ -446,45 +106,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/base.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aac.where", - "textEdit": { - "newText": "aac.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aac.with", - "textEdit": { - "newText": "aac.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 + "line": 7 } } } diff --git a/crates/tinymist-query/src/fixtures/completion/snaps/test@element_where.typ.snap b/crates/tinymist-query/src/fixtures/completion/snaps/test@element_where.typ.snap index 6e4428dc..f2a91027 100644 --- a/crates/tinymist-query/src/fixtures/completion/snaps/test@element_where.typ.snap +++ b/crates/tinymist-query/src/fixtures/completion/snaps/test@element_where.typ.snap @@ -1,6 +1,6 @@ --- source: crates/tinymist-query/src/completion.rs -description: Completion on / (14..15) +description: Completion on / (36..37) expression: "JsonRepr::new_pure(results)" input_file: crates/tinymist-query/src/fixtures/completion/element_where.typ --- @@ -17,3323 +17,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/element_where.typ "range": { "end": { "character": 14, - "line": 0 + "line": 2 }, "start": { "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "content", - "sortText": "001", - "textEdit": { - "newText": "${1:content}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 6, - "label": "gap", - "sortText": "002", - "textEdit": { - "newText": "gap: ${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 6, - "label": "kind", - "sortText": "003", - "textEdit": { - "newText": "kind: ${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 6, - "label": "numbering", - "sortText": "004", - "textEdit": { - "newText": "numbering: ${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 6, - "label": "outlined", - "sortText": "005", - "textEdit": { - "newText": "outlined: ${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 6, - "label": "placement", - "sortText": "006", - "textEdit": { - "newText": "placement: ${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 6, - "label": "supplement", - "sortText": "007", - "textEdit": { - "newText": "supplement: ${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "align", - "sortText": "008", - "textEdit": { - "newText": "align(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "alignment", - "sortText": "009", - "textEdit": { - "newText": "alignment", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "angle", - "sortText": "010", - "textEdit": { - "newText": "angle", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "aqua", - "sortText": "011", - "textEdit": { - "newText": "aqua", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "arguments", - "sortText": "012", - "textEdit": { - "newText": "arguments", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "array", - "sortText": "013", - "textEdit": { - "newText": "array", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "array literal", - "sortText": "014", - "textEdit": { - "newText": "(${1:1, 2, 3})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "assert", - "sortText": "015", - "textEdit": { - "newText": "assert(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "bibliography", - "sortText": "016", - "textEdit": { - "newText": "bibliography(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "black", - "sortText": "017", - "textEdit": { - "newText": "black", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "block", - "sortText": "018", - "textEdit": { - "newText": "block(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "blue", - "sortText": "019", - "textEdit": { - "newText": "blue", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "bool", - "sortText": "020", - "textEdit": { - "newText": "bool", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "bottom", - "sortText": "021", - "textEdit": { - "newText": "bottom", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "box", - "sortText": "022", - "textEdit": { - "newText": "box(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "break", - "sortText": "023", - "textEdit": { - "newText": "break", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "btt", - "sortText": "024", - "textEdit": { - "newText": "btt", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "bytes", - "sortText": "025", - "textEdit": { - "newText": "bytes", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "calc", - "sortText": "026", - "textEdit": { - "newText": "calc", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "cbor", - "sortText": "027", - "textEdit": { - "newText": "cbor(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "center", - "sortText": "028", - "textEdit": { - "newText": "center", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "circle", - "sortText": "029", - "textEdit": { - "newText": "circle(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "cite", - "sortText": "030", - "textEdit": { - "newText": "cite(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "cmyk", - "sortText": "031", - "textEdit": { - "newText": "cmyk(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "code block", - "sortText": "032", - "textEdit": { - "newText": "{ ${1:} }", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "colbreak", - "sortText": "033", - "textEdit": { - "newText": "colbreak(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "color", - "sortText": "034", - "textEdit": { - "newText": "color", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "columns", - "sortText": "035", - "textEdit": { - "newText": "columns(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "content", - "sortText": "036", - "textEdit": { - "newText": "content", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "content block", - "sortText": "037", - "textEdit": { - "newText": "[${1:content}]", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "context expression", - "sortText": "038", - "textEdit": { - "newText": "context ${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "continue", - "sortText": "039", - "textEdit": { - "newText": "continue", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "counter", - "sortText": "040", - "textEdit": { - "newText": "counter", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "csv", - "sortText": "041", - "textEdit": { - "newText": "csv(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "datetime", - "sortText": "042", - "textEdit": { - "newText": "datetime", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "dictionary", - "sortText": "043", - "textEdit": { - "newText": "dictionary", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "dictionary literal", - "sortText": "044", - "textEdit": { - "newText": "(${1:a: 1, b: 2})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "direction", - "sortText": "045", - "textEdit": { - "newText": "direction", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "document", - "sortText": "046", - "textEdit": { - "newText": "document(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "duration", - "sortText": "047", - "textEdit": { - "newText": "duration", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "eastern", - "sortText": "048", - "textEdit": { - "newText": "eastern", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "ellipse", - "sortText": "049", - "textEdit": { - "newText": "ellipse(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "emoji", - "sortText": "050", - "textEdit": { - "newText": "emoji", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "emph", - "sortText": "051", - "textEdit": { - "newText": "emph(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "end", - "sortText": "052", - "textEdit": { - "newText": "end", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "enum", - "sortText": "053", - "textEdit": { - "newText": "enum(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "eval", - "sortText": "054", - "textEdit": { - "newText": "eval(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "figure", - "sortText": "055", - "textEdit": { - "newText": "figure(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "float", - "sortText": "056", - "textEdit": { - "newText": "float", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "footnote", - "sortText": "057", - "textEdit": { - "newText": "footnote(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "for loop", - "sortText": "058", - "textEdit": { - "newText": "for ${1:value} in ${2:(1, 2, 3)} {\n\t${3:}\n}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "for loop (with key)", - "sortText": "059", - "textEdit": { - "newText": "for (${1:key}, ${2:value}) in ${3:(a: 1, b: 2)} {\n\t${4:}\n}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "fraction", - "sortText": "060", - "textEdit": { - "newText": "fraction", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "fuchsia", - "sortText": "061", - "textEdit": { - "newText": "fuchsia", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "function", - "sortText": "062", - "textEdit": { - "newText": "function", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "function", - "sortText": "063", - "textEdit": { - "newText": "(${1:params}) => ${2:output}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "function call", - "sortText": "064", - "textEdit": { - "newText": "${1:function}(${2:arguments})[${3:body}]", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "gradient", - "sortText": "065", - "textEdit": { - "newText": "gradient", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "gray", - "sortText": "066", - "textEdit": { - "newText": "gray", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "green", - "sortText": "067", - "textEdit": { - "newText": "green", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "grid", - "sortText": "068", - "textEdit": { - "newText": "grid(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "h", - "sortText": "069", - "textEdit": { - "newText": "h(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "heading", - "sortText": "070", - "textEdit": { - "newText": "heading(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "here", - "sortText": "071", - "textEdit": { - "newText": "here()${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "hide", - "sortText": "072", - "textEdit": { - "newText": "hide(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "highlight", - "sortText": "073", - "textEdit": { - "newText": "highlight(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "horizon", - "sortText": "074", - "textEdit": { - "newText": "horizon", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "if conditional", - "sortText": "075", - "textEdit": { - "newText": "if ${1:1 < 2} {\n\t${2:}\n}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "if-else conditional", - "sortText": "076", - "textEdit": { - "newText": "if ${1:1 < 2} {\n\t${2:}\n} else {\n\t${3:}\n}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "image", - "sortText": "077", - "textEdit": { - "newText": "image(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "import module", - "sortText": "078", - "textEdit": { - "newText": "import \"${1:}\"", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "import module by expression", - "sortText": "079", - "textEdit": { - "newText": "import ${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "import package", - "sortText": "080", - "textEdit": { - "newText": "import \"@${1:}\": ${2:items}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "include (file)", - "sortText": "081", - "textEdit": { - "newText": "include \"${1:file}.typ\"", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "include (package)", - "sortText": "082", - "textEdit": { - "newText": "include \"@${1:}\"", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "int", - "sortText": "083", - "textEdit": { - "newText": "int", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "json", - "sortText": "084", - "textEdit": { - "newText": "json(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "label", - "sortText": "085", - "textEdit": { - "newText": "label", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "layout", - "sortText": "086", - "textEdit": { - "newText": "layout(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "left", - "sortText": "087", - "textEdit": { - "newText": "left", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "length", - "sortText": "088", - "textEdit": { - "newText": "length", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "let binding", - "sortText": "089", - "textEdit": { - "newText": "let ${1:name} = ${2:value}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "let binding (function)", - "sortText": "090", - "textEdit": { - "newText": "let ${1:name}(${2:params}) = ${3:output}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "lime", - "sortText": "091", - "textEdit": { - "newText": "lime", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "line", - "sortText": "092", - "textEdit": { - "newText": "line(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "linebreak", - "sortText": "093", - "textEdit": { - "newText": "linebreak(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "link", - "sortText": "094", - "textEdit": { - "newText": "link(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "list", - "sortText": "095", - "textEdit": { - "newText": "list(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "locate", - "sortText": "096", - "textEdit": { - "newText": "locate(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "location", - "sortText": "097", - "textEdit": { - "newText": "location", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "lorem", - "sortText": "098", - "textEdit": { - "newText": "lorem(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "lower", - "sortText": "099", - "textEdit": { - "newText": "lower(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "ltr", - "sortText": "100", - "textEdit": { - "newText": "ltr", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "luma", - "sortText": "101", - "textEdit": { - "newText": "luma(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "maroon", - "sortText": "102", - "textEdit": { - "newText": "maroon", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "math", - "sortText": "103", - "textEdit": { - "newText": "math", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "measure", - "sortText": "104", - "textEdit": { - "newText": "measure(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "metadata", - "sortText": "105", - "textEdit": { - "newText": "metadata(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "module", - "sortText": "106", - "textEdit": { - "newText": "module", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "move", - "sortText": "107", - "textEdit": { - "newText": "move(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "navy", - "sortText": "108", - "textEdit": { - "newText": "navy", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "numbering", - "sortText": "109", - "textEdit": { - "newText": "numbering(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "oklab", - "sortText": "110", - "textEdit": { - "newText": "oklab(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "oklch", - "sortText": "111", - "textEdit": { - "newText": "oklch(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "olive", - "sortText": "112", - "textEdit": { - "newText": "olive", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "orange", - "sortText": "113", - "textEdit": { - "newText": "orange", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "outline", - "sortText": "114", - "textEdit": { - "newText": "outline(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "overline", - "sortText": "115", - "textEdit": { - "newText": "overline(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "pad", - "sortText": "116", - "textEdit": { - "newText": "pad(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "page", - "sortText": "117", - "textEdit": { - "newText": "page(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "pagebreak", - "sortText": "118", - "textEdit": { - "newText": "pagebreak(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "panic", - "sortText": "119", - "textEdit": { - "newText": "panic(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "par", - "sortText": "120", - "textEdit": { - "newText": "par(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "parbreak", - "sortText": "121", - "textEdit": { - "newText": "parbreak()${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "path", - "sortText": "122", - "textEdit": { - "newText": "path(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "pattern", - "sortText": "123", - "textEdit": { - "newText": "pattern", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "place", - "sortText": "124", - "textEdit": { - "newText": "place(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "plugin", - "sortText": "125", - "textEdit": { - "newText": "plugin", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "polygon", - "sortText": "126", - "textEdit": { - "newText": "polygon(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "purple", - "sortText": "127", - "textEdit": { - "newText": "purple", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "query", - "sortText": "128", - "textEdit": { - "newText": "query(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "quote", - "sortText": "129", - "textEdit": { - "newText": "quote(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "range", - "sortText": "130", - "textEdit": { - "newText": "range(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "ratio", - "sortText": "131", - "textEdit": { - "newText": "ratio", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "raw", - "sortText": "132", - "textEdit": { - "newText": "raw(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "read", - "sortText": "133", - "textEdit": { - "newText": "read(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "rect", - "sortText": "134", - "textEdit": { - "newText": "rect(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "red", - "sortText": "135", - "textEdit": { - "newText": "red", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "ref", - "sortText": "136", - "textEdit": { - "newText": "ref(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "regex", - "sortText": "137", - "textEdit": { - "newText": "regex", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "relative", - "sortText": "138", - "textEdit": { - "newText": "relative", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "repeat", - "sortText": "139", - "textEdit": { - "newText": "repeat(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "repr", - "sortText": "140", - "textEdit": { - "newText": "repr(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "return", - "sortText": "141", - "textEdit": { - "newText": "return ${1:output}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "rgb", - "sortText": "142", - "textEdit": { - "newText": "rgb(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "right", - "sortText": "143", - "textEdit": { - "newText": "right", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "rotate", - "sortText": "144", - "textEdit": { - "newText": "rotate(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "rtl", - "sortText": "145", - "textEdit": { - "newText": "rtl", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "scale", - "sortText": "146", - "textEdit": { - "newText": "scale(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "selector", - "sortText": "147", - "textEdit": { - "newText": "selector", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "set rule", - "sortText": "148", - "textEdit": { - "newText": "set ${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "show rule", - "sortText": "149", - "textEdit": { - "newText": "show ${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "show rule (everything)", - "sortText": "150", - "textEdit": { - "newText": "show: ${1:}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "silver", - "sortText": "151", - "textEdit": { - "newText": "silver", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "smallcaps", - "sortText": "152", - "textEdit": { - "newText": "smallcaps(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "smartquote", - "sortText": "153", - "textEdit": { - "newText": "smartquote(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "square", - "sortText": "154", - "textEdit": { - "newText": "square(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "stack", - "sortText": "155", - "textEdit": { - "newText": "stack(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "start", - "sortText": "156", - "textEdit": { - "newText": "start", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "state", - "sortText": "157", - "textEdit": { - "newText": "state", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "str", - "sortText": "158", - "textEdit": { - "newText": "str", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "strike", - "sortText": "159", - "textEdit": { - "newText": "strike(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "stroke", - "sortText": "160", - "textEdit": { - "newText": "stroke", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "strong", - "sortText": "161", - "textEdit": { - "newText": "strong(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "style", - "sortText": "162", - "textEdit": { - "newText": "style(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "sub", - "sortText": "163", - "textEdit": { - "newText": "sub(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "super", - "sortText": "164", - "textEdit": { - "newText": "super(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "sym", - "sortText": "165", - "textEdit": { - "newText": "sym", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "symbol", - "sortText": "166", - "textEdit": { - "newText": "symbol", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "sys", - "sortText": "167", - "textEdit": { - "newText": "sys", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "table", - "sortText": "168", - "textEdit": { - "newText": "table(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "teal", - "sortText": "169", - "textEdit": { - "newText": "teal", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "terms", - "sortText": "170", - "textEdit": { - "newText": "terms(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "text", - "sortText": "171", - "textEdit": { - "newText": "text(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "toml", - "sortText": "172", - "textEdit": { - "newText": "toml(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "top", - "sortText": "173", - "textEdit": { - "newText": "top", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "ttb", - "sortText": "174", - "textEdit": { - "newText": "ttb", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "type", - "sortText": "175", - "textEdit": { - "newText": "type", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "underline", - "sortText": "176", - "textEdit": { - "newText": "underline(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "upper", - "sortText": "177", - "textEdit": { - "newText": "upper(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "v", - "sortText": "178", - "textEdit": { - "newText": "v(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 7, - "label": "version", - "sortText": "179", - "textEdit": { - "newText": "version", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 15, - "label": "while loop", - "sortText": "180", - "textEdit": { - "newText": "while ${1:1 < 2} {\n\t${2:}\n}", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "white", - "sortText": "181", - "textEdit": { - "newText": "white", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "xml", - "sortText": "182", - "textEdit": { - "newText": "xml(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 3, - "label": "yaml", - "sortText": "183", - "textEdit": { - "newText": "yaml(${1:})", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 - } - } - } - }, - { - "kind": 21, - "label": "yellow", - "sortText": "184", - "textEdit": { - "newText": "yellow", - "range": { - "end": { - "character": 14, - "line": 0 - }, - "start": { - "character": 14, - "line": 0 + "line": 2 } } } diff --git a/crates/tinymist-query/src/fixtures/completion/snaps/test@func_args.typ.snap b/crates/tinymist-query/src/fixtures/completion/snaps/test@func_args.typ.snap index adf76dd3..d7e5b5e4 100644 --- a/crates/tinymist-query/src/fixtures/completion/snaps/test@func_args.typ.snap +++ b/crates/tinymist-query/src/fixtures/completion/snaps/test@func_args.typ.snap @@ -1,6 +1,6 @@ --- source: crates/tinymist-query/src/completion.rs -description: Completion on / (307..308) +description: Completion on / (348..349) expression: "JsonRepr::new_pure(results)" input_file: crates/tinymist-query/src/fixtures/completion/func_args.typ --- @@ -17,11 +17,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_args.typ "range": { "end": { "character": 6, - "line": 14 + "line": 16 }, "start": { "character": 6, - "line": 14 + "line": 16 } } } @@ -35,11 +35,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_args.typ "range": { "end": { "character": 6, - "line": 14 + "line": 16 }, "start": { "character": 6, - "line": 14 + "line": 16 } } } @@ -53,515 +53,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_args.typ "range": { "end": { "character": 6, - "line": 14 + "line": 16 }, "start": { "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "align", - "sortText": "003", - "textEdit": { - "newText": "align(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "alignment", - "sortText": "004", - "textEdit": { - "newText": "alignment", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "angle", - "sortText": "005", - "textEdit": { - "newText": "angle", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "aqua", - "sortText": "006", - "textEdit": { - "newText": "aqua", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "arguments", - "sortText": "007", - "textEdit": { - "newText": "arguments", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "array", - "sortText": "008", - "textEdit": { - "newText": "array", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "array literal", - "sortText": "009", - "textEdit": { - "newText": "(${1:1, 2, 3})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "assert", - "sortText": "010", - "textEdit": { - "newText": "assert(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "bibliography", - "sortText": "011", - "textEdit": { - "newText": "bibliography(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "black", - "sortText": "012", - "textEdit": { - "newText": "black", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "block", - "sortText": "013", - "textEdit": { - "newText": "block(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "blue", - "sortText": "014", - "textEdit": { - "newText": "blue", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "bool", - "sortText": "015", - "textEdit": { - "newText": "bool", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "bottom", - "sortText": "016", - "textEdit": { - "newText": "bottom", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "box", - "sortText": "017", - "textEdit": { - "newText": "box(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "break", - "sortText": "018", - "textEdit": { - "newText": "break", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "btt", - "sortText": "019", - "textEdit": { - "newText": "btt", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "bytes", - "sortText": "020", - "textEdit": { - "newText": "bytes", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "calc", - "sortText": "021", - "textEdit": { - "newText": "calc", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "cbor", - "sortText": "022", - "textEdit": { - "newText": "cbor(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "center", - "sortText": "023", - "textEdit": { - "newText": "center", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "circle", - "sortText": "024", - "textEdit": { - "newText": "circle(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "cite", - "sortText": "025", - "textEdit": { - "newText": "cite(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "cmyk", - "sortText": "026", - "textEdit": { - "newText": "cmyk(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "code block", - "sortText": "027", - "textEdit": { - "newText": "{ ${1:} }", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "colbreak", - "sortText": "028", - "textEdit": { - "newText": "colbreak(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "color", - "sortText": "029", - "textEdit": { - "newText": "color", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "columns", - "sortText": "030", - "textEdit": { - "newText": "columns(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 + "line": 16 } } } @@ -575,2729 +71,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_args.typ "range": { "end": { "character": 6, - "line": 14 + "line": 16 }, "start": { "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "content block", - "sortText": "032", - "textEdit": { - "newText": "[${1:content}]", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "context expression", - "sortText": "033", - "textEdit": { - "newText": "context ${1:}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "continue", - "sortText": "034", - "textEdit": { - "newText": "continue", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "counter", - "sortText": "035", - "textEdit": { - "newText": "counter", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "csv", - "sortText": "036", - "textEdit": { - "newText": "csv(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "datetime", - "sortText": "037", - "textEdit": { - "newText": "datetime", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "dictionary", - "sortText": "038", - "textEdit": { - "newText": "dictionary", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "dictionary literal", - "sortText": "039", - "textEdit": { - "newText": "(${1:a: 1, b: 2})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "direction", - "sortText": "040", - "textEdit": { - "newText": "direction", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "document", - "sortText": "041", - "textEdit": { - "newText": "document(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "duration", - "sortText": "042", - "textEdit": { - "newText": "duration", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "eastern", - "sortText": "043", - "textEdit": { - "newText": "eastern", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "ellipse", - "sortText": "044", - "textEdit": { - "newText": "ellipse(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "emoji", - "sortText": "045", - "textEdit": { - "newText": "emoji", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "emph", - "sortText": "046", - "textEdit": { - "newText": "emph(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "end", - "sortText": "047", - "textEdit": { - "newText": "end", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "enum", - "sortText": "048", - "textEdit": { - "newText": "enum(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "eval", - "sortText": "049", - "textEdit": { - "newText": "eval(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "figure", - "sortText": "050", - "textEdit": { - "newText": "figure(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "float", - "sortText": "051", - "textEdit": { - "newText": "float", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "footnote", - "sortText": "052", - "textEdit": { - "newText": "footnote(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "for loop", - "sortText": "053", - "textEdit": { - "newText": "for ${1:value} in ${2:(1, 2, 3)} {\n\t${3:}\n}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "for loop (with key)", - "sortText": "054", - "textEdit": { - "newText": "for (${1:key}, ${2:value}) in ${3:(a: 1, b: 2)} {\n\t${4:}\n}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "fraction", - "sortText": "055", - "textEdit": { - "newText": "fraction", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "fuchsia", - "sortText": "056", - "textEdit": { - "newText": "fuchsia", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "function", - "sortText": "057", - "textEdit": { - "newText": "function", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "function", - "sortText": "058", - "textEdit": { - "newText": "(${1:params}) => ${2:output}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "function call", - "sortText": "059", - "textEdit": { - "newText": "${1:function}(${2:arguments})[${3:body}]", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "gradient", - "sortText": "060", - "textEdit": { - "newText": "gradient", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "gray", - "sortText": "061", - "textEdit": { - "newText": "gray", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "green", - "sortText": "062", - "textEdit": { - "newText": "green", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "grid", - "sortText": "063", - "textEdit": { - "newText": "grid(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "h", - "sortText": "064", - "textEdit": { - "newText": "h(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "heading", - "sortText": "065", - "textEdit": { - "newText": "heading(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "here", - "sortText": "066", - "textEdit": { - "newText": "here()${1:}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "hide", - "sortText": "067", - "textEdit": { - "newText": "hide(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "highlight", - "sortText": "068", - "textEdit": { - "newText": "highlight(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "horizon", - "sortText": "069", - "textEdit": { - "newText": "horizon", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "if conditional", - "sortText": "070", - "textEdit": { - "newText": "if ${1:1 < 2} {\n\t${2:}\n}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "if-else conditional", - "sortText": "071", - "textEdit": { - "newText": "if ${1:1 < 2} {\n\t${2:}\n} else {\n\t${3:}\n}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "image", - "sortText": "072", - "textEdit": { - "newText": "image(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "import module", - "sortText": "073", - "textEdit": { - "newText": "import \"${1:}\"", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "import module by expression", - "sortText": "074", - "textEdit": { - "newText": "import ${1:}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "import package", - "sortText": "075", - "textEdit": { - "newText": "import \"@${1:}\": ${2:items}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "include (file)", - "sortText": "076", - "textEdit": { - "newText": "include \"${1:file}.typ\"", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "include (package)", - "sortText": "077", - "textEdit": { - "newText": "include \"@${1:}\"", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "int", - "sortText": "078", - "textEdit": { - "newText": "int", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "json", - "sortText": "079", - "textEdit": { - "newText": "json(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "label", - "sortText": "080", - "textEdit": { - "newText": "label", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "layout", - "sortText": "081", - "textEdit": { - "newText": "layout(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "left", - "sortText": "082", - "textEdit": { - "newText": "left", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "length", - "sortText": "083", - "textEdit": { - "newText": "length", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "let binding", - "sortText": "084", - "textEdit": { - "newText": "let ${1:name} = ${2:value}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "let binding (function)", - "sortText": "085", - "textEdit": { - "newText": "let ${1:name}(${2:params}) = ${3:output}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "lime", - "sortText": "086", - "textEdit": { - "newText": "lime", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "line", - "sortText": "087", - "textEdit": { - "newText": "line(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "linebreak", - "sortText": "088", - "textEdit": { - "newText": "linebreak(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "link", - "sortText": "089", - "textEdit": { - "newText": "link(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "list", - "sortText": "090", - "textEdit": { - "newText": "list(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "locate", - "sortText": "091", - "textEdit": { - "newText": "locate(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "location", - "sortText": "092", - "textEdit": { - "newText": "location", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "lorem", - "sortText": "093", - "textEdit": { - "newText": "lorem(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "lower", - "sortText": "094", - "textEdit": { - "newText": "lower(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "ltr", - "sortText": "095", - "textEdit": { - "newText": "ltr", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "luma", - "sortText": "096", - "textEdit": { - "newText": "luma(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "maroon", - "sortText": "097", - "textEdit": { - "newText": "maroon", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "math", - "sortText": "098", - "textEdit": { - "newText": "math", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "measure", - "sortText": "099", - "textEdit": { - "newText": "measure(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "metadata", - "sortText": "100", - "textEdit": { - "newText": "metadata(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "module", - "sortText": "101", - "textEdit": { - "newText": "module", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "move", - "sortText": "102", - "textEdit": { - "newText": "move(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "navy", - "sortText": "103", - "textEdit": { - "newText": "navy", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "numbering", - "sortText": "104", - "textEdit": { - "newText": "numbering(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "oklab", - "sortText": "105", - "textEdit": { - "newText": "oklab(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "oklch", - "sortText": "106", - "textEdit": { - "newText": "oklch(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "olive", - "sortText": "107", - "textEdit": { - "newText": "olive", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "orange", - "sortText": "108", - "textEdit": { - "newText": "orange", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "outline", - "sortText": "109", - "textEdit": { - "newText": "outline(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "overline", - "sortText": "110", - "textEdit": { - "newText": "overline(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "pad", - "sortText": "111", - "textEdit": { - "newText": "pad(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "page", - "sortText": "112", - "textEdit": { - "newText": "page(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "pagebreak", - "sortText": "113", - "textEdit": { - "newText": "pagebreak(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "panic", - "sortText": "114", - "textEdit": { - "newText": "panic(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "par", - "sortText": "115", - "textEdit": { - "newText": "par(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "parbreak", - "sortText": "116", - "textEdit": { - "newText": "parbreak()${1:}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "path", - "sortText": "117", - "textEdit": { - "newText": "path(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "pattern", - "sortText": "118", - "textEdit": { - "newText": "pattern", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "place", - "sortText": "119", - "textEdit": { - "newText": "place(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "plugin", - "sortText": "120", - "textEdit": { - "newText": "plugin", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "polygon", - "sortText": "121", - "textEdit": { - "newText": "polygon(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "purple", - "sortText": "122", - "textEdit": { - "newText": "purple", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "query", - "sortText": "123", - "textEdit": { - "newText": "query(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "quote", - "sortText": "124", - "textEdit": { - "newText": "quote(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "range", - "sortText": "125", - "textEdit": { - "newText": "range(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "ratio", - "sortText": "126", - "textEdit": { - "newText": "ratio", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "raw", - "sortText": "127", - "textEdit": { - "newText": "raw(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "read", - "sortText": "128", - "textEdit": { - "newText": "read(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "rect", - "sortText": "129", - "textEdit": { - "newText": "rect(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "red", - "sortText": "130", - "textEdit": { - "newText": "red", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "ref", - "sortText": "131", - "textEdit": { - "newText": "ref(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "regex", - "sortText": "132", - "textEdit": { - "newText": "regex", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "relative", - "sortText": "133", - "textEdit": { - "newText": "relative", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "repeat", - "sortText": "134", - "textEdit": { - "newText": "repeat(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "repr", - "sortText": "135", - "textEdit": { - "newText": "repr(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "return", - "sortText": "136", - "textEdit": { - "newText": "return ${1:output}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "rgb", - "sortText": "137", - "textEdit": { - "newText": "rgb(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "right", - "sortText": "138", - "textEdit": { - "newText": "right", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "rotate", - "sortText": "139", - "textEdit": { - "newText": "rotate(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "rtl", - "sortText": "140", - "textEdit": { - "newText": "rtl", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "scale", - "sortText": "141", - "textEdit": { - "newText": "scale(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "selector", - "sortText": "142", - "textEdit": { - "newText": "selector", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "set rule", - "sortText": "143", - "textEdit": { - "newText": "set ${1:}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "show rule", - "sortText": "144", - "textEdit": { - "newText": "show ${1:}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "show rule (everything)", - "sortText": "145", - "textEdit": { - "newText": "show: ${1:}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "silver", - "sortText": "146", - "textEdit": { - "newText": "silver", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "smallcaps", - "sortText": "147", - "textEdit": { - "newText": "smallcaps(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "smartquote", - "sortText": "148", - "textEdit": { - "newText": "smartquote(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "square", - "sortText": "149", - "textEdit": { - "newText": "square(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "stack", - "sortText": "150", - "textEdit": { - "newText": "stack(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "start", - "sortText": "151", - "textEdit": { - "newText": "start", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "state", - "sortText": "152", - "textEdit": { - "newText": "state", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "str", - "sortText": "153", - "textEdit": { - "newText": "str", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "strike", - "sortText": "154", - "textEdit": { - "newText": "strike(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "stroke", - "sortText": "155", - "textEdit": { - "newText": "stroke", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "strong", - "sortText": "156", - "textEdit": { - "newText": "strong(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "style", - "sortText": "157", - "textEdit": { - "newText": "style(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "sub", - "sortText": "158", - "textEdit": { - "newText": "sub(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "super", - "sortText": "159", - "textEdit": { - "newText": "super(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "sym", - "sortText": "160", - "textEdit": { - "newText": "sym", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "symbol", - "sortText": "161", - "textEdit": { - "newText": "symbol", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "sys", - "sortText": "162", - "textEdit": { - "newText": "sys", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "table", - "sortText": "163", - "textEdit": { - "newText": "table(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "teal", - "sortText": "164", - "textEdit": { - "newText": "teal", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "terms", - "sortText": "165", - "textEdit": { - "newText": "terms(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "text", - "sortText": "166", - "textEdit": { - "newText": "text(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "tmpl", - "sortText": "167", - "textEdit": { - "newText": "tmpl(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "tmpl.where", - "sortText": "168", - "textEdit": { - "newText": "tmpl.where(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "tmpl.with", - "sortText": "169", - "textEdit": { - "newText": "tmpl.with(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "toml", - "sortText": "170", - "textEdit": { - "newText": "toml(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "top", - "sortText": "171", - "textEdit": { - "newText": "top", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "ttb", - "sortText": "172", - "textEdit": { - "newText": "ttb", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "type", - "sortText": "173", - "textEdit": { - "newText": "type", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "underline", - "sortText": "174", - "textEdit": { - "newText": "underline(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "upper", - "sortText": "175", - "textEdit": { - "newText": "upper(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "v", - "sortText": "176", - "textEdit": { - "newText": "v(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "version", - "sortText": "177", - "textEdit": { - "newText": "version", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "while loop", - "sortText": "178", - "textEdit": { - "newText": "while ${1:1 < 2} {\n\t${2:}\n}", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "white", - "sortText": "179", - "textEdit": { - "newText": "white", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "xml", - "sortText": "180", - "textEdit": { - "newText": "xml(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "yaml", - "sortText": "181", - "textEdit": { - "newText": "yaml(${1:})", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "yellow", - "sortText": "182", - "textEdit": { - "newText": "yellow", - "range": { - "end": { - "character": 6, - "line": 14 - }, - "start": { - "character": 6, - "line": 14 + "line": 16 } } } diff --git a/crates/tinymist-query/src/fixtures/completion/snaps/test@func_args2.typ.snap b/crates/tinymist-query/src/fixtures/completion/snaps/test@func_args2.typ.snap index 586f2538..2268662c 100644 --- a/crates/tinymist-query/src/fixtures/completion/snaps/test@func_args2.typ.snap +++ b/crates/tinymist-query/src/fixtures/completion/snaps/test@func_args2.typ.snap @@ -1,6 +1,6 @@ --- source: crates/tinymist-query/src/completion.rs -description: Completion on / (319..320) +description: Completion on / (364..365) expression: "JsonRepr::new_pure(results)" input_file: crates/tinymist-query/src/fixtures/completion/func_args2.typ --- @@ -17,11 +17,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_args2.typ "range": { "end": { "character": 18, - "line": 14 + "line": 16 }, "start": { "character": 18, - "line": 14 + "line": 16 } } } @@ -35,11 +35,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_args2.typ "range": { "end": { "character": 18, - "line": 14 + "line": 16 }, "start": { "character": 18, - "line": 14 + "line": 16 } } } diff --git a/crates/tinymist-query/src/fixtures/completion/snaps/test@func_params.typ.snap b/crates/tinymist-query/src/fixtures/completion/snaps/test@func_params.typ.snap index 0fdb187a..1d95b612 100644 --- a/crates/tinymist-query/src/fixtures/completion/snaps/test@func_params.typ.snap +++ b/crates/tinymist-query/src/fixtures/completion/snaps/test@func_params.typ.snap @@ -1,6 +1,6 @@ --- source: crates/tinymist-query/src/completion.rs -description: Completion on c( (31..33) +description: Completion on c( (62..64) expression: "JsonRepr::new_pure(results)" input_file: crates/tinymist-query/src/fixtures/completion/func_params.typ --- @@ -16,45 +16,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_params.typ "range": { "end": { "character": 5, - "line": 1 + "line": 3 }, "start": { "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 3, - "label": "aa.where", - "textEdit": { - "newText": "aa.where(${1:})", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 3, - "label": "aa.with", - "textEdit": { - "newText": "aa.with(${1:})", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 + "line": 3 } } } @@ -67,11 +33,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_params.typ "range": { "end": { "character": 5, - "line": 1 + "line": 3 }, "start": { "character": 2, - "line": 1 + "line": 3 } } } @@ -84,11 +50,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_params.typ "range": { "end": { "character": 5, - "line": 1 + "line": 3 }, "start": { "character": 2, - "line": 1 + "line": 3 } } } @@ -101,181 +67,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_params.typ "range": { "end": { "character": 5, - "line": 1 + "line": 3 }, "start": { "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 21, - "label": "aqua", - "textEdit": { - "newText": "aqua", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 7, - "label": "array", - "textEdit": { - "newText": "array", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 15, - "label": "array literal", - "textEdit": { - "newText": "(${1:1, 2, 3})", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 15, - "label": "dictionary literal", - "textEdit": { - "newText": "(${1:a: 1, b: 2})", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 15, - "label": "import package", - "textEdit": { - "newText": "import \"@${1:}\": ${2:items}", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 15, - "label": "include (package)", - "textEdit": { - "newText": "include \"@${1:}\"", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 3, - "label": "metadata", - "textEdit": { - "newText": "metadata(${1:})", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 3, - "label": "pagebreak", - "textEdit": { - "newText": "pagebreak(${1:})", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 3, - "label": "parbreak", - "textEdit": { - "newText": "parbreak()${1:}", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 - } - } - } - }, - { - "kind": 3, - "label": "smallcaps", - "textEdit": { - "newText": "smallcaps(${1:})", - "range": { - "end": { - "character": 5, - "line": 1 - }, - "start": { - "character": 2, - "line": 1 + "line": 3 } } } @@ -293,11 +89,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_params.typ "range": { "end": { "character": 5, - "line": 1 + "line": 3 }, "start": { "character": 2, - "line": 1 + "line": 3 } } } @@ -310,11 +106,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_params.typ "range": { "end": { "character": 5, - "line": 1 + "line": 3 }, "start": { "character": 2, - "line": 1 + "line": 3 } } } diff --git a/crates/tinymist-query/src/fixtures/completion/snaps/test@func_with_args.typ.snap b/crates/tinymist-query/src/fixtures/completion/snaps/test@func_with_args.typ.snap index 80877bfb..eb606ce0 100644 --- a/crates/tinymist-query/src/fixtures/completion/snaps/test@func_with_args.typ.snap +++ b/crates/tinymist-query/src/fixtures/completion/snaps/test@func_with_args.typ.snap @@ -1,6 +1,6 @@ --- source: crates/tinymist-query/src/completion.rs -description: Completion on / (312..313) +description: Completion on / (353..354) expression: "JsonRepr::new_pure(results)" input_file: crates/tinymist-query/src/fixtures/completion/func_with_args.typ --- @@ -17,11 +17,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_with_args.typ "range": { "end": { "character": 11, - "line": 14 + "line": 16 }, "start": { "character": 11, - "line": 14 + "line": 16 } } } @@ -35,11 +35,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_with_args.typ "range": { "end": { "character": 11, - "line": 14 + "line": 16 }, "start": { "character": 11, - "line": 14 + "line": 16 } } } @@ -53,515 +53,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_with_args.typ "range": { "end": { "character": 11, - "line": 14 + "line": 16 }, "start": { "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "align", - "sortText": "003", - "textEdit": { - "newText": "align(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "alignment", - "sortText": "004", - "textEdit": { - "newText": "alignment", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "angle", - "sortText": "005", - "textEdit": { - "newText": "angle", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "aqua", - "sortText": "006", - "textEdit": { - "newText": "aqua", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "arguments", - "sortText": "007", - "textEdit": { - "newText": "arguments", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "array", - "sortText": "008", - "textEdit": { - "newText": "array", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "array literal", - "sortText": "009", - "textEdit": { - "newText": "(${1:1, 2, 3})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "assert", - "sortText": "010", - "textEdit": { - "newText": "assert(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "bibliography", - "sortText": "011", - "textEdit": { - "newText": "bibliography(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "black", - "sortText": "012", - "textEdit": { - "newText": "black", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "block", - "sortText": "013", - "textEdit": { - "newText": "block(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "blue", - "sortText": "014", - "textEdit": { - "newText": "blue", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "bool", - "sortText": "015", - "textEdit": { - "newText": "bool", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "bottom", - "sortText": "016", - "textEdit": { - "newText": "bottom", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "box", - "sortText": "017", - "textEdit": { - "newText": "box(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "break", - "sortText": "018", - "textEdit": { - "newText": "break", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "btt", - "sortText": "019", - "textEdit": { - "newText": "btt", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "bytes", - "sortText": "020", - "textEdit": { - "newText": "bytes", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "calc", - "sortText": "021", - "textEdit": { - "newText": "calc", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "cbor", - "sortText": "022", - "textEdit": { - "newText": "cbor(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "center", - "sortText": "023", - "textEdit": { - "newText": "center", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "circle", - "sortText": "024", - "textEdit": { - "newText": "circle(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "cite", - "sortText": "025", - "textEdit": { - "newText": "cite(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "cmyk", - "sortText": "026", - "textEdit": { - "newText": "cmyk(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "code block", - "sortText": "027", - "textEdit": { - "newText": "{ ${1:} }", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "colbreak", - "sortText": "028", - "textEdit": { - "newText": "colbreak(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "color", - "sortText": "029", - "textEdit": { - "newText": "color", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "columns", - "sortText": "030", - "textEdit": { - "newText": "columns(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 + "line": 16 } } } @@ -575,2729 +71,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/func_with_args.typ "range": { "end": { "character": 11, - "line": 14 + "line": 16 }, "start": { "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "content block", - "sortText": "032", - "textEdit": { - "newText": "[${1:content}]", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "context expression", - "sortText": "033", - "textEdit": { - "newText": "context ${1:}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "continue", - "sortText": "034", - "textEdit": { - "newText": "continue", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "counter", - "sortText": "035", - "textEdit": { - "newText": "counter", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "csv", - "sortText": "036", - "textEdit": { - "newText": "csv(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "datetime", - "sortText": "037", - "textEdit": { - "newText": "datetime", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "dictionary", - "sortText": "038", - "textEdit": { - "newText": "dictionary", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "dictionary literal", - "sortText": "039", - "textEdit": { - "newText": "(${1:a: 1, b: 2})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "direction", - "sortText": "040", - "textEdit": { - "newText": "direction", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "document", - "sortText": "041", - "textEdit": { - "newText": "document(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "duration", - "sortText": "042", - "textEdit": { - "newText": "duration", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "eastern", - "sortText": "043", - "textEdit": { - "newText": "eastern", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "ellipse", - "sortText": "044", - "textEdit": { - "newText": "ellipse(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "emoji", - "sortText": "045", - "textEdit": { - "newText": "emoji", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "emph", - "sortText": "046", - "textEdit": { - "newText": "emph(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "end", - "sortText": "047", - "textEdit": { - "newText": "end", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "enum", - "sortText": "048", - "textEdit": { - "newText": "enum(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "eval", - "sortText": "049", - "textEdit": { - "newText": "eval(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "figure", - "sortText": "050", - "textEdit": { - "newText": "figure(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "float", - "sortText": "051", - "textEdit": { - "newText": "float", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "footnote", - "sortText": "052", - "textEdit": { - "newText": "footnote(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "for loop", - "sortText": "053", - "textEdit": { - "newText": "for ${1:value} in ${2:(1, 2, 3)} {\n\t${3:}\n}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "for loop (with key)", - "sortText": "054", - "textEdit": { - "newText": "for (${1:key}, ${2:value}) in ${3:(a: 1, b: 2)} {\n\t${4:}\n}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "fraction", - "sortText": "055", - "textEdit": { - "newText": "fraction", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "fuchsia", - "sortText": "056", - "textEdit": { - "newText": "fuchsia", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "function", - "sortText": "057", - "textEdit": { - "newText": "function", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "function", - "sortText": "058", - "textEdit": { - "newText": "(${1:params}) => ${2:output}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "function call", - "sortText": "059", - "textEdit": { - "newText": "${1:function}(${2:arguments})[${3:body}]", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "gradient", - "sortText": "060", - "textEdit": { - "newText": "gradient", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "gray", - "sortText": "061", - "textEdit": { - "newText": "gray", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "green", - "sortText": "062", - "textEdit": { - "newText": "green", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "grid", - "sortText": "063", - "textEdit": { - "newText": "grid(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "h", - "sortText": "064", - "textEdit": { - "newText": "h(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "heading", - "sortText": "065", - "textEdit": { - "newText": "heading(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "here", - "sortText": "066", - "textEdit": { - "newText": "here()${1:}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "hide", - "sortText": "067", - "textEdit": { - "newText": "hide(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "highlight", - "sortText": "068", - "textEdit": { - "newText": "highlight(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "horizon", - "sortText": "069", - "textEdit": { - "newText": "horizon", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "if conditional", - "sortText": "070", - "textEdit": { - "newText": "if ${1:1 < 2} {\n\t${2:}\n}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "if-else conditional", - "sortText": "071", - "textEdit": { - "newText": "if ${1:1 < 2} {\n\t${2:}\n} else {\n\t${3:}\n}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "image", - "sortText": "072", - "textEdit": { - "newText": "image(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "import module", - "sortText": "073", - "textEdit": { - "newText": "import \"${1:}\"", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "import module by expression", - "sortText": "074", - "textEdit": { - "newText": "import ${1:}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "import package", - "sortText": "075", - "textEdit": { - "newText": "import \"@${1:}\": ${2:items}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "include (file)", - "sortText": "076", - "textEdit": { - "newText": "include \"${1:file}.typ\"", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "include (package)", - "sortText": "077", - "textEdit": { - "newText": "include \"@${1:}\"", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "int", - "sortText": "078", - "textEdit": { - "newText": "int", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "json", - "sortText": "079", - "textEdit": { - "newText": "json(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "label", - "sortText": "080", - "textEdit": { - "newText": "label", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "layout", - "sortText": "081", - "textEdit": { - "newText": "layout(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "left", - "sortText": "082", - "textEdit": { - "newText": "left", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "length", - "sortText": "083", - "textEdit": { - "newText": "length", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "let binding", - "sortText": "084", - "textEdit": { - "newText": "let ${1:name} = ${2:value}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "let binding (function)", - "sortText": "085", - "textEdit": { - "newText": "let ${1:name}(${2:params}) = ${3:output}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "lime", - "sortText": "086", - "textEdit": { - "newText": "lime", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "line", - "sortText": "087", - "textEdit": { - "newText": "line(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "linebreak", - "sortText": "088", - "textEdit": { - "newText": "linebreak(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "link", - "sortText": "089", - "textEdit": { - "newText": "link(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "list", - "sortText": "090", - "textEdit": { - "newText": "list(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "locate", - "sortText": "091", - "textEdit": { - "newText": "locate(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "location", - "sortText": "092", - "textEdit": { - "newText": "location", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "lorem", - "sortText": "093", - "textEdit": { - "newText": "lorem(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "lower", - "sortText": "094", - "textEdit": { - "newText": "lower(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "ltr", - "sortText": "095", - "textEdit": { - "newText": "ltr", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "luma", - "sortText": "096", - "textEdit": { - "newText": "luma(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "maroon", - "sortText": "097", - "textEdit": { - "newText": "maroon", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "math", - "sortText": "098", - "textEdit": { - "newText": "math", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "measure", - "sortText": "099", - "textEdit": { - "newText": "measure(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "metadata", - "sortText": "100", - "textEdit": { - "newText": "metadata(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "module", - "sortText": "101", - "textEdit": { - "newText": "module", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "move", - "sortText": "102", - "textEdit": { - "newText": "move(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "navy", - "sortText": "103", - "textEdit": { - "newText": "navy", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "numbering", - "sortText": "104", - "textEdit": { - "newText": "numbering(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "oklab", - "sortText": "105", - "textEdit": { - "newText": "oklab(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "oklch", - "sortText": "106", - "textEdit": { - "newText": "oklch(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "olive", - "sortText": "107", - "textEdit": { - "newText": "olive", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "orange", - "sortText": "108", - "textEdit": { - "newText": "orange", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "outline", - "sortText": "109", - "textEdit": { - "newText": "outline(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "overline", - "sortText": "110", - "textEdit": { - "newText": "overline(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "pad", - "sortText": "111", - "textEdit": { - "newText": "pad(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "page", - "sortText": "112", - "textEdit": { - "newText": "page(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "pagebreak", - "sortText": "113", - "textEdit": { - "newText": "pagebreak(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "panic", - "sortText": "114", - "textEdit": { - "newText": "panic(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "par", - "sortText": "115", - "textEdit": { - "newText": "par(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "parbreak", - "sortText": "116", - "textEdit": { - "newText": "parbreak()${1:}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "path", - "sortText": "117", - "textEdit": { - "newText": "path(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "pattern", - "sortText": "118", - "textEdit": { - "newText": "pattern", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "place", - "sortText": "119", - "textEdit": { - "newText": "place(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "plugin", - "sortText": "120", - "textEdit": { - "newText": "plugin", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "polygon", - "sortText": "121", - "textEdit": { - "newText": "polygon(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "purple", - "sortText": "122", - "textEdit": { - "newText": "purple", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "query", - "sortText": "123", - "textEdit": { - "newText": "query(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "quote", - "sortText": "124", - "textEdit": { - "newText": "quote(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "range", - "sortText": "125", - "textEdit": { - "newText": "range(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "ratio", - "sortText": "126", - "textEdit": { - "newText": "ratio", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "raw", - "sortText": "127", - "textEdit": { - "newText": "raw(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "read", - "sortText": "128", - "textEdit": { - "newText": "read(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "rect", - "sortText": "129", - "textEdit": { - "newText": "rect(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "red", - "sortText": "130", - "textEdit": { - "newText": "red", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "ref", - "sortText": "131", - "textEdit": { - "newText": "ref(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "regex", - "sortText": "132", - "textEdit": { - "newText": "regex", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "relative", - "sortText": "133", - "textEdit": { - "newText": "relative", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "repeat", - "sortText": "134", - "textEdit": { - "newText": "repeat(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "repr", - "sortText": "135", - "textEdit": { - "newText": "repr(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "return", - "sortText": "136", - "textEdit": { - "newText": "return ${1:output}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "rgb", - "sortText": "137", - "textEdit": { - "newText": "rgb(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "right", - "sortText": "138", - "textEdit": { - "newText": "right", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "rotate", - "sortText": "139", - "textEdit": { - "newText": "rotate(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "rtl", - "sortText": "140", - "textEdit": { - "newText": "rtl", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "scale", - "sortText": "141", - "textEdit": { - "newText": "scale(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "selector", - "sortText": "142", - "textEdit": { - "newText": "selector", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "set rule", - "sortText": "143", - "textEdit": { - "newText": "set ${1:}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "show rule", - "sortText": "144", - "textEdit": { - "newText": "show ${1:}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "show rule (everything)", - "sortText": "145", - "textEdit": { - "newText": "show: ${1:}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "silver", - "sortText": "146", - "textEdit": { - "newText": "silver", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "smallcaps", - "sortText": "147", - "textEdit": { - "newText": "smallcaps(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "smartquote", - "sortText": "148", - "textEdit": { - "newText": "smartquote(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "square", - "sortText": "149", - "textEdit": { - "newText": "square(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "stack", - "sortText": "150", - "textEdit": { - "newText": "stack(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "start", - "sortText": "151", - "textEdit": { - "newText": "start", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "state", - "sortText": "152", - "textEdit": { - "newText": "state", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "str", - "sortText": "153", - "textEdit": { - "newText": "str", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "strike", - "sortText": "154", - "textEdit": { - "newText": "strike(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "stroke", - "sortText": "155", - "textEdit": { - "newText": "stroke", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "strong", - "sortText": "156", - "textEdit": { - "newText": "strong(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "style", - "sortText": "157", - "textEdit": { - "newText": "style(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "sub", - "sortText": "158", - "textEdit": { - "newText": "sub(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "super", - "sortText": "159", - "textEdit": { - "newText": "super(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "sym", - "sortText": "160", - "textEdit": { - "newText": "sym", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "symbol", - "sortText": "161", - "textEdit": { - "newText": "symbol", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "sys", - "sortText": "162", - "textEdit": { - "newText": "sys", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "table", - "sortText": "163", - "textEdit": { - "newText": "table(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "teal", - "sortText": "164", - "textEdit": { - "newText": "teal", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "terms", - "sortText": "165", - "textEdit": { - "newText": "terms(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "text", - "sortText": "166", - "textEdit": { - "newText": "text(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "tmpl", - "sortText": "167", - "textEdit": { - "newText": "tmpl(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "tmpl.where", - "sortText": "168", - "textEdit": { - "newText": "tmpl.where(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "tmpl.with", - "sortText": "169", - "textEdit": { - "newText": "tmpl.with(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "toml", - "sortText": "170", - "textEdit": { - "newText": "toml(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "top", - "sortText": "171", - "textEdit": { - "newText": "top", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "ttb", - "sortText": "172", - "textEdit": { - "newText": "ttb", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "type", - "sortText": "173", - "textEdit": { - "newText": "type", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "underline", - "sortText": "174", - "textEdit": { - "newText": "underline(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "upper", - "sortText": "175", - "textEdit": { - "newText": "upper(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "v", - "sortText": "176", - "textEdit": { - "newText": "v(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 7, - "label": "version", - "sortText": "177", - "textEdit": { - "newText": "version", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 15, - "label": "while loop", - "sortText": "178", - "textEdit": { - "newText": "while ${1:1 < 2} {\n\t${2:}\n}", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "white", - "sortText": "179", - "textEdit": { - "newText": "white", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "xml", - "sortText": "180", - "textEdit": { - "newText": "xml(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 3, - "label": "yaml", - "sortText": "181", - "textEdit": { - "newText": "yaml(${1:})", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 - } - } - } - }, - { - "kind": 21, - "label": "yellow", - "sortText": "182", - "textEdit": { - "newText": "yellow", - "range": { - "end": { - "character": 11, - "line": 14 - }, - "start": { - "character": 11, - "line": 14 + "line": 16 } } } diff --git a/crates/tinymist-query/src/fixtures/completion/snaps/test@item_shadow.typ.snap b/crates/tinymist-query/src/fixtures/completion/snaps/test@item_shadow.typ.snap index 6a84a446..f0672cb5 100644 --- a/crates/tinymist-query/src/fixtures/completion/snaps/test@item_shadow.typ.snap +++ b/crates/tinymist-query/src/fixtures/completion/snaps/test@item_shadow.typ.snap @@ -1,6 +1,6 @@ --- source: crates/tinymist-query/src/completion.rs -description: Completion on c( (48..50) +description: Completion on c( (69..71) expression: "JsonRepr::new_pure(results)" input_file: crates/tinymist-query/src/fixtures/completion/item_shadow.typ --- @@ -16,45 +16,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/item_shadow.typ "range": { "end": { "character": 4, - "line": 4 + "line": 6 }, "start": { "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 3, - "label": "aa.where", - "textEdit": { - "newText": "aa.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 3, - "label": "aa.with", - "textEdit": { - "newText": "aa.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 + "line": 6 } } } @@ -67,215 +33,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/item_shadow.typ "range": { "end": { "character": 4, - "line": 4 + "line": 6 }, "start": { "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 3, - "label": "aac.where", - "textEdit": { - "newText": "aac.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 3, - "label": "aac.with", - "textEdit": { - "newText": "aac.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 21, - "label": "aqua", - "textEdit": { - "newText": "aqua", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 7, - "label": "array", - "textEdit": { - "newText": "array", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 15, - "label": "array literal", - "textEdit": { - "newText": "(${1:1, 2, 3})", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 15, - "label": "dictionary literal", - "textEdit": { - "newText": "(${1:a: 1, b: 2})", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 15, - "label": "import package", - "textEdit": { - "newText": "import \"@${1:}\": ${2:items}", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 15, - "label": "include (package)", - "textEdit": { - "newText": "include \"@${1:}\"", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 3, - "label": "metadata", - "textEdit": { - "newText": "metadata(${1:})", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 3, - "label": "pagebreak", - "textEdit": { - "newText": "pagebreak(${1:})", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 3, - "label": "parbreak", - "textEdit": { - "newText": "parbreak()${1:}", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 3, - "label": "smallcaps", - "textEdit": { - "newText": "smallcaps(${1:})", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 + "line": 6 } } } @@ -293,45 +55,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/item_shadow.typ "range": { "end": { "character": 4, - "line": 4 + "line": 6 }, "start": { "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 3, - "label": "aac.where", - "textEdit": { - "newText": "aac.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 - } - } - } - }, - { - "kind": 3, - "label": "aac.with", - "textEdit": { - "newText": "aac.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 4 - }, - "start": { - "character": 1, - "line": 4 + "line": 6 } } } diff --git a/crates/tinymist-query/src/fixtures/completion/snaps/test@let.typ.snap b/crates/tinymist-query/src/fixtures/completion/snaps/test@let.typ.snap index c03d27b5..5a3467db 100644 --- a/crates/tinymist-query/src/fixtures/completion/snaps/test@let.typ.snap +++ b/crates/tinymist-query/src/fixtures/completion/snaps/test@let.typ.snap @@ -1,6 +1,6 @@ --- source: crates/tinymist-query/src/completion.rs -description: Completion on c( (64..66) +description: Completion on c( (94..96) expression: "JsonRepr::new_pure(results)" input_file: crates/tinymist-query/src/fixtures/completion/let.typ --- @@ -16,45 +16,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/let.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aa.where", - "textEdit": { - "newText": "aa.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aa.with", - "textEdit": { - "newText": "aa.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 + "line": 7 } } } @@ -67,11 +33,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/let.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 + "line": 7 } } } @@ -84,11 +50,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/let.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 + "line": 7 } } } @@ -101,215 +67,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/let.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aac.where", - "textEdit": { - "newText": "aac.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aac.with", - "textEdit": { - "newText": "aac.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 21, - "label": "aqua", - "textEdit": { - "newText": "aqua", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 7, - "label": "array", - "textEdit": { - "newText": "array", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 15, - "label": "array literal", - "textEdit": { - "newText": "(${1:1, 2, 3})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 15, - "label": "dictionary literal", - "textEdit": { - "newText": "(${1:a: 1, b: 2})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 15, - "label": "import package", - "textEdit": { - "newText": "import \"@${1:}\": ${2:items}", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 15, - "label": "include (package)", - "textEdit": { - "newText": "include \"@${1:}\"", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "metadata", - "textEdit": { - "newText": "metadata(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "pagebreak", - "textEdit": { - "newText": "pagebreak(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "parbreak", - "textEdit": { - "newText": "parbreak()${1:}", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "smallcaps", - "textEdit": { - "newText": "smallcaps(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 + "line": 7 } } } @@ -327,11 +89,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/let.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 + "line": 7 } } } @@ -344,45 +106,11 @@ input_file: crates/tinymist-query/src/fixtures/completion/let.typ "range": { "end": { "character": 4, - "line": 5 + "line": 7 }, "start": { "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aac.where", - "textEdit": { - "newText": "aac.where(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 - } - } - } - }, - { - "kind": 3, - "label": "aac.with", - "textEdit": { - "newText": "aac.with(${1:})", - "range": { - "end": { - "character": 4, - "line": 5 - }, - "start": { - "character": 1, - "line": 5 + "line": 7 } } } diff --git a/crates/tinymist-query/src/hover.rs b/crates/tinymist-query/src/hover.rs index 881d7757..d3af56cf 100644 --- a/crates/tinymist-query/src/hover.rs +++ b/crates/tinymist-query/src/hover.rs @@ -4,7 +4,7 @@ use crate::{ analysis::{analyze_dyn_signature, find_definition, DefinitionLink, Signature}, jump_from_cursor, prelude::*, - syntax::{find_document_before, get_deref_target, LexicalKind, LexicalVarKind}, + syntax::{find_docs_before, get_deref_target, LexicalKind, LexicalVarKind}, upstream::{expr_tooltip, tooltip, Tooltip}, LspHoverContents, StatefulRequest, }; @@ -266,7 +266,7 @@ impl DocTooltip { let (fid, def_range) = lnk.def_at.clone()?; let src = ctx.source_by_id(fid).ok()?; - find_document_before(&src, def_range.start) + find_docs_before(&src, def_range.start) } } diff --git a/crates/tinymist-query/src/syntax/comment.rs b/crates/tinymist-query/src/syntax/comment.rs index cafb3934..64d0328a 100644 --- a/crates/tinymist-query/src/syntax/comment.rs +++ b/crates/tinymist-query/src/syntax/comment.rs @@ -3,13 +3,17 @@ use std::ops::Range; use crate::prelude::*; use crate::syntax::get_def_target; -fn extract_document_between(node: &LinkedNode, rng: Range) -> Option { +fn extract_document_between( + node: &LinkedNode, + rng: Range, + first_group: bool, +) -> Option { // collect all comments before the definition let mut comments = vec![]; let mut newline_count = 0; - let nodes = node.parent()?.children(); - for n in nodes { + let nodes = node.children(); + 'scan_comments: for n in nodes { let offset = n.offset(); if !rng.contains(&offset) { continue; @@ -26,11 +30,17 @@ fn extract_document_between(node: &LinkedNode, rng: Range) -> Option 1 { + if first_group { + break 'scan_comments; + } comments.clear(); } } SyntaxKind::Parbreak => { newline_count = 2; + if first_group { + break 'scan_comments; + } comments.clear(); } SyntaxKind::LineComment => { @@ -75,14 +85,14 @@ fn extract_document_between(node: &LinkedNode, rng: Range) -> Option Option { +pub fn find_docs_before(src: &Source, cursor: usize) -> Option { log::debug!("finding docs at: {id:?}, {cursor}", id = src.id()); let root = LinkedNode::new(src.root()); let leaf = root.leaf_at(cursor)?; let def_target = get_def_target(leaf.clone())?; log::debug!("found docs target: {:?}", def_target.node().kind()); - // todo: import + // todo: import node let target = def_target.node().clone(); let mut node = target.clone(); while let Some(prev) = node.prev_sibling() { @@ -98,12 +108,27 @@ pub fn find_document_before(src: &Source, cursor: usize) -> Option { return None; } - return extract_document_between(&node, start..end); + return extract_document_between(node.parent()?, start..end, false); } if node.parent()?.range() == root.range() && node.prev_sibling().is_none() { - return extract_document_between(&node, root.offset()..node.range().start); + return extract_document_between(node.parent()?, root.offset()..node.range().start, false); } None } + +pub fn find_module_level_docs(src: &Source) -> Option { + log::debug!("finding docs at: {id:?}", id = src.id()); + + let root = LinkedNode::new(src.root()); + for n in root.children() { + if n.kind().is_trivia() { + continue; + } + + return extract_document_between(&root, 0..n.offset(), true); + } + + extract_document_between(&root, 0..src.text().len(), true) +} diff --git a/crates/tinymist-query/src/tests.rs b/crates/tinymist-query/src/tests.rs index 752cfdad..1c52f34b 100644 --- a/crates/tinymist-query/src/tests.rs +++ b/crates/tinymist-query/src/tests.rs @@ -1,6 +1,6 @@ use core::fmt; use std::{ - collections::HashSet, + collections::{HashMap, HashSet}, ops::Range, path::{Path, PathBuf}, }; @@ -86,6 +86,17 @@ pub fn snapshot_testing(name: &str, f: &impl Fn(&mut AnalysisContext, PathBuf)) }); } +pub fn get_test_properties(s: &str) -> HashMap<&'_ str, &'_ str> { + let mut props = HashMap::new(); + for line in s.lines() { + let mut line = line.splitn(2, ':'); + let key = line.next().unwrap().trim(); + let value = line.next().unwrap().trim(); + props.insert(key, value); + } + props +} + pub fn run_with_sources(source: &str, f: impl FnOnce(&mut TypstSystemWorld, PathBuf) -> T) -> T { let root = if cfg!(windows) { PathBuf::from("C:\\")