Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Intellij Community
Commits
717c442f
Commit
717c442f
authored
6 years ago
by
Roman Shevchenko
Browse files
Options
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
a4d26de6
8b7ba248
Branches unavailable
Tags unavailable
No related merge requests found
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
java/java-psi-impl/src/com/intellij/codeInsight/javadoc/JavaDocUtil.java
+25
-9
...mpl/src/com/intellij/codeInsight/javadoc/JavaDocUtil.java
java/java-psi-impl/src/com/intellij/psi/impl/file/PsiPackageImpl.java
+2
-2
...i-impl/src/com/intellij/psi/impl/file/PsiPackageImpl.java
java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileBaseImpl.java
+2
-1
...src/com/intellij/psi/impl/source/PsiJavaFileBaseImpl.java
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/resolve/pkg/OtherPackageLocal.java
+14
-0
...onCodeAnalyzer/javaDoc/resolve/pkg/OtherPackageLocal.java
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/resolve/pkg1/PackageLocal.java
+3
-0
...daemonCodeAnalyzer/javaDoc/resolve/pkg1/PackageLocal.java
java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/JavadocResolveTest.java
+8
-0
.../intellij/java/codeInsight/daemon/JavadocResolveTest.java
platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.groovy
+1
-1
.../jetbrains/intellij/build/CommunityLibraryLicenses.groovy
platform/platform-impl/src/com/intellij/terminal/JBTerminalWidget.java
+8
-1
...form-impl/src/com/intellij/terminal/JBTerminalWidget.java
platform/platform-tests/testSrc/com/intellij/openapi/fileEditor/IdeDocumentHistoryFunctionalTest.java
+0
-98
.../openapi/fileEditor/IdeDocumentHistoryFunctionalTest.java
platform/platform-tests/testSrc/com/intellij/openapi/fileEditor/IdeDocumentHistoryFunctionalTest.kt
+90
-0
...ij/openapi/fileEditor/IdeDocumentHistoryFunctionalTest.kt
plugins/terminal/src/org/jetbrains/plugins/terminal/AbstractTerminalRunner.java
+14
-14
...rg/jetbrains/plugins/terminal/AbstractTerminalRunner.java
plugins/terminal/src/org/jetbrains/plugins/terminal/JBTabInnerTerminalWidget.java
+45
-0
.../jetbrains/plugins/terminal/JBTabInnerTerminalWidget.java
plugins/terminal/src/org/jetbrains/plugins/terminal/JBTabbedTerminalWidget.java
+18
-15
...rg/jetbrains/plugins/terminal/JBTabbedTerminalWidget.java
plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalView.java
+7
-9
...inal/src/org/jetbrains/plugins/terminal/TerminalView.java
plugins/terminal/src/org/jetbrains/plugins/terminal/vfs/TerminalSessionEditor.java
+6
-6
...jetbrains/plugins/terminal/vfs/TerminalSessionEditor.java
plugins/terminal/src/org/jetbrains/plugins/terminal/vfs/TerminalSessionEditorProvider.java
+23
-1
...s/plugins/terminal/vfs/TerminalSessionEditorProvider.java
plugins/terminal/src/org/jetbrains/plugins/terminal/vfs/TerminalSessionVirtualFileImpl.java
+8
-4
.../plugins/terminal/vfs/TerminalSessionVirtualFileImpl.java
with
274 additions
and
161 deletions
+274
-161
java/java-psi-impl/src/com/intellij/codeInsight/javadoc/JavaDocUtil.java
+
25
-
9
View file @
717c442f
...
...
@@ -8,10 +8,13 @@ import com.intellij.openapi.util.text.StringUtil;
import
com.intellij.psi.*
;
import
com.intellij.psi.javadoc.PsiDocComment
;
import
com.intellij.psi.javadoc.PsiDocTagValue
;
import
com.intellij.psi.search.GlobalSearchScope
;
import
com.intellij.psi.util.PsiUtil
;
import
com.intellij.psi.util.TypeConversionUtil
;
import
com.intellij.util.ArrayUtil
;
import
com.intellij.util.IncorrectOperationException
;
import
org.jetbrains.annotations.NonNls
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
java.util.StringTokenizer
;
...
...
@@ -70,12 +73,12 @@ public class JavaDocUtil {
}
@Nullable
public
static
PsiElement
findReferenceTarget
(
PsiManager
manager
,
String
refText
,
PsiElement
context
)
{
public
static
PsiElement
findReferenceTarget
(
@NotNull
PsiManager
manager
,
@NotNull
String
refText
,
PsiElement
context
)
{
return
findReferenceTarget
(
manager
,
refText
,
context
,
true
);
}
@Nullable
public
static
PsiElement
findReferenceTarget
(
PsiManager
manager
,
String
refText
,
PsiElement
context
,
boolean
useNavigationElement
)
{
public
static
PsiElement
findReferenceTarget
(
@NotNull
PsiManager
manager
,
@NotNull
String
refText
,
PsiElement
context
,
boolean
useNavigationElement
)
{
LOG
.
assertTrue
(
context
==
null
||
context
.
isValid
());
if
(
context
!=
null
)
{
context
=
context
.
getNavigationElement
();
...
...
@@ -84,9 +87,7 @@ public class JavaDocUtil {
int
poundIndex
=
refText
.
indexOf
(
'#'
);
final
JavaPsiFacade
facade
=
JavaPsiFacade
.
getInstance
(
manager
.
getProject
());
if
(
poundIndex
<
0
)
{
PsiClass
aClass
=
facade
.
getResolveHelper
().
resolveReferencedClass
(
refText
,
context
);
if
(
aClass
==
null
)
aClass
=
facade
.
findClass
(
refText
,
context
.
getResolveScope
());
PsiClass
aClass
=
findClassFromRef
(
manager
,
facade
,
refText
,
context
);
if
(
aClass
!=
null
)
{
return
useNavigationElement
?
aClass
.
getNavigationElement
()
:
aClass
;
...
...
@@ -98,9 +99,7 @@ public class JavaDocUtil {
else
{
String
classRef
=
refText
.
substring
(
0
,
poundIndex
).
trim
();
if
(!
classRef
.
isEmpty
())
{
PsiClass
aClass
=
facade
.
getResolveHelper
().
resolveReferencedClass
(
classRef
,
context
);
if
(
aClass
==
null
)
aClass
=
facade
.
findClass
(
classRef
,
context
.
getResolveScope
());
PsiClass
aClass
=
findClassFromRef
(
manager
,
facade
,
classRef
,
context
);
if
(
aClass
==
null
)
return
null
;
PsiElement
member
=
findReferencedMember
(
aClass
,
refText
.
substring
(
poundIndex
+
1
),
context
);
...
...
@@ -110,7 +109,7 @@ public class JavaDocUtil {
String
memberRefText
=
refText
.
substring
(
1
);
PsiElement
scope
=
context
;
while
(
true
)
{
if
(
scope
instanceof
PsiFile
)
break
;
if
(
scope
instanceof
PsiFile
||
scope
==
null
)
break
;
if
(
scope
instanceof
PsiClass
)
{
PsiElement
member
=
findReferencedMember
((
PsiClass
)
scope
,
memberRefText
,
context
);
if
(
member
!=
null
)
{
...
...
@@ -124,6 +123,23 @@ public class JavaDocUtil {
}
}
private
static
PsiClass
findClassFromRef
(
@NotNull
PsiManager
manager
,
@NotNull
JavaPsiFacade
facade
,
@NotNull
String
refText
,
PsiElement
context
)
{
PsiClass
aClass
=
facade
.
getResolveHelper
().
resolveReferencedClass
(
refText
,
context
);
GlobalSearchScope
projectScope
=
GlobalSearchScope
.
projectScope
(
manager
.
getProject
());
if
(
aClass
==
null
)
aClass
=
facade
.
findClass
(
refText
,
projectScope
);
if
(
aClass
==
null
&&
refText
.
indexOf
(
'.'
)
==
-
1
&&
context
!=
null
)
{
// find short-named class in the same package (maybe in the different module)
PsiFile
file
=
context
.
getContainingFile
();
PsiDirectory
directory
=
file
==
null
?
null
:
file
.
getContainingDirectory
();
PsiPackage
aPackage
=
directory
==
null
?
null
:
JavaDirectoryService
.
getInstance
().
getPackage
(
directory
);
aClass
=
aPackage
==
null
?
null
:
ArrayUtil
.
getFirstElement
(
aPackage
.
findClassByShortName
(
refText
,
projectScope
));
}
return
aClass
;
}
@Nullable
private
static
PsiElement
findReferencedMember
(
PsiClass
aClass
,
String
memberRefText
,
PsiElement
context
)
{
int
parenthIndex
=
memberRefText
.
indexOf
(
'('
);
...
...
This diff is collapsed.
Click to expand it.
java/java-psi-impl/src/com/intellij/psi/impl/file/PsiPackageImpl.java
+
2
-
2
View file @
717c442f
...
...
@@ -289,7 +289,7 @@ public class PsiPackageImpl extends PsiPackageBase implements PsiPackage, Querya
@NotNull
ResolveState
state
,
PsiElement
lastParent
,
@NotNull
PsiElement
place
)
{
GlobalSearchScope
scope
=
place
.
getResolveScope
();
GlobalSearchScope
scope
=
PsiUtil
.
isInsideJavadocComment
(
place
)
?
allScope
()
:
place
.
getResolveScope
();
processor
.
handleEvent
(
PsiScopeProcessor
.
Event
.
SET_DECLARATION_HOLDER
,
this
);
ElementClassHint
classHint
=
processor
.
getHint
(
ElementClassHint
.
KEY
);
...
...
@@ -336,7 +336,7 @@ public class PsiPackageImpl extends PsiPackageBase implements PsiPackage, Querya
private
static
boolean
processClasses
(
@NotNull
PsiScopeProcessor
processor
,
@NotNull
ResolveState
state
,
@NotNull
PsiClass
[]
classes
,
@NotNull
Condition
<
String
>
nameCondition
)
{
@NotNull
Condition
<
?
super
String
>
nameCondition
)
{
for
(
PsiClass
aClass
:
classes
)
{
String
name
=
aClass
.
getName
();
if
(
name
!=
null
&&
nameCondition
.
value
(
name
))
{
...
...
This diff is collapsed.
Click to expand it.
java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileBaseImpl.java
+
2
-
1
View file @
717c442f
...
...
@@ -314,7 +314,8 @@ public abstract class PsiJavaFileBaseImpl extends PsiFileImpl implements PsiJava
if
(
processor
instanceof
ClassResolverProcessor
&&
isPhysical
()
&&
(
getUserData
(
PsiFileEx
.
BATCH_REFERENCE_PROCESSING
)
==
Boolean
.
TRUE
||
myResolveCache
.
hasUpToDateValue
()))
{
(
getUserData
(
PsiFileEx
.
BATCH_REFERENCE_PROCESSING
)
==
Boolean
.
TRUE
||
myResolveCache
.
hasUpToDateValue
())
&&
!
PsiUtil
.
isInsideJavadocComment
(
place
))
{
final
ClassResolverProcessor
hint
=
(
ClassResolverProcessor
)
processor
;
String
name
=
hint
.
getName
(
state
);
MostlySingularMultiMap
<
String
,
SymbolCollectingProcessor
.
ResultWithContext
>
cache
=
myResolveCache
.
getValue
();
...
...
This diff is collapsed.
Click to expand it.
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/resolve/pkg/OtherPackageLocal.java
0 → 100644
+
14
-
0
View file @
717c442f
package
pkg
;
/**
* @see pkg1.PackageLocal - package local class in other package should resolve
* @see java.io.ObjectStreamClass.WeakClassKey - and JDK package local class too
* @see java.io.ObjectStreamClass.Caches - and even JDK private classes
*
* - but don't go over the top, of course:
* @see java.io.ObjectStreamClass.<error descr="Cannot resolve symbol 'java.io.ObjectStreamClass.XXXXXX'">XXXXXX</error>
*/
class
JavadocMustResolveEvenOtherPackageLocalClasses
{
}
This diff is collapsed.
Click to expand it.
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/resolve/pkg1/PackageLocal.java
0 → 100644
+
3
-
0
View file @
717c442f
package
pkg1
;
class
PackageLocal
{}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/JavadocResolveTest.java
+
8
-
0
View file @
717c442f
...
...
@@ -4,7 +4,9 @@ package com.intellij.java.codeInsight.daemon;
import
com.intellij.codeInsight.daemon.DaemonAnalyzerTestCase
;
import
com.intellij.codeInspection.javaDoc.JavaDocLocalInspection
;
import
com.intellij.codeInspection.javaDoc.JavaDocReferenceInspection
;
import
com.intellij.openapi.projectRoots.Sdk
;
import
com.intellij.pom.java.LanguageLevel
;
import
com.intellij.testFramework.IdeaTestUtil
;
public
class
JavadocResolveTest
extends
DaemonAnalyzerTestCase
{
private
static
final
String
BASE_PATH
=
"/codeInsight/daemonCodeAnalyzer/javaDoc/resolve"
;
...
...
@@ -16,6 +18,7 @@ public class JavadocResolveTest extends DaemonAnalyzerTestCase {
public
void
testPackageInfo
()
{
doTest
(
"/pkg/package-info.java"
);
}
public
void
testBrokenPackageInfo
()
{
doTest
(
"/pkg1/package-info.java"
);
}
public
void
testModuleInfo
()
{
setLanguageLevel
(
LanguageLevel
.
JDK_1_9
);
doTest
(
"/module-info.java"
);
}
public
void
testOtherPackageLocal
()
{
doTest
();
}
private
void
doTest
()
{
doTest
(
"/pkg/"
+
getTestName
(
false
)
+
".java"
);
...
...
@@ -28,4 +31,9 @@ public class JavadocResolveTest extends DaemonAnalyzerTestCase {
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
}
@Override
protected
Sdk
getTestProjectJdk
()
{
return
IdeaTestUtil
.
getMockJdk18
();
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.groovy
+
1
-
1
View file @
717c442f
...
...
@@ -235,7 +235,7 @@ class CommunityLibraryLicenses {
url:
"http://www.jcip.net"
,
licenseUrl:
"http://creativecommons.org/licenses/by/2.5"
),
new
LibraryLicense
(
name:
"JDOM"
,
version:
"1.1 (with patches by JetBrains)"
,
license:
"modified Apache"
,
url:
"http://www.jdom.org/"
,
licenseUrl:
"http://www.jdom.org/docs/faq.html#a0030"
),
new
LibraryLicense
(
name:
"JediTerm"
,
libraryName:
"jediterm-pty"
,
version:
"2.1
0
"
,
license:
"LGPL 3"
,
new
LibraryLicense
(
name:
"JediTerm"
,
libraryName:
"jediterm-pty"
,
version:
"2.1
1
"
,
license:
"LGPL 3"
,
url:
"https://github.com/JetBrains/jediterm"
,
licenseUrl:
"https://github.com/JetBrains/jediterm/blob/master/LICENSE-LGPLv3.txt"
),
new
LibraryLicense
(
name:
"JetBrains Annotations"
,
libraryName:
"jetbrains-annotations"
,
version:
"16.0.1"
,
license:
"Apache 2.0"
,
...
...
This diff is collapsed.
Click to expand it.
platform/platform-impl/src/com/intellij/terminal/JBTerminalWidget.java
+
8
-
1
View file @
717c442f
...
...
@@ -55,7 +55,9 @@ public class JBTerminalWidget extends JediTermWidget implements Disposable {
private
final
Project
myProject
;
private
final
JBTerminalSystemSettingsProviderBase
mySettingsProvider
;
public
JBTerminalWidget
(
Project
project
,
JBTerminalSystemSettingsProviderBase
settingsProvider
,
Disposable
parent
)
{
public
JBTerminalWidget
(
Project
project
,
JBTerminalSystemSettingsProviderBase
settingsProvider
,
Disposable
parent
)
{
this
(
project
,
80
,
24
,
settingsProvider
,
parent
);
}
...
...
@@ -212,4 +214,9 @@ public class JBTerminalWidget extends JediTermWidget implements Disposable {
}
});
}
public
void
start
(
TtyConnector
connector
)
{
setTtyConnector
(
connector
);
start
();
}
}
This diff is collapsed.
Click to expand it.
platform/platform-tests/testSrc/com/intellij/openapi/fileEditor/IdeDocumentHistoryFunctionalTest.java
deleted
100644 → 0
+
0
-
98
View file @
a4d26de6
// Copyright 2000-2017 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.intellij.openapi.fileEditor
;
import
com.intellij.openapi.actionSystem.IdeActions
;
import
com.intellij.openapi.fileEditor.ex.IdeDocumentHistory
;
import
com.intellij.openapi.fileEditor.impl.IdeDocumentHistoryImpl
;
import
com.intellij.testFramework.EditorTestUtil
;
public
class
IdeDocumentHistoryFunctionalTest
extends
HeavyFileEditorManagerTestCase
{
@Override
public
void
setUp
()
throws
Exception
{
super
.
setUp
();
((
IdeDocumentHistoryImpl
)
IdeDocumentHistory
.
getInstance
(
getProject
())).
projectOpened
();
}
public
void
testNavigateBetweenEditLocations
()
{
myFixture
.
configureByText
(
getTestName
(
false
)
+
".txt"
,
"<caret>line1\n"
+
"\n"
+
"\n"
+
"\n"
+
"line2\n"
+
"\n"
+
"\n"
+
"\n"
+
"line3"
);
myFixture
.
type
(
' '
);
moveCaret4LinesDown
();
myFixture
.
type
(
' '
);
moveCaret4LinesDown
();
EditorTestUtil
.
executeAction
(
getEditor
(),
IdeActions
.
ACTION_GOTO_LAST_CHANGE
);
myFixture
.
checkResult
(
" line1\n"
+
"\n"
+
"\n"
+
"\n"
+
"l <caret>ine2\n"
+
"\n"
+
"\n"
+
"\n"
+
"line3"
);
EditorTestUtil
.
executeAction
(
getEditor
(),
IdeActions
.
ACTION_GOTO_LAST_CHANGE
);
myFixture
.
checkResult
(
" <caret>line1\n"
+
"\n"
+
"\n"
+
"\n"
+
"l ine2\n"
+
"\n"
+
"\n"
+
"\n"
+
"line3"
);
EditorTestUtil
.
executeAction
(
getEditor
(),
IdeActions
.
ACTION_GOTO_NEXT_CHANGE
);
myFixture
.
checkResult
(
" line1\n"
+
"\n"
+
"\n"
+
"\n"
+
"l <caret>ine2\n"
+
"\n"
+
"\n"
+
"\n"
+
"line3"
);
EditorTestUtil
.
executeAction
(
getEditor
(),
IdeActions
.
ACTION_GOTO_NEXT_CHANGE
);
myFixture
.
checkResult
(
" line1\n"
+
"\n"
+
"\n"
+
"\n"
+
"l <caret>ine2\n"
+
"\n"
+
"\n"
+
"\n"
+
"line3"
);
}
public
void
testForwardToANearPlace
()
{
myFixture
.
configureByText
(
getTestName
(
false
)
+
".java"
,
"class AA {}\n"
+
"\n"
+
"class BV extends A<caret>A {}"
);
EditorTestUtil
.
executeAction
(
getEditor
(),
IdeActions
.
ACTION_GOTO_DECLARATION
);
myFixture
.
checkResult
(
"class <caret>AA {}\n"
+
"\n"
+
"class BV extends AA {}"
);
EditorTestUtil
.
executeAction
(
getEditor
(),
IdeActions
.
ACTION_GOTO_BACK
);
myFixture
.
checkResult
(
"class AA {}\n"
+
"\n"
+
"class BV extends A<caret>A {}"
);
EditorTestUtil
.
executeAction
(
getEditor
(),
IdeActions
.
ACTION_GOTO_FORWARD
);
myFixture
.
checkResult
(
"class <caret>AA {}\n"
+
"\n"
+
"class BV extends AA {}"
);
}
private
void
moveCaret4LinesDown
()
{
for
(
int
i
=
0
;
i
<
4
;
i
++)
{
EditorTestUtil
.
executeAction
(
getEditor
(),
IdeActions
.
ACTION_EDITOR_MOVE_CARET_DOWN
);
}
}
}
This diff is collapsed.
Click to expand it.
platform/platform-tests/testSrc/com/intellij/openapi/fileEditor/IdeDocumentHistoryFunctionalTest.kt
0 → 100644
+
90
-
0
View file @
717c442f
// Copyright 2000-2018 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.intellij.openapi.fileEditor
import
com.intellij.openapi.actionSystem.IdeActions
import
com.intellij.testFramework.EditorTestUtil
internal
class
IdeDocumentHistoryFunctionalTest
:
HeavyFileEditorManagerTestCase
()
{
fun
testNavigateBetweenEditLocations
()
{
myFixture
.
configureByText
(
"${getTestName(false)}.txt"
,
"""<caret>line1
line2
line3"""
)
myFixture
.
type
(
' '
)
moveCaret4LinesDown
()
myFixture
.
type
(
' '
)
moveCaret4LinesDown
()
EditorTestUtil
.
executeAction
(
editor
,
IdeActions
.
ACTION_GOTO_LAST_CHANGE
)
myFixture
.
checkResult
(
""" line1
l <caret>ine2
line3"""
)
EditorTestUtil
.
executeAction
(
editor
,
IdeActions
.
ACTION_GOTO_LAST_CHANGE
)
myFixture
.
checkResult
(
""" <caret>line1
l ine2
line3"""
)
EditorTestUtil
.
executeAction
(
editor
,
IdeActions
.
ACTION_GOTO_NEXT_CHANGE
)
myFixture
.
checkResult
(
""" line1
l <caret>ine2
line3"""
)
EditorTestUtil
.
executeAction
(
editor
,
IdeActions
.
ACTION_GOTO_NEXT_CHANGE
)
myFixture
.
checkResult
(
""" line1
l <caret>ine2
line3"""
)
}
fun
testForwardToANearPlace
()
{
myFixture
.
configureByText
(
getTestName
(
false
)
+
".java"
,
"""class AA {}
class BV extends A<caret>A {}"""
)
EditorTestUtil
.
executeAction
(
editor
,
IdeActions
.
ACTION_GOTO_DECLARATION
)
myFixture
.
checkResult
(
"""class <caret>AA {}
class BV extends AA {}"""
)
EditorTestUtil
.
executeAction
(
editor
,
IdeActions
.
ACTION_GOTO_BACK
)
myFixture
.
checkResult
(
"""class AA {}
class BV extends A<caret>A {}"""
)
EditorTestUtil
.
executeAction
(
editor
,
IdeActions
.
ACTION_GOTO_FORWARD
)
myFixture
.
checkResult
(
"""class <caret>AA {}
class BV extends AA {}"""
)
}
private
fun
moveCaret4LinesDown
()
{
for
(
i
in
0
..
3
)
{
EditorTestUtil
.
executeAction
(
editor
,
IdeActions
.
ACTION_EDITOR_MOVE_CARET_DOWN
)
}
}
}
This diff is collapsed.
Click to expand it.
plugins/terminal/src/org/jetbrains/plugins/terminal/AbstractTerminalRunner.java
+
14
-
14
View file @
717c442f
...
...
@@ -25,8 +25,8 @@ import com.intellij.openapi.wm.ToolWindow;
import
com.intellij.openapi.wm.ToolWindowManager
;
import
com.intellij.util.ui.UIUtil
;
import
com.jediterm.terminal.TtyConnector
;
import
com.jediterm.terminal.ui.AbstractTabbedTerminalWidget
;
import
com.jediterm.terminal.ui.TerminalSession
;
import
com.jediterm.terminal.ui.TerminalWidget
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
...
...
@@ -81,10 +81,7 @@ public abstract class AbstractTerminalRunner<T extends Process> {
@NotNull
public
JBTabbedTerminalWidget
createTerminalWidget
(
@NotNull
Disposable
parent
)
{
final
JBTerminalSystemSettingsProvider
provider
=
new
JBTerminalSystemSettingsProvider
();
JBTabbedTerminalWidget
terminalWidget
=
new
JBTabbedTerminalWidget
(
myProject
,
provider
,
widget
->
{
openSessionInDirectory
(
widget
.
getFirst
(),
widget
.
getSecond
());
return
true
;
},
parent
);
JBTabbedTerminalWidget
terminalWidget
=
new
JBTabbedTerminalWidget
(
myProject
,
provider
,
widget
->
openSessionInDirectory
(
widget
.
getFirst
(),
widget
.
getSecond
()),
parent
);
openSessionForFile
(
terminalWidget
,
TerminalView
.
getInstance
(
myProject
).
getFileToOpen
());
return
terminalWidget
;
}
...
...
@@ -111,10 +108,7 @@ public abstract class AbstractTerminalRunner<T extends Process> {
toolbarActions
.
add
(
createCloseAction
(
defaultExecutor
,
contentDescriptor
));
final
JBTerminalSystemSettingsProvider
provider
=
new
JBTerminalSystemSettingsProvider
();
TerminalWidget
widget
=
new
JBTabbedTerminalWidget
(
myProject
,
provider
,
widget1
->
{
openSessionInDirectory
(
widget1
.
getFirst
(),
widget1
.
getSecond
());
return
true
;
},
contentDescriptor
);
JBTabbedTerminalWidget
widget
=
new
JBTabbedTerminalWidget
(
myProject
,
provider
,
w
->
openSessionInDirectory
(
w
.
getFirst
(),
w
.
getSecond
()),
contentDescriptor
);
createAndStartSession
(
widget
,
createTtyConnector
(
process
));
...
...
@@ -125,11 +119,11 @@ public abstract class AbstractTerminalRunner<T extends Process> {
processHandler
.
startNotify
();
}
public
void
openSession
(
@NotNull
TerminalWidget
terminal
)
{
public
void
openSession
(
@NotNull
JBTabbed
TerminalWidget
terminal
)
{
openSessionInDirectory
(
terminal
,
null
);
}
public
static
void
createAndStartSession
(
@NotNull
TerminalWidget
terminal
,
@NotNull
TtyConnector
ttyConnector
)
{
public
static
void
createAndStartSession
(
@NotNull
JBTabbed
TerminalWidget
terminal
,
@NotNull
TtyConnector
ttyConnector
)
{
TerminalSession
session
=
terminal
.
createTerminalSession
(
ttyConnector
);
TerminalView
.
recordUsage
(
ttyConnector
);
...
...
@@ -163,7 +157,7 @@ public abstract class AbstractTerminalRunner<T extends Process> {
public
abstract
String
runningTargetName
();
public
void
openSessionForFile
(
@NotNull
TerminalWidget
terminalWidget
,
@Nullable
VirtualFile
file
)
{
public
void
openSessionForFile
(
@NotNull
JBTabbed
TerminalWidget
terminalWidget
,
@Nullable
VirtualFile
file
)
{
openSessionInDirectory
(
terminalWidget
,
getParentDirectoryPath
(
file
));
}
...
...
@@ -173,9 +167,11 @@ public abstract class AbstractTerminalRunner<T extends Process> {
return
dir
!=
null
?
dir
.
getPath
()
:
null
;
}
public
void
openSessionInDirectory
(
@NotNull
TerminalWidget
terminalWidget
,
@Nullable
String
directory
)
{
public
JBTabInnerTerminalWidget
openSessionInDirectory
(
@NotNull
AbstractTabbedTerminalWidget
<
JBTabInnerTerminalWidget
>
terminalWidget
,
@Nullable
String
directory
)
{
ModalityState
modalityState
=
ModalityState
.
stateForComponent
(
terminalWidget
.
getComponent
());
JBTabInnerTerminalWidget
newTerminalWidget
=
terminalWidget
.
createNewTabWidget
();
ApplicationManager
.
getApplication
().
executeOnPooledThread
(()
->
{
try
{
// Create Server process
...
...
@@ -183,7 +179,9 @@ public abstract class AbstractTerminalRunner<T extends Process> {
ApplicationManager
.
getApplication
().
invokeLater
(()
->
{
try
{
createAndStartSession
(
terminalWidget
,
createTtyConnector
(
process
));
terminalWidget
.
initSession
(
createTtyConnector
(
process
),
newTerminalWidget
);
newTerminalWidget
.
start
();
terminalWidget
.
getComponent
().
revalidate
();
}
catch
(
RuntimeException
e
)
{
...
...
@@ -195,6 +193,8 @@ public abstract class AbstractTerminalRunner<T extends Process> {
ApplicationManager
.
getApplication
().
invokeLater
(()
->
showCannotOpenTerminalDialog
(
e
),
modalityState
);
}
});
return
newTerminalWidget
;
}
private
void
showCannotOpenTerminalDialog
(
@NotNull
Throwable
e
)
{
...
...
This diff is collapsed.
Click to expand it.
plugins/terminal/src/org/jetbrains/plugins/terminal/JBTabInnerTerminalWidget.java
0 → 100644
+
45
-
0
View file @
717c442f
// Copyright 2000-2018 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
org.jetbrains.plugins.terminal
;
import
com.intellij.openapi.Disposable
;
import
com.intellij.openapi.project.Project
;
import
com.intellij.terminal.JBTerminalSystemSettingsProviderBase
;
import
com.intellij.terminal.JBTerminalWidget
;
import
java.util.function.Function
;
/**
* @author traff
*/
public
class
JBTabInnerTerminalWidget
extends
JBTerminalWidget
{
private
final
Function
<
String
,
JBTabInnerTerminalWidget
>
myCreateNewSessionAction
;
private
JBTabbedTerminalWidget
myTabbedWidget
;
public
JBTabInnerTerminalWidget
(
Project
project
,
JBTerminalSystemSettingsProviderBase
settingsProvider
,
Disposable
parent
,
Function
<
String
,
JBTabInnerTerminalWidget
>
createNewSessionAction
,
JBTabbedTerminalWidget
tabbedWidget
)
{
this
(
project
,
80
,
24
,
settingsProvider
,
parent
,
pair
->
createNewSessionAction
.
apply
(
pair
));
myTabbedWidget
=
tabbedWidget
;
}
public
JBTabInnerTerminalWidget
(
Project
project
,
int
columns
,
int
lines
,
JBTerminalSystemSettingsProviderBase
settingsProvider
,
Disposable
parent
,
Function
<
String
,
JBTabInnerTerminalWidget
>
createNewSessionAction
)
{
super
(
project
,
columns
,
lines
,
settingsProvider
,
parent
);
myCreateNewSessionAction
=
createNewSessionAction
;
}
public
Function
<
String
,
JBTabInnerTerminalWidget
>
getCreateNewSessionAction
()
{
return
myCreateNewSessionAction
;
}
public
JBTabbedTerminalWidget
getTabbedWidget
()
{
return
myTabbedWidget
;
}
}
This diff is collapsed.
Click to expand it.
plugins/terminal/src/org/jetbrains/plugins/terminal/JBTabbedTerminalWidget.java
+
18
-
15
View file @
717c442f
...
...
@@ -21,7 +21,6 @@ import com.intellij.psi.PsiDirectory;
import
com.intellij.psi.PsiFile
;
import
com.intellij.psi.PsiFileSystemItem
;
import
com.intellij.terminal.JBTerminalSystemSettingsProviderBase
;
import
com.intellij.terminal.JBTerminalWidget
;
import
com.intellij.ui.SimpleColoredComponent
;
import
com.intellij.ui.components.JBTextField
;
import
com.intellij.ui.docking.DockManager
;
...
...
@@ -33,8 +32,9 @@ import com.intellij.ui.tabs.impl.JBTabsImpl;
import
com.intellij.ui.tabs.impl.TabLabel
;
import
com.intellij.util.ui.JBUI
;
import
com.intellij.util.ui.UIUtil
;
import
com.jediterm.terminal.ui.*
;
import
com.jediterm.terminal.ui.settings.TabbedSettingsProvider
;
import
com.jediterm.terminal.ui.AbstractTabbedTerminalWidget
;
import
com.jediterm.terminal.ui.AbstractTabs
;
import
com.jediterm.terminal.ui.TerminalAction
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
org.jetbrains.plugins.terminal.vfs.TerminalSessionVirtualFileImpl
;
...
...
@@ -44,23 +44,26 @@ import java.awt.*;
import
java.awt.event.*
;
import
java.util.List
;
import
java.util.concurrent.CopyOnWriteArraySet
;
import
java.util.function.Function
;
/**
* @author traff
*/
public
class
JBTabbedTerminalWidget
extends
TabbedTerminalWidget
implements
Disposable
{
public
class
JBTabbedTerminalWidget
extends
Abstract
TabbedTerminalWidget
<
JBTabInnerTerminalWidget
>
implements
Disposable
{
private
final
Project
myProject
;
private
final
JBTerminalSystemSettingsProviderBase
mySettingsProvider
;
private
final
Function
<
String
,
JBTabInnerTerminalWidget
>
myCreateNewSessionAction
;
private
final
Disposable
myParent
;
public
JBTabbedTerminalWidget
(
@NotNull
Project
project
,
@NotNull
JBTerminalSystemSettingsProviderBase
settingsProvider
,
final
@NotNull
Predicate
<
Pair
<
TerminalWidget
,
String
>>
createNewSessionAction
,
@NotNull
Disposable
parent
)
{
final
@NotNull
Function
<
Pair
<
AbstractTabbedTerminalWidget
<
JBTabInner
TerminalWidget
>
,
String
>
,
JBTabInnerTerminalWidget
>
createNewSessionAction
,
@NotNull
Disposable
parent
)
{
super
(
settingsProvider
,
input
->
createNewSessionAction
.
apply
(
Pair
.
create
(
input
,
null
)));
myProject
=
project
;
mySettingsProvider
=
settingsProvider
;
myCreateNewSessionAction
=
s
->
createNewSessionAction
.
apply
(
Pair
.
create
(
this
,
s
));
myParent
=
parent
;
convertActions
(
this
,
getActions
());
...
...
@@ -113,8 +116,8 @@ public class JBTabbedTerminalWidget extends TabbedTerminalWidget implements Disp
}
@Override
p
rotected
JediTerm
Widget
createInnerTerminalWidget
(
TabbedSettingsProvider
settingsProvider
)
{
JBTerminalWidget
widget
=
new
JBTerminalWidget
(
myProject
,
mySettingsProvider
,
myParent
);
p
ublic
JBTabInnerTerminal
Widget
createInnerTerminalWidget
()
{
JBT
abInnerT
erminalWidget
widget
=
new
JBT
abInnerT
erminalWidget
(
myProject
,
mySettingsProvider
,
myParent
,
myCreateNewSessionAction
,
this
);
convertActions
(
widget
,
widget
.
getActions
());
convertActions
(
widget
.
getTerminalPanel
(),
widget
.
getTerminalPanel
().
getActions
(),
input
->
{
...
...
@@ -126,11 +129,11 @@ public class JBTabbedTerminalWidget extends TabbedTerminalWidget implements Disp
}
@Override
protected
TerminalTabs
createTabbedPane
()
{
protected
JB
TerminalTabs
createTabbedPane
()
{
return
new
JBTerminalTabs
(
myProject
,
myParent
);
}
public
class
JBTerminalTabs
implements
Terminal
Tabs
{
public
class
JBTerminalTabs
implements
AbstractTabs
<
JBTabInner
Terminal
Widget
>
{
private
final
JBEditorTabs
myTabs
;
private
final
TabInfo
.
DragOutDelegate
myDragDelegate
=
new
MyDragOutDelegate
();
...
...
@@ -210,8 +213,8 @@ public class JBTabbedTerminalWidget extends TabbedTerminalWidget implements Disp
@Override
public
J
ediTerm
Widget
getComponentAt
(
int
i
)
{
return
(
J
ediTerm
Widget
)
getTabAt
(
i
).
getComponent
();
public
J
BTabInnerTerminal
Widget
getComponentAt
(
int
i
)
{
return
(
J
BTabInnerTerminal
Widget
)
getTabAt
(
i
).
getComponent
();
}
@Override
...
...
@@ -225,7 +228,7 @@ public class JBTabbedTerminalWidget extends TabbedTerminalWidget implements Disp
}
@Override
public
void
setSelectedComponent
(
J
ediTerm
Widget
terminal
)
{
public
void
setSelectedComponent
(
J
BTabInnerTerminal
Widget
terminal
)
{
TabInfo
info
=
myTabs
.
findInfo
(
terminal
);
if
(
info
!=
null
)
{
myTabs
.
select
(
info
,
true
);
...
...
@@ -243,12 +246,12 @@ public class JBTabbedTerminalWidget extends TabbedTerminalWidget implements Disp
}
@Override
public
void
addTab
(
String
name
,
J
ediTerm
Widget
terminal
)
{
public
void
addTab
(
String
name
,
J
BTabInnerTerminal
Widget
terminal
)
{
myTabs
.
addTab
(
createTabInfo
(
name
,
terminal
));
myTabs
.
updateUI
();
}
private
TabInfo
createTabInfo
(
String
name
,
J
ediTerm
Widget
terminal
)
{
private
TabInfo
createTabInfo
(
String
name
,
J
BTabInnerTerminal
Widget
terminal
)
{
TabInfo
tabInfo
=
new
TabInfo
(
terminal
).
setText
(
name
).
setDragOutDelegate
(
myDragDelegate
);
return
tabInfo
.
setObject
(
new
TerminalSessionVirtualFileImpl
(
tabInfo
,
terminal
,
mySettingsProvider
));
...
...
@@ -263,7 +266,7 @@ public class JBTabbedTerminalWidget extends TabbedTerminalWidget implements Disp
}
@Override
public
void
remove
(
J
ediTerm
Widget
terminal
)
{
public
void
remove
(
J
BTabInnerTerminal
Widget
terminal
)
{
TabInfo
info
=
myTabs
.
findInfo
(
terminal
);
if
(
info
!=
null
)
{
myTabs
.
removeTab
(
info
);
...
...
This diff is collapsed.
Click to expand it.
plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalView.java
+
7
-
9
View file @
717c442f
...
...
@@ -24,6 +24,7 @@ import com.intellij.openapi.wm.ToolWindowManager;
import
com.intellij.openapi.wm.ex.ToolWindowEx
;
import
com.intellij.openapi.wm.ex.ToolWindowManagerListener
;
import
com.intellij.openapi.wm.impl.InternalDecorator
;
import
com.intellij.terminal.JBTerminalWidget
;
import
com.intellij.ui.awt.RelativePoint
;
import
com.intellij.ui.awt.RelativeRectangle
;
import
com.intellij.ui.content.Content
;
...
...
@@ -33,9 +34,6 @@ import com.intellij.ui.docking.DockManager;
import
com.intellij.ui.docking.DockableContent
;
import
com.intellij.util.ui.UIUtil
;
import
com.jediterm.terminal.TtyConnector
;
import
com.jediterm.terminal.ui.JediTermWidget
;
import
com.jediterm.terminal.ui.TabbedTerminalWidget
;
import
com.jediterm.terminal.ui.TerminalWidget
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
org.jetbrains.plugins.terminal.vfs.TerminalSessionVirtualFileImpl
;
...
...
@@ -125,9 +123,9 @@ public class TerminalView {
content
.
setCloseable
(
true
);
myTerminalWidget
=
terminalRunner
.
createTerminalWidget
(
content
);
myTerminalWidget
.
addTabListener
(
new
TabbedTerminalWidget
.
TabListener
()
{
myTerminalWidget
.
addTabListener
(
new
JB
TabbedTerminalWidget
.
TabListener
<
JBTerminalWidget
>
()
{
@Override
public
void
tabClosed
(
J
edi
TermWidget
terminal
)
{
public
void
tabClosed
(
J
B
Term
inal
Widget
terminal
)
{
UIUtil
.
invokeLaterIfNeeded
(()
->
{
if
(
myTerminalWidget
!=
null
)
{
hideIfNoActiveSessions
(
toolWindow
,
myTerminalWidget
);
...
...
@@ -230,9 +228,9 @@ public class TerminalView {
private
static
class
NewSession
extends
DumbAwareAction
{
private
final
AbstractTerminalRunner
myTerminalRunner
;
private
final
TerminalWidget
myTerminal
;
private
final
JBTabbed
TerminalWidget
myTerminal
;
public
NewSession
(
@NotNull
AbstractTerminalRunner
terminalRunner
,
@NotNull
TerminalWidget
terminal
)
{
public
NewSession
(
@NotNull
AbstractTerminalRunner
terminalRunner
,
@NotNull
JBTabbed
TerminalWidget
terminal
)
{
super
(
"New Session"
,
"Create New Terminal Session"
,
AllIcons
.
General
.
Add
);
myTerminalRunner
=
terminalRunner
;
myTerminal
=
terminal
;
...
...
@@ -297,8 +295,8 @@ public class TerminalView {
public
void
add
(
@NotNull
DockableContent
content
,
RelativePoint
dropTarget
)
{
if
(
isTerminalSessionContent
(
content
))
{
TerminalSessionVirtualFileImpl
terminalFile
=
(
TerminalSessionVirtualFileImpl
)
content
.
getKey
();
myTerminalWidget
.
addTab
(
terminalFile
.
getName
(),
terminalFile
.
getTerminal
());
terminalFile
.
getTerminal
().
setNextProvider
(
myTerminalWidget
);
myTerminalWidget
.
addTab
(
terminalFile
.
getName
(),
terminalFile
.
getTerminal
Widget
());
terminalFile
.
getTerminal
Widget
().
setNextProvider
(
myTerminalWidget
);
}
}
...
...
This diff is collapsed.
Click to expand it.
plugins/terminal/src/org/jetbrains/plugins/terminal/vfs/TerminalSessionEditor.java
+
6
-
6
View file @
717c442f
...
...
@@ -53,7 +53,7 @@ public class TerminalSessionEditor extends UserDataHolderBase implements FileEdi
final
TabbedSettingsProvider
settings
=
myFile
.
getSettingsProvider
();
myFile
.
getTerminal
().
setNextProvider
(
new
TerminalActionProviderBase
()
{
myFile
.
getTerminal
Widget
().
setNextProvider
(
new
TerminalActionProviderBase
()
{
@Override
public
List
<
TerminalAction
>
getActions
()
{
return
Lists
.
newArrayList
(
...
...
@@ -65,7 +65,7 @@ public class TerminalSessionEditor extends UserDataHolderBase implements FileEdi
}
});
myWaitFor
=
new
TtyConnectorWaitFor
(
myFile
.
getTerminal
().
getTtyConnector
(),
ConcurrencyUtil
.
newSingleThreadExecutor
(
"Terminal session"
));
myWaitFor
=
new
TtyConnectorWaitFor
(
myFile
.
getTerminal
Widget
().
getTtyConnector
(),
ConcurrencyUtil
.
newSingleThreadExecutor
(
"Terminal session"
));
myWaitFor
.
setTerminationCallback
(
integer
->
{
...
...
@@ -76,19 +76,19 @@ public class TerminalSessionEditor extends UserDataHolderBase implements FileEdi
}
private
void
handleCloseSession
()
{
myFile
.
getTerminal
().
close
();
myFile
.
getTerminal
Widget
().
close
();
}
@NotNull
@Override
public
JComponent
getComponent
()
{
return
myFile
.
getTerminal
();
return
myFile
.
getTerminal
Widget
();
}
@Nullable
@Override
public
JComponent
getPreferredFocusedComponent
()
{
return
myFile
.
getTerminal
();
return
myFile
.
getTerminal
Widget
();
}
@NotNull
...
...
@@ -149,7 +149,7 @@ public class TerminalSessionEditor extends UserDataHolderBase implements FileEdi
Boolean
closingToReopen
=
myFile
.
getUserData
(
FileEditorManagerImpl
.
CLOSING_TO_REOPEN
);
myWaitFor
.
detach
();
if
(
closingToReopen
==
null
||
!
closingToReopen
)
{
myFile
.
getTerminal
().
close
();
myFile
.
getTerminal
Widget
().
close
();
}
}
}
This diff is collapsed.
Click to expand it.
plugins/terminal/src/org/jetbrains/plugins/terminal/vfs/TerminalSessionEditorProvider.java
+
23
-
1
View file @
717c442f
...
...
@@ -18,10 +18,13 @@ package org.jetbrains.plugins.terminal.vfs;
import
com.intellij.openapi.fileEditor.FileEditor
;
import
com.intellij.openapi.fileEditor.FileEditorPolicy
;
import
com.intellij.openapi.fileEditor.FileEditorProvider
;
import
com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl
;
import
com.intellij.openapi.project.DumbAware
;
import
com.intellij.openapi.project.Project
;
import
com.intellij.openapi.vfs.VirtualFile
;
import
com.intellij.ui.tabs.TabInfo
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.plugins.terminal.JBTabInnerTerminalWidget
;
/**
* @author traff
...
...
@@ -35,7 +38,26 @@ public class TerminalSessionEditorProvider implements FileEditorProvider, DumbAw
@NotNull
@Override
public
FileEditor
createEditor
(
@NotNull
Project
project
,
@NotNull
VirtualFile
file
)
{
return
new
TerminalSessionEditor
(
project
,
(
TerminalSessionVirtualFileImpl
)
file
);
if
(
file
.
getUserData
(
FileEditorManagerImpl
.
CLOSING_TO_REOPEN
)
!=
null
)
{
return
new
TerminalSessionEditor
(
project
,
(
TerminalSessionVirtualFileImpl
)
file
);
}
else
{
TerminalSessionVirtualFileImpl
terminalFile
=
(
TerminalSessionVirtualFileImpl
)
file
;
JBTabInnerTerminalWidget
widget
=
terminalFile
.
getTerminalWidget
().
getCreateNewSessionAction
().
apply
(
null
);
widget
.
getTabbedWidget
().
removeTab
(
widget
);
TabInfo
tabInfo
=
new
TabInfo
(
widget
).
setText
(
terminalFile
.
getName
());
TerminalSessionVirtualFileImpl
newSessionVirtualFile
=
new
TerminalSessionVirtualFileImpl
(
tabInfo
,
widget
,
terminalFile
.
getSettingsProvider
());
tabInfo
.
setObject
(
newSessionVirtualFile
);
return
new
TerminalSessionEditor
(
project
,
newSessionVirtualFile
);
}
}
@NotNull
...
...
This diff is collapsed.
Click to expand it.
plugins/terminal/src/org/jetbrains/plugins/terminal/vfs/TerminalSessionVirtualFileImpl.java
+
8
-
4
View file @
717c442f
...
...
@@ -21,21 +21,21 @@ package org.jetbrains.plugins.terminal.vfs;
import
com.intellij.testFramework.LightVirtualFile
;
import
com.intellij.ui.tabs.TabInfo
;
import
com.jediterm.terminal.ui.JediTermWidget
;
import
com.jediterm.terminal.ui.settings.TabbedSettingsProvider
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.plugins.terminal.JBTabInnerTerminalWidget
;
/**
* @author traff
*/
public
class
TerminalSessionVirtualFileImpl
extends
LightVirtualFile
{
private
final
J
ediTerm
Widget
myTerminal
;
private
final
J
BTabInnerTerminal
Widget
myTerminal
;
private
final
TabbedSettingsProvider
mySettingsProvider
;
private
final
TabInfo
myTabInfo
;
public
TerminalSessionVirtualFileImpl
(
@NotNull
TabInfo
tabInfo
,
@NotNull
J
ediTerm
Widget
terminal
,
@NotNull
J
BTabInnerTerminal
Widget
terminal
,
@NotNull
TabbedSettingsProvider
settingsProvider
)
{
myTabInfo
=
tabInfo
;
myTerminal
=
terminal
;
...
...
@@ -44,7 +44,7 @@ public class TerminalSessionVirtualFileImpl extends LightVirtualFile {
setWritable
(
true
);
}
public
J
ediTerm
Widget
getTerminal
()
{
public
J
BTabInnerTerminal
Widget
getTerminal
Widget
()
{
return
myTerminal
;
}
...
...
@@ -53,6 +53,10 @@ public class TerminalSessionVirtualFileImpl extends LightVirtualFile {
return
myTabInfo
.
getText
();
}
public
TabInfo
getTabInfo
()
{
return
myTabInfo
;
}
public
TabbedSettingsProvider
getSettingsProvider
()
{
return
mySettingsProvider
;
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help