import{Dr as e,Sr as t,Ur as n,Zr as r,Zt as i,_r as a,dr as o,fr as s,jr as c,lr as l,pr as u}from"./index-C6qJAv49.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f=new Set(`if.then.else.elif.fi.for.while.do.done.case.esac.in.function.return.break.continue.select.until.cd.ls.grep.egrep.fgrep.find.cat.chmod.chown.docker.podman.kubectl.apt.apt-get.yum.dnf.apk.pip.pip3.npm.npx.ssh.scp.rsync.curl.wget.tar.gzip.gunzip.kill.ps.top.htop.nano.vim.vi.journalctl.systemctl.service.supervisorctl.crontab.nginx.df.du.free.mount.uname.hostname.whoami.id.pwd.head.tail.wc.sort.uniq.awk.sed.cut.tr.xargs.tee.netstat.ss.ip.ping.dig.git.make.nohup.timeout.watch`.split(`.`)),p=new Set([`echo`,`printf`,`test`,`read`,`pushd`,`popd`,`exit`,`set`,`unset`,`export`,`source`,`alias`,`type`,`command`,`hash`,`help`,`history`]);function m(e){return e===`sudo`?`sudo`:f.has(e)?`keyword`:p.has(e)?`builtin`:/^[/~]/.test(e)||e.startsWith(`./`)||e.startsWith(`../`)?`path`:/^\d+(?:\.\d+)?$/.test(e)?`number`:`text`}function h(e){let t=[],n=0;for(;n`||r===`<`){let r=n;e[r]===`>`&&e[r+1]===`>`||e[r]===`<`&&e[r+1]===`<`?r+=2:r+=1,e[r]===`&`&&r++,t.push({type:`redirect`,value:e.slice(n,r)}),n=r;continue}if(/\s/.test(r)){let r=n;for(;r]/.test(e[i]);)i++;let a=e.slice(n,i);t.push({type:m(a),value:a}),n=i}return t}function g(e){return e.replace(/&/g,`&`).replace(//g,`>`)}var _={keyword:`sh-keyword`,builtin:`sh-builtin`,sudo:`sh-sudo`,pipe:`sh-pipe`,operator:`sh-operator`,redirect:`sh-redirect`,string:`sh-string`,flag:`sh-flag`,variable:`sh-variable`,backtick:`sh-backtick`,comment:`sh-comment`,number:`sh-number`,path:`sh-path`,text:`sh-text`};function v(e){return e?h(e).map(e=>`${g(e.value)}`).join(``):``}var y=[`innerHTML`],b=d(a({__name:`ShellHighlightField`,props:{modelValue:{},placeholder:{default:``},disabled:{type:Boolean,default:!1},multiline:{type:Boolean,default:!1},rows:{default:3},size:{default:`default`}},emits:[`update:modelValue`,`keydown`],setup(i,{expose:a,emit:d}){let f=n(null),p=i,m=d,h=l(()=>v(p.modelValue));function g(e){let t=e.target;m(`update:modelValue`,t.value)}function _(e){m(`keydown`,e)}function b(){return f.value}function x(){f.value?.focus()}function S(){let e=f.value;return e?e.value.substring(e.selectionStart??0,e.selectionEnd??0):``}function C(){let e=f.value;e&&(e.focus(),e.select())}async function w(e){let n=f.value;if(!n)return;let r=n.selectionStart??n.value.length,i=n.selectionEnd??r;m(`update:modelValue`,n.value.slice(0,r)+e+n.value.slice(i)),await t(),n.focus();let a=r+e.length;n.setSelectionRange(a,a)}return a({getInputEl:b,focusInput:x,getSelectionText:S,selectAllInput:C,insertAtSelection:w}),(t,n)=>(e(),u(`div`,{class:r([`sh-field position-relative`,{"sh-field--disabled":i.disabled,"sh-field--empty":!i.modelValue,"sh-field--large":i.size===`large`}])},[i.modelValue?(e(),u(`div`,{key:0,class:r([`sh-field__highlight font-mono`,i.multiline?`sh-field__highlight--multi`:`sh-field__highlight--single`]),"aria-hidden":`true`,innerHTML:h.value},null,10,y)):s(``,!0),(e(),o(c(i.multiline?`textarea`:`input`),{ref_key:`inputRef`,ref:f,value:i.modelValue,placeholder:i.placeholder,disabled:i.disabled,rows:i.multiline?i.rows:void 0,class:r([`sh-field__input font-mono`,i.multiline?`sh-field__input--multi`:`sh-field__input--single`]),spellcheck:`false`,autocomplete:`off`,onInput:g,onKeydown:_},null,40,[`value`,`placeholder`,`disabled`,`rows`,`class`]))],2))}}),[[`__scopeId`,`data-v-b73e3452`]]);function x(e){return[...e].sort((e,t)=>e.is_builtin===t.is_builtin?e.sort_order===t.sort_order?e.id-t.id:e.sort_order-t.sort_order:e.is_builtin?1:-1)}function S(){let e=n([]),t=n(!1);async function r(){t.value=!0;try{e.value=x(await i.get(`/terminal/quick-commands`)||[])}catch{throw e.value=[],Error(`加载快捷命令失败`)}finally{t.value=!1}}async function a(e,t){await i.post(`/terminal/quick-commands`,{name:e.trim(),cmd:t.trim()}),await r()}async function o(e,t,n){await i.put(`/terminal/quick-commands/${e}`,{name:t.trim(),cmd:n.trim()}),await r()}async function s(e){await i.delete(`/terminal/quick-commands/${e}`),await r()}async function c(t){e.value=x((await i.put(`/terminal/quick-commands/reorder`,{ids:t})).items||[])}return{commands:e,loading:t,load:r,create:a,update:o,remove:s,reorder:c,customCommands:()=>e.value.filter(e=>!e.is_builtin),builtinCommands:()=>e.value.filter(e=>e.is_builtin)}}export{S as n,b as r,x as t};