From 5c8480449be9577d0d738088ba4f70f42620f1a6 Mon Sep 17 00:00:00 2001
From: masad-frost <farismasad@gmail.com>
Date: Wed, 16 May 2018 20:56:51 -0700
Subject: [PATCH] Add auto-indentation for python

---
 src/python/python.ts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/python/python.ts b/src/python/python.ts
index 06c715ea..268769cd 100644
--- a/src/python/python.ts
+++ b/src/python/python.ts
@@ -8,6 +8,9 @@
 import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
 import ILanguage = monaco.languages.IMonarchLanguage;
 
+// Allow for running under nodejs/requirejs in tests
+const _monaco: typeof monaco = (typeof monaco === 'undefined' ? (<any>self).monaco : monaco);
+
 export const conf: IRichLanguageConfiguration = {
 	comments: {
 		lineComment: '#',
@@ -32,6 +35,12 @@ export const conf: IRichLanguageConfiguration = {
 		{ open: '"', close: '"' },
 		{ open: '\'', close: '\'' },
 	],
+	onEnterRules: [
+		{
+			beforeText: new RegExp("^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\s*$"),
+			action: { indentAction: _monaco.languages.IndentAction.Indent }
+		}
+	],
 	folding: {
 		offSide: true,
 		markers: {