File tree Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ export const registerEmmet = async () => {
1515
1616 const emmet = await import ( '@vscode/emmet-helper' )
1717 const reactLangs = [ 'javascriptreact' , 'typescriptreact' ]
18+ let lastStartOffset : number | undefined
1819 vscode . languages . registerCompletionItemProvider (
1920 reactLangs ,
2021 {
@@ -23,10 +24,18 @@ export const registerEmmet = async () => {
2324 const emmetConfig = vscode . workspace . getConfiguration ( 'emmet' )
2425 if ( isEmmetEnabled && ! emmetConfig . excludeLanguages . includes ( document . languageId ) ) return
2526
26- const result = await sendCommand < EmmetResult > ( 'emmet-completions' , { document, position } )
27- if ( ! result ) return
28- const offset : number = document . offsetAt ( position )
29- const sendToEmmet = document . getText ( ) . slice ( offset + result . emmetTextOffset , offset )
27+ const curosrOffset : number = document . offsetAt ( position )
28+
29+ if ( context . triggerKind !== vscode . CompletionTriggerKind . TriggerForIncompleteCompletions || ! lastStartOffset ) {
30+ const result = await sendCommand < EmmetResult > ( 'emmet-completions' , { document, position } )
31+ if ( ! result ) {
32+ lastStartOffset = undefined
33+ return
34+ }
35+ lastStartOffset = curosrOffset + result . emmetTextOffset
36+ }
37+
38+ const sendToEmmet = document . getText ( ) . slice ( lastStartOffset , curosrOffset )
3039 const emmetCompletions = emmet . doComplete (
3140 {
3241 getText : ( ) => sendToEmmet ,
You can’t perform that action at this time.
0 commit comments