Skip to content

Commit bb6ea23

Browse files
committed
resolve comment variables against language at position, microsoft#102403
1 parent e6488d3 commit bb6ea23

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

src/vs/editor/contrib/snippet/snippetSession.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ export class SnippetSession {
450450
modelBasedVariableResolver,
451451
new ClipboardBasedVariableResolver(readClipboardText, idx, indexedSelections.length, editor.getOption(EditorOption.multiCursorPaste) === 'spread'),
452452
new SelectionBasedVariableResolver(model, selection),
453-
new CommentBasedVariableResolver(model),
453+
new CommentBasedVariableResolver(model, selection),
454454
new TimeBasedVariableResolver,
455455
new WorkspaceBasedVariableResolver(workspaceService),
456456
new RandomBasedVariableResolver,

src/vs/editor/contrib/snippet/snippetVariables.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,14 +208,15 @@ export class ClipboardBasedVariableResolver implements VariableResolver {
208208
}
209209
export class CommentBasedVariableResolver implements VariableResolver {
210210
constructor(
211-
private readonly _model: ITextModel
211+
private readonly _model: ITextModel,
212+
private readonly _selection: Selection
212213
) {
213214
//
214215
}
215216
resolve(variable: Variable): string | undefined {
216217
const { name } = variable;
217-
const language = this._model.getLanguageIdentifier();
218-
const config = LanguageConfigurationRegistry.getComments(language.id);
218+
const langId = this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber, this._selection.selectionStartColumn);
219+
const config = LanguageConfigurationRegistry.getComments(langId);
219220
if (!config) {
220221
return undefined;
221222
}

0 commit comments

Comments
 (0)