From d39d0b7e02eee9773be2d6ac5f53fc86395a8197 Mon Sep 17 00:00:00 2001 From: amy Date: Tue, 28 Feb 2023 13:59:52 +0000 Subject: lots of things i think --- readme.md | 6 ++--- src/common.js | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++- src/jssh.js | 16 +++++++++++++ src/window-utils.js | 28 +++++++++++++++++++---- 4 files changed, 107 insertions(+), 8 deletions(-) diff --git a/readme.md b/readme.md index 4cddbbb..cddcf6f 100644 --- a/readme.md +++ b/readme.md @@ -7,7 +7,7 @@ todo: solitaire!
fix some of the image scaling
-fd searching -fd move file - +fd searching
+fd move file
+figure out popup box
./badges/000010.gif./badges/catp0rtal.gif./badges/getbsod.gif./badges/reshirii.gif./badges/104.gif./badges/css2.gif./badges/gitea.gif./badges/rosemary22.gif./badges/1of2.gif./badges/css.png./badges/hexrain.png./badges/rosemary7.gif./badges/amatsuki.gif./badges/devils_button.gif./badges/linuxnow2.gif./badges/thatwhitehand.png./badges/anibanner.gif./badges/devils.gif./badges/neovim.gif./badges/transistor_cafe.gif./badges/anticodeandrun.gif./badges/digby88.gif./badges/newlambda.gif./badges/transnow2.gif./badges/arizona.gif./badges/dramaturgie.gif./badges/nvidia.gif./badges/zettai.gif./badges/asexuals_now.gif./badges/finger-logo-people.gif./badges/nya2.gif./badges/beyes.gif./badges/firefox4.gif./badges/photo.jpeg./badges/calcium.png./badges/friday-girl.gif./badges/photo.png \ No newline at end of file diff --git a/src/common.js b/src/common.js index f7d2cca..3c8fcb4 100644 --- a/src/common.js +++ b/src/common.js @@ -11,4 +11,67 @@ function appendHtml(el, str) { } -const rem_emp = function (e) {return e !== "";}; \ No newline at end of file +const rem_emp = function (e) {return e !== "";}; + +function indexs_of(inp,sel){ + if(sel==''){ + let fm = [] + for(let n = 0; n<=inp.length;n++){ + fm.push(n) + } + //console.log(fm) + return fm + } + let m = [] + for(let i = inp.indexOf(sel);i>=0;i=inp.indexOf(sel,i+1)){ + m.push(i) + } + return m +} +function hrx(inp,match){ //hgx for human (readable) regex, a more user friendly regex + //similar to the ones used in command lines + for(let x in match){ + //console.log(match[x]) + if(match[0]=='*'){ + m = match.split("") + m.splice(0,1) + m = m.join("") + mm = m.split("*")[0] + //m = m.join("") + + if(!inp.includes(mm)) + return false + + //let zz = inp.indexOf(m) + let ava = indexs_of(inp,mm) + //console.log(m) + for(let a of ava){ + //console.log(a,m) + i = inp.split("") + i.splice(0,a) + i = i.join("") + let test = hrx(i,m) + if(test) + return true + + } + return false + //match = m + //console.log(m,i) + } else { + //console.log(inp,match) + if(inp[0]==match[0]){ + i = inp.split("") + ma = match.split("") + i.splice(0,1) + ma.splice(0,1) + inp=i.join("") + match=ma.join("") + } else { + return false + } + } + } + //console.log(inp,match) + return (inp==''&&''==match) +} \ No newline at end of file diff --git a/src/jssh.js b/src/jssh.js index 22809e0..15b3100 100644 --- a/src/jssh.js +++ b/src/jssh.js @@ -7,6 +7,22 @@ class jssh { this.uid = uid; this.window_create = window_create; } + search(fs,target,opt={},path='./'){ + let match = [] + for(let f of fs){ + if(f.dir){ + let tt = this.search(f.content,target,opt,path+f.name+"/") + if(tt!=undefined&&tt.length>0) + match.push(...tt) + } + if((!opt.exact&&hrx(f.name,"*"+target+"*")||(opt.exact&&hrx(f.name,target)))){ + match.push(path+f.name) + } + } + //console.log(match.length) + //if(match.length!=0) + return match; + } set_wd(dir) { //let lwd = fs let wd = fs; diff --git a/src/window-utils.js b/src/window-utils.js index 4744f77..89f56de 100644 --- a/src/window-utils.js +++ b/src/window-utils.js @@ -255,9 +255,15 @@ let util = { } }*/ //console.log(inp.path) + + //top bar, wip maybe + //files+= "
" + //put buttons and stuff on top + //files+= "Search:
" + //files+="
" files+= "
"+bar_opt+"
" files += "
" - files += "
" + files += "
" for (let f of tfs) { if (f.dir) { files += @@ -297,7 +303,8 @@ let util = { i + "-fd-bottom' class='fd-bottom' >
File name:
File name:
uwu
nyadjkbkcbshvbhfbvjhdfvbdfbvjhdf
" + +"save
" + "
" + + "-fd-bottom-bar-bottom'>" + "
File type: