From 59ec2f60bb53df05edfa5c46d159447082868f3f Mon Sep 17 00:00:00 2001 From: "Ilya.Kazakevich" Date: Mon, 15 Jun 2020 14:42:38 +0300 Subject: [PATCH] IDEA-236980: Use python traceback filter for terminal. User may run python code via terminal. Output still should be highlighted. GitOrigin-RevId: dec6bdaaf66af8bf7f72dcde75ef421f2fa760a0 --- python/src/META-INF/python-core-common.xml | 1 + .../com/jetbrains/python/run/PyMessageFilterProvider.kt | 9 +++++++++ .../com/jetbrains/python/run/PythonTracebackFilter.java | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 python/src/com/jetbrains/python/run/PyMessageFilterProvider.kt diff --git a/python/src/META-INF/python-core-common.xml b/python/src/META-INF/python-core-common.xml index c4789dc5e331..8eaa4271b9fc 100644 --- a/python/src/META-INF/python-core-common.xml +++ b/python/src/META-INF/python-core-common.xml @@ -344,6 +344,7 @@ + diff --git a/python/src/com/jetbrains/python/run/PyMessageFilterProvider.kt b/python/src/com/jetbrains/python/run/PyMessageFilterProvider.kt new file mode 100644 index 000000000000..f36ca8f85d8e --- /dev/null +++ b/python/src/com/jetbrains/python/run/PyMessageFilterProvider.kt @@ -0,0 +1,9 @@ +// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.jetbrains.python.run + +import com.intellij.execution.filters.ConsoleFilterProvider +import com.intellij.openapi.project.Project + +class PyMessageFilterProvider : ConsoleFilterProvider { + override fun getDefaultFilters(project: Project) = arrayOf(PythonTracebackFilter(project)) +} \ No newline at end of file diff --git a/python/src/com/jetbrains/python/run/PythonTracebackFilter.java b/python/src/com/jetbrains/python/run/PythonTracebackFilter.java index 7dba740bae1b..75541d2b54f3 100644 --- a/python/src/com/jetbrains/python/run/PythonTracebackFilter.java +++ b/python/src/com/jetbrains/python/run/PythonTracebackFilter.java @@ -37,7 +37,7 @@ public class PythonTracebackFilter implements Filter { public PythonTracebackFilter(final Project project) { myProject = project; - myWorkingDirectory = null; + myWorkingDirectory = project.getBasePath(); } public PythonTracebackFilter(final Project project, @Nullable final String workingDirectory) {