diff --git a/settings/language-python.cson b/settings/language-python.cson index e9105bb..001e981 100644 --- a/settings/language-python.cson +++ b/settings/language-python.cson @@ -4,5 +4,5 @@ 'softTabs': true 'tabLength': 4 'commentStart': '# ' - 'increaseIndentPattern': '^\\s*(class|def|elif|else|except|finally|for|if|try|with|while)\\b.*:\\s*$' + 'increaseIndentPattern': '^\\s*(class|def|elif|else|except|finally|for|if|try|with|while|async\\s+(def|for|with))\\b.*:\\s*$' 'decreaseIndentPattern': '^\\s*(elif|else|except|finally)\\b.*:\\s*$' diff --git a/spec/language-python-spec.coffee b/spec/language-python-spec.coffee index 47fd519..e5b431e 100644 --- a/spec/language-python-spec.coffee +++ b/spec/language-python-spec.coffee @@ -6,7 +6,7 @@ describe 'Python settings', -> beforeEach -> waitsForPromise -> - atom.workspace.open('sample.py').then (o) -> + atom.workspace.open().then (o) -> editor = o languageMode = editor.languageMode @@ -18,10 +18,14 @@ describe 'Python settings', -> expect(increaseIndentRegex.testSync('for i in range(n):')).toBeTruthy() expect(increaseIndentRegex.testSync(' for i in range(n):')).toBeTruthy() + expect(increaseIndentRegex.testSync('async for i in range(n):')).toBeTruthy() + expect(increaseIndentRegex.testSync(' async for i in range(n):')).toBeTruthy() expect(increaseIndentRegex.testSync('class TheClass(Object):')).toBeTruthy() expect(increaseIndentRegex.testSync(' class TheClass(Object):')).toBeTruthy() expect(increaseIndentRegex.testSync('def f(x):')).toBeTruthy() expect(increaseIndentRegex.testSync(' def f(x):')).toBeTruthy() + expect(increaseIndentRegex.testSync('async def f(x):')).toBeTruthy() + expect(increaseIndentRegex.testSync(' async def f(x):')).toBeTruthy() expect(increaseIndentRegex.testSync('if this_var == that_var:')).toBeTruthy() expect(increaseIndentRegex.testSync(' if this_var == that_var:')).toBeTruthy() expect(increaseIndentRegex.testSync('elif this_var == that_var:')).toBeTruthy() @@ -36,6 +40,8 @@ describe 'Python settings', -> expect(increaseIndentRegex.testSync(' finally:')).toBeTruthy() expect(increaseIndentRegex.testSync('with open("filename") as f:')).toBeTruthy() expect(increaseIndentRegex.testSync(' with open("filename") as f:')).toBeTruthy() + expect(increaseIndentRegex.testSync('async with open("filename") as f:')).toBeTruthy() + expect(increaseIndentRegex.testSync(' async with open("filename") as f:')).toBeTruthy() expect(increaseIndentRegex.testSync('while True:')).toBeTruthy() expect(increaseIndentRegex.testSync(' while True:')).toBeTruthy() expect(increaseIndentRegex.testSync('\t\t while True:')).toBeTruthy()