Skip to content

Commit b2cf6a4

Browse files
authored
support create smart contract interface (intellij-solidity#332)
1 parent 4b2bb60 commit b2cf6a4

File tree

5 files changed

+15
-1
lines changed

5 files changed

+15
-1
lines changed

src/main/kotlin/me/serce/solidity/ide/actions/createFile.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class SolCreateFileAction : CreateFileFromTemplateAction(CAPTION, "", SolidityIc
2525
) {
2626
builder.setTitle(CAPTION)
2727
.addKind("Smart contract", SolidityIcons.FILE_ICON, SMART_CONTRACT_TEMPLATE)
28+
.addKind("Smart contract interface", SolidityIcons.FILE_ICON, "Solidity Contract Interface")
2829
.addKind("Solidity library", SolidityIcons.FILE_ICON, "Solidity Library")
2930
.setValidator(object : InputValidatorEx {
3031
override fun checkInput(inputString: String): Boolean {
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// SPDX-License-Identifier: UNLICENSED
2+
pragma solidity ^0.8.0;
3+
4+
interface ${NAME} {
5+
6+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<html>
2+
<body>
3+
Empty Solidity smart contract interface.
4+
</body>
5+
</html>
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
// SPDX-License-Identifier: UNLICENSED
12
pragma solidity ^0.8.0;
23

34
contract ${NAME} {
4-
function ${NAME}(){
5+
constructor(){
56

67
}
78
}

src/main/resources/fileTemplates/internal/Solidity Library.sol.ft

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// SPDX-License-Identifier: UNLICENSED
12
pragma solidity ^0.8.0;
23

34
library ${NAME} {

0 commit comments

Comments
 (0)