P!npoint

Plugins

Plugin Examples

이 문서는 P!npoint plugin의 최소 구현 예시를 제공합니다.

Diff Analyzer

export default {
  analyzeDiff(context) {
    if (!context.summary.changed_files) return [];
    return [
      {
        severity: "info",
        title: "Diff inspected",
        message: `${context.summary.changed_files} file(s) changed.`,
      },
    ];
  },
};

Required manifest values:

  • extension_points: ["diffAnalyzer"]
  • permissions: ["diff:read"]

Command Provider

export default {
  getCommands(context) {
    return [
      {
        id: "project-summary",
        title: "Project summary",
        category: "Plugin",
        async run() {
          return {
            level: "info",
            message: "Project inspected.",
          };
        },
      },
    ];
  },
};

Required manifest values:

  • extension_points: ["commandProvider"]
  • permissions: ["command:contribute"]

Workspace Panel

export default {
  getPanelHtml(context) {
    return `
      <section>
        <h1>Plugin panel</h1>
        <p>This HTML is rendered in a sandboxed iframe.</p>
      </section>
    `;
  },
};

Required manifest values:

  • extension_points: ["workspacePanel"]
  • permissions: ["panel:render"]