From 544238b6f20db4450249b83a462f1979cb8097dd Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Wed, 21 May 2014 18:47:01 +0200 Subject: [PATCH 1/4] Don't draw terminal content out of the terminal panel component (IDEA-125317). --- plugins/terminal/lib/jediterm-pty-2.0.jar | Bin 226568 -> 226574 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/terminal/lib/jediterm-pty-2.0.jar b/plugins/terminal/lib/jediterm-pty-2.0.jar index cc675793686eceaf3b289f44a3d072cdf2f74f5d..ee86ea44c15e946d36dcb836cccf5cb099e83b14 100644 GIT binary patch delta 18714 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�DN7!xR8%3eggnSe|M#7GCji{PZp#ha!;a#l{nIBFGMj+i z&9`>`!oR?SYs7%(V%Vc75)xsae(@2b)U+aIBd~eAicAyLfm`o?0F}FL(n1$eUp!-|37ED#p^Ffg=g04-nu0GEl`(EtDd delta 18640 zcmY(r1z42L_xR23(%lG>D&0tTcXvK?Nh2+=bayS?jdX*QfOLzrgrFcuNQd}mcl~|e z>(%SxGv~~iGv}O{d&s#Hequ%a#KKfp0wJO!AfO^3T&5*sG6FBslKC!ymuabN09GhW z09;Tc13aKW0SZAO4U~c+8YltpV}Jye0+3Vhfap*e8N>sH2uKu)01)33n%h9^Kq!A8 z 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 Q(DVx>%oc3*8bCuB0DFi^*8l(j From 961bf42898d413210533d4734706657819326a07 Mon Sep 17 00:00:00 2001 From: Vassiliy Date: Wed, 21 May 2014 23:06:28 +0400 Subject: [PATCH 2/4] Start plugins wizard #29 move plugins saving to beforeOkAction --- .../ide/customize/CustomizeIDEWizardDialog.java | 7 ------- .../ide/customize/CustomizePluginsStepPanel.java | 12 ++++++++++++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/customize/CustomizeIDEWizardDialog.java b/platform/platform-impl/src/com/intellij/ide/customize/CustomizeIDEWizardDialog.java index 9afc0ab9f163..0d62d30fa511 100644 --- a/platform/platform-impl/src/com/intellij/ide/customize/CustomizeIDEWizardDialog.java +++ b/platform/platform-impl/src/com/intellij/ide/customize/CustomizeIDEWizardDialog.java @@ -15,7 +15,6 @@ */ package com.intellij.ide.customize; -import com.intellij.ide.plugins.PluginManager; import com.intellij.ide.startup.StartupActionScriptManager; import com.intellij.openapi.application.ApplicationNamesInfo; import com.intellij.openapi.ui.DialogWrapper; @@ -27,7 +26,6 @@ import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -160,11 +158,6 @@ public class CustomizeIDEWizardDialog extends DialogWrapper implements ActionLis for (AbstractCustomizeWizardStep step : mySteps) { if (!step.beforeOkAction()) return; } - try { - PluginManager.saveDisabledPlugins(PluginGroups.getInstance().getDisabledPluginIds(), false); - } - catch (IOException ignored) { - } super.doOKAction(); } diff --git a/platform/platform-impl/src/com/intellij/ide/customize/CustomizePluginsStepPanel.java b/platform/platform-impl/src/com/intellij/ide/customize/CustomizePluginsStepPanel.java index 5fa3bbcbbd25..9bd14b69cb47 100644 --- a/platform/platform-impl/src/com/intellij/ide/customize/CustomizePluginsStepPanel.java +++ b/platform/platform-impl/src/com/intellij/ide/customize/CustomizePluginsStepPanel.java @@ -15,6 +15,7 @@ */ package com.intellij.ide.customize; +import com.intellij.ide.plugins.PluginManager; import com.intellij.openapi.application.ApplicationNamesInfo; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.VerticalFlowLayout; @@ -33,6 +34,7 @@ import javax.swing.border.CompoundBorder; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -224,6 +226,16 @@ public class CustomizePluginsStepPanel extends AbstractCustomizeWizardStep imple return null; } + @Override + public boolean beforeOkAction() { + try { + PluginManager.saveDisabledPlugins(PluginGroups.getInstance().getDisabledPluginIds(), false); + } + catch (IOException ignored) { + } + return true; + } + private class IdSetPanel extends JPanel implements LinkListener { private JLabel myTitleLabel = new JLabel(); private JPanel myContentPanel = new JPanel(new GridLayout(0, 3, 5, 5)); From 383494f7a2b4fcfdfa226abdc73403eba6d1651b Mon Sep 17 00:00:00 2001 From: "Ilya.Kazakevich" Date: Thu, 22 May 2014 01:02:46 +0400 Subject: [PATCH 3/4] Package info with links to confluence added --- .../core-api/src/com/intellij/psi/stubs/package-info.java | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 platform/core-api/src/com/intellij/psi/stubs/package-info.java diff --git a/platform/core-api/src/com/intellij/psi/stubs/package-info.java b/platform/core-api/src/com/intellij/psi/stubs/package-info.java new file mode 100644 index 000000000000..aad148a9f337 --- /dev/null +++ b/platform/core-api/src/com/intellij/psi/stubs/package-info.java @@ -0,0 +1,6 @@ +/** + * @see Indexing and PSI Stubs in IntelliJ IDEA + * + * @see Lifecycle of stub creation + */ +package com.intellij.psi.stubs; \ No newline at end of file From 350199833dd44c7a60ce88eb39c8239b572d36e8 Mon Sep 17 00:00:00 2001 From: "Ilya.Kazakevich" Date: Thu, 22 May 2014 01:05:20 +0400 Subject: [PATCH 4/4] PY-13018 ForeignKey to model in different file brakes backward references if referenced as APP_NAME.Model --- .../src/com/jetbrains/python/FunctionParameter.java | 8 +++++++- python/src/com/jetbrains/python/psi/PsiQuery.java | 9 ++++++++- .../jetbrains/python/psi/impl/PyArgumentListImpl.java | 10 ++++++---- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/python/psi-api/src/com/jetbrains/python/FunctionParameter.java b/python/psi-api/src/com/jetbrains/python/FunctionParameter.java index bceba9efc24b..622a092ef43c 100644 --- a/python/psi-api/src/com/jetbrains/python/FunctionParameter.java +++ b/python/psi-api/src/com/jetbrains/python/FunctionParameter.java @@ -9,7 +9,13 @@ import org.jetbrains.annotations.Nullable; */ public interface FunctionParameter { /** - * @return parameter position + * Position value if argument is keyword-only + */ + int POSITION_NOT_SUPPORTED = -1; + + /** + * @return parameter position. Be sure to check position is supported (!= {@link #POSITION_NOT_SUPPORTED} ) + * @see #POSITION_NOT_SUPPORTED */ int getPosition(); diff --git a/python/src/com/jetbrains/python/psi/PsiQuery.java b/python/src/com/jetbrains/python/psi/PsiQuery.java index 92be4c725bfc..f0893e9e6ae2 100644 --- a/python/src/com/jetbrains/python/psi/PsiQuery.java +++ b/python/src/com/jetbrains/python/psi/PsiQuery.java @@ -107,7 +107,14 @@ public class PsiQuery { */ @NotNull public PsiQuery parents(@NotNull final Class clazz) { - throw new RuntimeException("Not impl"); + final List result = new ArrayList(); + for (final PsiElement element : myPsiElements) { + final PsiElement parent = PsiTreeUtil.getParentOfType(element, clazz); + if (parent != null) { + result.add(parent); + } + } + return new PsiQuery(result); } diff --git a/python/src/com/jetbrains/python/psi/impl/PyArgumentListImpl.java b/python/src/com/jetbrains/python/psi/impl/PyArgumentListImpl.java index 2166c6a396c9..a92515d487fa 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyArgumentListImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/PyArgumentListImpl.java @@ -24,10 +24,10 @@ import com.intellij.psi.tree.TokenSet; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.IncorrectOperationException; import com.jetbrains.NotNullPredicate; +import com.jetbrains.python.FunctionParameter; import com.jetbrains.python.PyElementTypes; import com.jetbrains.python.PyTokenTypes; import com.jetbrains.python.PythonDialectsTokenSetProvider; -import com.jetbrains.python.FunctionParameter; import com.jetbrains.python.psi.*; import com.jetbrains.python.psi.resolve.PyResolveContext; import org.jetbrains.annotations.NotNull; @@ -344,11 +344,13 @@ public class PyArgumentListImpl extends PyElementImpl implements PyArgumentList } final PyExpression[] arguments = getArguments(); - if (arguments.length > parameter.getPosition()) { - final PyExpression result = arguments[parameter.getPosition()]; + final int position = parameter.getPosition(); + if ((position != FunctionParameter.POSITION_NOT_SUPPORTED) && (arguments.length > position)) { + final PyExpression result = arguments[position]; if (result instanceof PyKeywordArgument) { ((PyKeywordArgument)result).getValueExpression(); - } else { + } + else { return result; } }