Skip to content

Commit 67b26c9

Browse files
committed
added auto indenting for a few keywords #83
1 parent 05b07f4 commit 67b26c9

File tree

3 files changed

+13
-26
lines changed

3 files changed

+13
-26
lines changed

src/client/extension.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,12 @@ import {PythonFormattingEditProvider} from './providers/formatProvider';
1212
import * as sortImports from './sortImports';
1313
import {LintProvider} from './providers/lintProvider';
1414
import {PythonSymbolProvider} from './providers/symbolProvider';
15-
import * as formatOnSaveProvider from './providers/formatOnSaveProvider';
16-
// import * as languageClient from './languageClient';
15+
import {activateFormatOnSaveProvider} from './providers/formatOnSaveProvider';
1716
import * as path from 'path';
1817
import * as settings from './common/configSettings'
1918
import {activateUnitTestProvider} from './providers/testProvider';
2019

2120
// import {PythonSignatureHelpProvider} from './providers/signatureProvider';
22-
// import {PythonIndentFormatProvider} from './providers/indentFormatProvider';
2321

2422
const PYTHON: vscode.DocumentFilter = { language: 'python', scheme: 'file' }
2523
let unitTestOutChannel: vscode.OutputChannel;
@@ -40,6 +38,17 @@ export function activate(context: vscode.ExtensionContext) {
4038

4139
sortImports.activate(context);
4240
activateUnitTestProvider(context, pythonSettings, unitTestOutChannel);
41+
activateFormatOnSaveProvider(PYTHON, context, pythonSettings, formatOutChannel);
42+
43+
//Enable indentAction
44+
vscode.languages.setLanguageConfiguration(PYTHON.language, {
45+
onEnterRules: [
46+
{
47+
beforeText: /^(?:def|class|for|if|elif|else|while|try|with|finally).*?:\s*$/,
48+
action: { indentAction: vscode.IndentAction.Indent }
49+
}
50+
]
51+
});
4352

4453
context.subscriptions.push(vscode.languages.registerRenameProvider(PYTHON, new PythonRenameProvider(context)));
4554
context.subscriptions.push(vscode.languages.registerHoverProvider(PYTHON, new PythonHoverProvider(context)));
@@ -50,9 +59,7 @@ export function activate(context: vscode.ExtensionContext) {
5059
// context.subscriptions.push(vscode.languages.registerSignatureHelpProvider(PYTHON, new PythonSignatureHelpProvider(context), '('));
5160

5261
context.subscriptions.push(vscode.languages.registerDocumentFormattingEditProvider(PYTHON, new PythonFormattingEditProvider(context, pythonSettings, formatOutChannel)));
53-
5462
context.subscriptions.push(new LintProvider(context, pythonSettings, lintingOutChannel));
55-
formatOnSaveProvider.activate(PYTHON, context, pythonSettings, formatOutChannel);
5663
}
5764

5865
// this method is called when your extension is deactivated

src/client/providers/formatOnSaveProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {YapfFormatter} from './../formatters/yapfFormatter';
88
import {AutoPep8Formatter} from './../formatters/autoPep8Formatter';
99
import * as settings from './../common/configSettings';
1010

11-
export function activate(languageFilter: vscode.DocumentFilter, context: vscode.ExtensionContext, settings: settings.IPythonSettings, outputChannel: vscode.OutputChannel) {
11+
export function activateFormatOnSaveProvider(languageFilter: vscode.DocumentFilter, context: vscode.ExtensionContext, settings: settings.IPythonSettings, outputChannel: vscode.OutputChannel) {
1212
let rootDir = context.asAbsolutePath(".");
1313
let formatters = new Map<string, BaseFormatter>();
1414
let pythonSettings = settings;

src/client/providers/indentFormatProvider.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)