@@ -76,7 +76,7 @@ fn completions_from_call(
7676 return Ok ( None ) ;
7777 } ;
7878
79- let callee = callee. node_as_str ( & document_context. document . contents ) ?;
79+ let callee = callee. node_as_str ( document_context. contents ) ?;
8080
8181 // - Prefer `root` as the first argument if it exists
8282 // - Then fall back to looking it up, if possible
@@ -122,7 +122,7 @@ fn get_first_argument(context: &DocumentContext, node: &Node) -> anyhow::Result<
122122 return Ok ( None ) ;
123123 } ;
124124
125- let text = value. node_as_str ( & context. document . contents ) ?;
125+ let text = value. node_as_str ( context. contents ) ?;
126126
127127 let options = RParseEvalOptions {
128128 forbid_function_calls : true ,
@@ -280,7 +280,6 @@ mod tests {
280280 use crate :: fixtures:: point_from_cursor;
281281 use crate :: lsp:: completions:: completion_context:: CompletionContext ;
282282 use crate :: lsp:: completions:: sources:: composite:: call:: completions_from_call;
283- use crate :: lsp:: document:: Document ;
284283 use crate :: lsp:: document_context:: DocumentContext ;
285284 use crate :: lsp:: state:: WorldState ;
286285 use crate :: r_task;
@@ -290,8 +289,9 @@ mod tests {
290289 r_task ( || {
291290 // Right after `tab`
292291 let ( text, point) = point_from_cursor ( "match(tab@)" ) ;
293- let document = Document :: new ( text. as_str ( ) , None ) ;
294- let document_context = DocumentContext :: new ( & document, point, None ) ;
292+ let tree = crate :: fixtures:: tree_sitter_parse ( & text) ;
293+ let document_context =
294+ DocumentContext :: new ( & tree, & text, crate :: fixtures:: TEST_ENCODING , point, None ) ;
295295 let state = WorldState :: default ( ) ;
296296 let context = CompletionContext :: new ( & document_context, & state) ;
297297 let completions = completions_from_call ( & context) . unwrap ( ) . unwrap ( ) ;
@@ -303,8 +303,9 @@ mod tests {
303303
304304 // Right after `tab`
305305 let ( text, point) = point_from_cursor ( "match(1, tab@)" ) ;
306- let document = Document :: new ( text. as_str ( ) , None ) ;
307- let document_context = DocumentContext :: new ( & document, point, None ) ;
306+ let tree = crate :: fixtures:: tree_sitter_parse ( & text) ;
307+ let document_context =
308+ DocumentContext :: new ( & tree, & text, crate :: fixtures:: TEST_ENCODING , point, None ) ;
308309 let state = WorldState :: default ( ) ;
309310 let context = CompletionContext :: new ( & document_context, & state) ;
310311 let completions = completions_from_call ( & context) . unwrap ( ) . unwrap ( ) ;
@@ -323,8 +324,9 @@ mod tests {
323324 r_task ( || {
324325 // Place cursor between `()`
325326 let ( text, point) = point_from_cursor ( "not_a_known_function(@)" ) ;
326- let document = Document :: new ( text. as_str ( ) , None ) ;
327- let document_context = DocumentContext :: new ( & document, point, None ) ;
327+ let tree = crate :: fixtures:: tree_sitter_parse ( & text) ;
328+ let document_context =
329+ DocumentContext :: new ( & tree, & text, crate :: fixtures:: TEST_ENCODING , point, None ) ;
328330 let state = WorldState :: default ( ) ;
329331 let context = CompletionContext :: new ( & document_context, & state) ;
330332 let completions = completions_from_call ( & context) . unwrap ( ) ;
@@ -343,8 +345,9 @@ mod tests {
343345
344346 // Place cursor between `()`
345347 let ( text, point) = point_from_cursor ( "my_fun(@)" ) ;
346- let document = Document :: new ( text. as_str ( ) , None ) ;
347- let document_context = DocumentContext :: new ( & document, point, None ) ;
348+ let tree = crate :: fixtures:: tree_sitter_parse ( & text) ;
349+ let document_context =
350+ DocumentContext :: new ( & tree, & text, crate :: fixtures:: TEST_ENCODING , point, None ) ;
348351 let state = WorldState :: default ( ) ;
349352 let context = CompletionContext :: new ( & document_context, & state) ;
350353 let completions = completions_from_call ( & context) . unwrap ( ) . unwrap ( ) ;
@@ -360,17 +363,19 @@ mod tests {
360363
361364 // Place just before the `()`
362365 let ( text, point) = point_from_cursor ( "my_fun@()" ) ;
363- let document = Document :: new ( text. as_str ( ) , None ) ;
364- let document_context = DocumentContext :: new ( & document, point, None ) ;
366+ let tree = crate :: fixtures:: tree_sitter_parse ( & text) ;
367+ let document_context =
368+ DocumentContext :: new ( & tree, & text, crate :: fixtures:: TEST_ENCODING , point, None ) ;
365369 let state = WorldState :: default ( ) ;
366370 let context = CompletionContext :: new ( & document_context, & state) ;
367371 let completions = completions_from_call ( & context) . unwrap ( ) ;
368372 assert ! ( completions. is_none( ) ) ;
369373
370374 // Place just after the `()`
371375 let ( text, point) = point_from_cursor ( "my_fun()@" ) ;
372- let document = Document :: new ( text. as_str ( ) , None ) ;
373- let document_context = DocumentContext :: new ( & document, point, None ) ;
376+ let tree = crate :: fixtures:: tree_sitter_parse ( & text) ;
377+ let document_context =
378+ DocumentContext :: new ( & tree, & text, crate :: fixtures:: TEST_ENCODING , point, None ) ;
374379 let state = WorldState :: default ( ) ;
375380 let context = CompletionContext :: new ( & document_context, & state) ;
376381 let completions = completions_from_call ( & context) . unwrap ( ) ;
@@ -392,8 +397,9 @@ mod tests {
392397
393398 // Place cursor between `()`
394399 let ( text, point) = point_from_cursor ( "my_fun(@)" ) ;
395- let document = Document :: new ( text. as_str ( ) , None ) ;
396- let document_context = DocumentContext :: new ( & document, point, None ) ;
400+ let tree = crate :: fixtures:: tree_sitter_parse ( & text) ;
401+ let document_context =
402+ DocumentContext :: new ( & tree, & text, crate :: fixtures:: TEST_ENCODING , point, None ) ;
397403 let state = WorldState :: default ( ) ;
398404 let context = CompletionContext :: new ( & document_context, & state) ;
399405 let completions = completions_from_call ( & context) . unwrap ( ) . unwrap ( ) ;
@@ -409,8 +415,9 @@ mod tests {
409415 r_task ( || {
410416 // No arguments typed yet
411417 let ( text, point) = point_from_cursor ( "match(\n @\n )" ) ;
412- let document = Document :: new ( text. as_str ( ) , None ) ;
413- let document_context = DocumentContext :: new ( & document, point, None ) ;
418+ let tree = crate :: fixtures:: tree_sitter_parse ( & text) ;
419+ let document_context =
420+ DocumentContext :: new ( & tree, & text, crate :: fixtures:: TEST_ENCODING , point, None ) ;
414421 let state = WorldState :: default ( ) ;
415422 let context = CompletionContext :: new ( & document_context, & state) ;
416423 let completions = completions_from_call ( & context) . unwrap ( ) . unwrap ( ) ;
@@ -421,8 +428,9 @@ mod tests {
421428
422429 // Partially typed argument
423430 let ( text, point) = point_from_cursor ( "match(\n tab@\n )" ) ;
424- let document = Document :: new ( text. as_str ( ) , None ) ;
425- let document_context = DocumentContext :: new ( & document, point, None ) ;
431+ let tree = crate :: fixtures:: tree_sitter_parse ( & text) ;
432+ let document_context =
433+ DocumentContext :: new ( & tree, & text, crate :: fixtures:: TEST_ENCODING , point, None ) ;
426434 let state = WorldState :: default ( ) ;
427435 let context = CompletionContext :: new ( & document_context, & state) ;
428436 let completions = completions_from_call ( & context) . unwrap ( ) . unwrap ( ) ;
@@ -433,8 +441,9 @@ mod tests {
433441
434442 // Partially typed second argument
435443 let ( text, point) = point_from_cursor ( "match(\n 1,\n tab@\n )" ) ;
436- let document = Document :: new ( text. as_str ( ) , None ) ;
437- let document_context = DocumentContext :: new ( & document, point, None ) ;
444+ let tree = crate :: fixtures:: tree_sitter_parse ( & text) ;
445+ let document_context =
446+ DocumentContext :: new ( & tree, & text, crate :: fixtures:: TEST_ENCODING , point, None ) ;
438447 let state = WorldState :: default ( ) ;
439448 let context = CompletionContext :: new ( & document_context, & state) ;
440449 let completions = completions_from_call ( & context) . unwrap ( ) . unwrap ( ) ;
@@ -450,8 +459,9 @@ mod tests {
450459 r_task ( || {
451460 fn assert_no_call_completions ( code_with_cursor : & str ) {
452461 let ( text, point) = point_from_cursor ( code_with_cursor) ;
453- let document = Document :: new ( text. as_str ( ) , None ) ;
454- let document_context = DocumentContext :: new ( & document, point, None ) ;
462+ let tree = crate :: fixtures:: tree_sitter_parse ( & text) ;
463+ let document_context =
464+ DocumentContext :: new ( & tree, & text, crate :: fixtures:: TEST_ENCODING , point, None ) ;
455465 let state = WorldState :: default ( ) ;
456466 let context = CompletionContext :: new ( & document_context, & state) ;
457467 let completions = completions_from_call ( & context) . unwrap ( ) ;
0 commit comments