Skip to content

Commit

Permalink
feat: Add "Create new TypeSpec file" action
Browse files Browse the repository at this point in the history
  • Loading branch information
siketyan committed Nov 25, 2024
1 parent 4f54e93 commit ec70ba9
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package jp.s6n.idea.typespec.actions

import com.intellij.icons.AllIcons
import com.intellij.ide.actions.CreateFileFromTemplateAction
import com.intellij.ide.actions.CreateFileFromTemplateDialog
import com.intellij.openapi.project.Project
import com.intellij.psi.PsiDirectory

class CreateTypeSpecFileAction : CreateFileFromTemplateAction() {
override fun buildDialog(project: Project, directory: PsiDirectory, builder: CreateFileFromTemplateDialog.Builder) {
builder
.setTitle("New TypeSpec File")
.addKind("TypeSpec file", AllIcons.FileTypes.Json, "TypeSpec file")
}

override fun getActionName(directory: PsiDirectory?, newName: String, templateName: String?) =
"Create TypeSpec File: $newName"
}
19 changes: 19 additions & 0 deletions src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@
]]></description>

<change-notes><![CDATA[
<h2>v0.2.3</h2>
<h3>Features</h3>
<ul>
<li>Add "Create new TypeSpec file" action.</li>
</ul>
<h2>v0.2.2</h2>
<h3>Internal Changes</h3>
<ul>
Expand Down Expand Up @@ -88,10 +93,24 @@
<!-- TextMate Bundle -->
<textmate.bundleProvider implementation="jp.s6n.idea.typespec.textmate.TypeSpecTextMateBundleProvider" />

<!-- File Templates -->
<internalFileTemplate name="TypeSpec file" />

<!-- Notification Group -->
<notificationGroup id="TypeSpec" displayType="STICKY_BALLOON" />

<!-- LSP -->
<platform.lsp.serverSupportProvider implementation="jp.s6n.idea.typespec.lsp.TypeSpecLspServerSupportProvider" />
</extensions>

<actions>
<action
id="Create.TypeSpec"
class="jp.s6n.idea.typespec.actions.CreateTypeSpecFileAction"
text="TypeSpec File"
icon="AllIcons.FileTypes.Json"
>
<add-to-group group-id="NewGroup" anchor="last" />
</action>
</actions>
</idea-plugin>
Empty file.
13 changes: 13 additions & 0 deletions src/main/resources/fileTemplates/internal/TypeSpec file.tsp.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<html>
<body>
<table width="100%" border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
<tr>
<td colspan="3">
<font face="verdana" size="-1">
An empty TypeSpec file.
</font>
</td>
</tr>
</table>
</body>
</html>

0 comments on commit ec70ba9

Please sign in to comment.