@@ -12,6 +12,7 @@ import { TextModel } from 'vs/editor/common/model/textModel';
1212import { ISnippetsService } from 'vs/workbench/parts/snippets/electron-browser/snippets.contribution' ;
1313import { Snippet , SnippetSource } from 'vs/workbench/parts/snippets/electron-browser/snippetsFile' ;
1414import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry' ;
15+ import { CompletionContext , CompletionTriggerKind } from 'vs/editor/common/modes' ;
1516
1617class SimpleSnippetService implements ISnippetsService {
1718 _serviceBrand : any ;
@@ -39,6 +40,7 @@ suite('SnippetsService', function () {
3940
4041 let modeService : ModeServiceImpl ;
4142 let snippetService : ISnippetsService ;
43+ let context : CompletionContext = { triggerKind : CompletionTriggerKind . Invoke } ;
4244
4345 setup ( function ( ) {
4446 modeService = new ModeServiceImpl ( ) ;
@@ -67,7 +69,7 @@ suite('SnippetsService', function () {
6769 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
6870 const model = TextModel . createFromString ( '' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
6971
70- return provider . provideCompletionItems ( model , new Position ( 1 , 1 ) ) ! . then ( result => {
72+ return provider . provideCompletionItems ( model , new Position ( 1 , 1 ) , context ) ! . then ( result => {
7173 assert . equal ( result . incomplete , undefined ) ;
7274 assert . equal ( result . suggestions . length , 2 ) ;
7375 } ) ;
@@ -78,7 +80,7 @@ suite('SnippetsService', function () {
7880 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
7981 const model = TextModel . createFromString ( 'bar' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
8082
81- return provider . provideCompletionItems ( model , new Position ( 1 , 4 ) ) ! . then ( result => {
83+ return provider . provideCompletionItems ( model , new Position ( 1 , 4 ) , context ) ! . then ( result => {
8284 assert . equal ( result . incomplete , undefined ) ;
8385 assert . equal ( result . suggestions . length , 1 ) ;
8486 assert . equal ( result . suggestions [ 0 ] . label , 'bar' ) ;
@@ -110,7 +112,7 @@ suite('SnippetsService', function () {
110112 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
111113 const model = TextModel . createFromString ( 'bar-bar' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
112114
113- await provider . provideCompletionItems ( model , new Position ( 1 , 3 ) ) ! . then ( result => {
115+ await provider . provideCompletionItems ( model , new Position ( 1 , 3 ) , context ) ! . then ( result => {
114116 assert . equal ( result . incomplete , undefined ) ;
115117 assert . equal ( result . suggestions . length , 2 ) ;
116118 assert . equal ( result . suggestions [ 0 ] . label , 'bar' ) ;
@@ -121,15 +123,15 @@ suite('SnippetsService', function () {
121123 assert . equal ( result . suggestions [ 1 ] . range . startColumn , 1 ) ;
122124 } ) ;
123125
124- await provider . provideCompletionItems ( model , new Position ( 1 , 5 ) ) ! . then ( result => {
126+ await provider . provideCompletionItems ( model , new Position ( 1 , 5 ) , context ) ! . then ( result => {
125127 assert . equal ( result . incomplete , undefined ) ;
126128 assert . equal ( result . suggestions . length , 1 ) ;
127129 assert . equal ( result . suggestions [ 0 ] . label , 'bar-bar' ) ;
128130 assert . equal ( result . suggestions [ 0 ] . insertText , 's2' ) ;
129131 assert . equal ( result . suggestions [ 0 ] . range . startColumn , 1 ) ;
130132 } ) ;
131133
132- await provider . provideCompletionItems ( model , new Position ( 1 , 6 ) ) ! . then ( result => {
134+ await provider . provideCompletionItems ( model , new Position ( 1 , 6 ) , context ) ! . then ( result => {
133135 assert . equal ( result . incomplete , undefined ) ;
134136 assert . equal ( result . suggestions . length , 2 ) ;
135137 assert . equal ( result . suggestions [ 0 ] . label , 'bar' ) ;
@@ -155,19 +157,19 @@ suite('SnippetsService', function () {
155157 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
156158
157159 let model = TextModel . createFromString ( '\t<?php' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
158- return provider . provideCompletionItems ( model , new Position ( 1 , 7 ) ) ! . then ( result => {
160+ return provider . provideCompletionItems ( model , new Position ( 1 , 7 ) , context ) ! . then ( result => {
159161 assert . equal ( result . suggestions . length , 1 ) ;
160162 model . dispose ( ) ;
161163
162164 model = TextModel . createFromString ( '\t<?' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
163- return provider . provideCompletionItems ( model , new Position ( 1 , 4 ) ) ! ;
165+ return provider . provideCompletionItems ( model , new Position ( 1 , 4 ) , context ) ! ;
164166 } ) . then ( result => {
165167 assert . equal ( result . suggestions . length , 1 ) ;
166168 assert . equal ( result . suggestions [ 0 ] . range . startColumn , 2 ) ;
167169 model . dispose ( ) ;
168170
169171 model = TextModel . createFromString ( 'a<?' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
170- return provider . provideCompletionItems ( model , new Position ( 1 , 4 ) ) ! ;
172+ return provider . provideCompletionItems ( model , new Position ( 1 , 4 ) , context ) ! ;
171173 } ) . then ( result => {
172174 assert . equal ( result . suggestions . length , 1 ) ;
173175 assert . equal ( result . suggestions [ 0 ] . range . startColumn , 2 ) ;
@@ -190,9 +192,9 @@ suite('SnippetsService', function () {
190192 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
191193
192194 let model = TextModel . createFromString ( '<head>\n\t\n>/head>' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
193- return provider . provideCompletionItems ( model , new Position ( 1 , 1 ) ) ! . then ( result => {
195+ return provider . provideCompletionItems ( model , new Position ( 1 , 1 ) , context ) ! . then ( result => {
194196 assert . equal ( result . suggestions . length , 1 ) ;
195- return provider . provideCompletionItems ( model , new Position ( 2 , 2 ) ) ! ;
197+ return provider . provideCompletionItems ( model , new Position ( 2 , 2 ) , context ) ! ;
196198 } ) . then ( result => {
197199 assert . equal ( result . suggestions . length , 1 ) ;
198200 } ) ;
@@ -220,7 +222,7 @@ suite('SnippetsService', function () {
220222 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
221223
222224 let model = TextModel . createFromString ( '' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
223- return provider . provideCompletionItems ( model , new Position ( 1 , 1 ) ) ! . then ( result => {
225+ return provider . provideCompletionItems ( model , new Position ( 1 , 1 ) , context ) ! . then ( result => {
224226 assert . equal ( result . suggestions . length , 2 ) ;
225227 let [ first , second ] = result . suggestions ;
226228 assert . equal ( first . label , 'first' ) ;
@@ -242,13 +244,13 @@ suite('SnippetsService', function () {
242244
243245 let model = TextModel . createFromString ( 'p-' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
244246
245- let result = await provider . provideCompletionItems ( model , new Position ( 1 , 2 ) ) ! ;
247+ let result = await provider . provideCompletionItems ( model , new Position ( 1 , 2 ) , context ) ! ;
246248 assert . equal ( result . suggestions . length , 1 ) ;
247249
248- result = await provider . provideCompletionItems ( model , new Position ( 1 , 3 ) ) ! ;
250+ result = await provider . provideCompletionItems ( model , new Position ( 1 , 3 ) , context ) ! ;
249251 assert . equal ( result . suggestions . length , 1 ) ;
250252
251- result = await provider . provideCompletionItems ( model , new Position ( 1 , 3 ) ) ! ;
253+ result = await provider . provideCompletionItems ( model , new Position ( 1 , 3 ) , context ) ! ;
252254 assert . equal ( result . suggestions . length , 1 ) ;
253255 } ) ;
254256
@@ -266,7 +268,7 @@ suite('SnippetsService', function () {
266268 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
267269
268270 let model = TextModel . createFromString ( 'Thisisaverylonglinegoingwithmore100bcharactersandthismakesintellisensebecomea Thisisaverylonglinegoingwithmore100bcharactersandthismakesintellisensebecomea b' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
269- let result = await provider . provideCompletionItems ( model , new Position ( 1 , 158 ) ) ! ;
271+ let result = await provider . provideCompletionItems ( model , new Position ( 1 , 158 ) , context ) ! ;
270272
271273 assert . equal ( result . suggestions . length , 1 ) ;
272274 } ) ;
@@ -285,7 +287,7 @@ suite('SnippetsService', function () {
285287 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
286288
287289 let model = TextModel . createFromString ( ':' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
288- let result = await provider . provideCompletionItems ( model , new Position ( 1 , 2 ) ) ! ;
290+ let result = await provider . provideCompletionItems ( model , new Position ( 1 , 2 ) , context ) ! ;
289291
290292 assert . equal ( result . suggestions . length , 0 ) ;
291293 } ) ;
@@ -304,7 +306,7 @@ suite('SnippetsService', function () {
304306 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
305307
306308 let model = TextModel . createFromString ( 'template' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
307- let result = await provider . provideCompletionItems ( model , new Position ( 1 , 9 ) ) ! ;
309+ let result = await provider . provideCompletionItems ( model , new Position ( 1 , 9 ) , context ) ! ;
308310
309311 assert . equal ( result . suggestions . length , 1 ) ;
310312 assert . equal ( result . suggestions [ 0 ] . label , 'mytemplate' ) ;
@@ -324,7 +326,7 @@ suite('SnippetsService', function () {
324326 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
325327
326328 let model = TextModel . createFromString ( 'Thisisaverylonglinegoingwithmore100bcharactersandthismakesintellisensebecomea Thisisaverylonglinegoingwithmore100bcharactersandthismakesintellisensebecomea b text_after_b' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
327- let result = await provider . provideCompletionItems ( model , new Position ( 1 , 158 ) ) ! ;
329+ let result = await provider . provideCompletionItems ( model , new Position ( 1 , 158 ) , context ) ! ;
328330
329331 assert . equal ( result . suggestions . length , 1 ) ;
330332 } ) ;
@@ -346,7 +348,7 @@ suite('SnippetsService', function () {
346348 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
347349
348350 let model = TextModel . createFromString ( '.🐷-a-b' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
349- let result = await provider . provideCompletionItems ( model , new Position ( 1 , 8 ) ) ! ;
351+ let result = await provider . provideCompletionItems ( model , new Position ( 1 , 8 ) , context ) ! ;
350352
351353 assert . equal ( result . suggestions . length , 1 ) ;
352354
@@ -367,7 +369,7 @@ suite('SnippetsService', function () {
367369 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
368370
369371 let model = TextModel . createFromString ( 'a ' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
370- let result = await provider . provideCompletionItems ( model , new Position ( 1 , 3 ) ) ! ;
372+ let result = await provider . provideCompletionItems ( model , new Position ( 1 , 3 ) , context ) ! ;
371373
372374 assert . equal ( result . suggestions . length , 1 ) ;
373375 } ) ;
@@ -394,14 +396,14 @@ suite('SnippetsService', function () {
394396 const provider = new SnippetCompletionProvider ( modeService , snippetService ) ;
395397
396398 let model = TextModel . createFromString ( ' <' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
397- let result = await provider . provideCompletionItems ( model , new Position ( 1 , 3 ) ) ! ;
399+ let result = await provider . provideCompletionItems ( model , new Position ( 1 , 3 ) , context ) ! ;
398400
399401 assert . equal ( result . suggestions . length , 1 ) ;
400402 let [ first ] = result . suggestions ;
401403 assert . equal ( first . range . startColumn , 2 ) ;
402404
403405 model = TextModel . createFromString ( '1' , undefined , modeService . getLanguageIdentifier ( 'fooLang' ) ) ;
404- result = await provider . provideCompletionItems ( model , new Position ( 1 , 2 ) ) ! ;
406+ result = await provider . provideCompletionItems ( model , new Position ( 1 , 2 ) , context ) ! ;
405407
406408 assert . equal ( result . suggestions . length , 1 ) ;
407409 [ first ] = result . suggestions ;
0 commit comments