Set extract kind for type alias refactoring

This lets you set up a single keybinding that applies to both extract constant and extract type
This commit is contained in:
Matt Bierner
2019-05-29 13:58:25 -07:00
parent ecf9a9f764
commit c62a6aa38a

View File

@@ -116,6 +116,7 @@ class TypeScriptRefactorProvider implements vscode.CodeActionProvider {
private static readonly extractFunctionKind = vscode.CodeActionKind.RefactorExtract.append('function');
private static readonly extractConstantKind = vscode.CodeActionKind.RefactorExtract.append('constant');
private static readonly extractTypeKind = vscode.CodeActionKind.RefactorExtract.append('type');
private static readonly moveKind = vscode.CodeActionKind.Refactor.append('move');
constructor(
@@ -217,6 +218,8 @@ class TypeScriptRefactorProvider implements vscode.CodeActionProvider {
return TypeScriptRefactorProvider.extractConstantKind;
} else if (refactor.name.startsWith('Move')) {
return TypeScriptRefactorProvider.moveKind;
} else if (refactor.name.includes('Extract to type alias')) {
return TypeScriptRefactorProvider.extractTypeKind;
}
return vscode.CodeActionKind.Refactor;
}
@@ -227,6 +230,9 @@ class TypeScriptRefactorProvider implements vscode.CodeActionProvider {
if (action.name.startsWith('constant_')) {
return action.name.endsWith('scope_0');
}
if (action.name.includes('Extract to type alias')) {
return true;
}
return false;
}
}