"use strict";var F=Object.create;var l=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var T=(e,o)=>{for(var t in o)l(e,t,{get:o[t],enumerable:!0})},y=(e,o,t,c)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of A(o))!b.call(e,s)&&s!==t&&l(e,s,{get:()=>o[s],enumerable:!(c=$(o,s))||c.enumerable});return e};var v=(e,o,t)=>(t=e!=null?F(S(e)):{},y(o||!e||!e.__esModule?l(t,"default",{value:e,enumerable:!0}):t,e)),U=e=>y(l({},"__esModule",{value:!0}),e);var D={};T(D,{activate:()=>K,deactivate:()=>M});module.exports=U(D);var n=v(require("vscode"));var i=v(require("vscode"));function h(e){return`[${e}]`}function E(e,o,t,c,s){return`[${`${e} L${o}C${t}-L${c}C${s}`}]`}function R(e){return e.map(o=>h(o.filePath)).join("")}async function w(){let e=i.window.activeTextEditor;if(!e)return;let o=e.selection;if(o.isEmpty)return;let t=e.document,c=i.workspace.asRelativePath(t.uri),s=o.start.line+1,r=o.start.character+1,p=o.end.line+1,g=o.end.character+1,P=E(c,s,r,p,g);await i.env.clipboard.writeText(P),u(`$(clippy) Copied ${c}:${s}-${p}`)}async function C(){let e=i.window.activeTextEditor;if(!e)return;let o=e.document,t=i.workspace.asRelativePath(o.uri),c=h(t);await i.env.clipboard.writeText(c),u(`$(clippy) Copied file: ${t}`)}async function m(e){let o=i.workspace.asRelativePath(e),t=`[${o}]`;await i.env.clipboard.writeText(t),u(`$(clippy) Copied: ${o}`)}async function f(e){!e||e.length===0||await k(e)}async function x(e){let o=[],t=await i.workspace.fs.readDirectory(e);for(let[c,s]of t){let r=i.Uri.joinPath(e,c);if(s===i.FileType.Directory){let p=await x(r);o.push(...p)}else s===i.FileType.File&&o.push(r)}return o}async function k(e){let o=[];for(let c of e){let s=[c];try{(await i.workspace.fs.stat(c)).type===i.FileType.Directory&&(s=await x(c))}catch{}for(let r of s)o.push({filePath:i.workspace.asRelativePath(r)})}if(o.length===0)return;let t=R(o);await i.env.clipboard.writeText(t),u(`$(clippy) Copied ${o.length} file(s)`)}function u(e){i.window.setStatusBarMessage(e,3e3)}var d=v(require("vscode")),a=class{static{this.providedCodeActionKinds=[d.CodeActionKind.Source]}provideCodeActions(o,t){if(t.isEmpty)return;let c=new d.CodeAction("$(clippy) Copy to AI: \u9009\u4E2D\u533A\u57DF",d.CodeActionKind.Source);return c.command={command:"copy-ai-ctx.copySelection",title:"Copy to AI: \u9009\u4E2D\u533A\u57DF"},[c]}};function K(e){console.log("[copy-ai-ctx] activating..."),e.subscriptions.push(n.commands.registerCommand("copy-ai-ctx.copySelection",()=>{w()})),e.subscriptions.push(n.commands.registerCommand("copy-ai-ctx.copyFile",()=>{C()})),e.subscriptions.push(n.commands.registerCommand("copy-ai-ctx.copySelectedFiles",o=>{if(!o){let t=n.window.activeTextEditor;if(!t)return;m(t.document.uri);return}m(o)})),e.subscriptions.push(n.commands.registerCommand("copy-ai-ctx.copyMultiFiles",(...o)=>{if(o.length<2){let c=n.window.activeTextEditor;if(!c)return;f([c.document.uri]);return}let t=Array.isArray(o[1])?o[1]:o.slice(1);t.length!==0&&f(t)})),console.log("[copy-ai-ctx] activated"),e.subscriptions.push(n.languages.registerCodeActionsProvider({pattern:"**"},new a,{providedCodeActionKinds:a.providedCodeActionKinds}))}function M(){}0&&(module.exports={activate,deactivate});