Compatibilité elvish 0.17

This commit is contained in:
Benjamin VAUDOUR 2021-12-11 21:09:02 +00:00
parent be84588373
commit 87eb82a791
43 changed files with 323 additions and 322 deletions

View file

@ -1,4 +1,4 @@
edit:add-var addbadips~ [@argv]{
edit:add-var addbadips~ {|@argv|
use moi/util/ip
use moi/util/list
use moi/util/map
@ -7,7 +7,7 @@ edit:add-var addbadips~ [@argv]{
var f = ~/bad_ips.txt
var ips = [ (cat $f) ]
var m c = (map:to-set $ips) 0
each [e]{
each {|e|
var cond = (and (not (has-key $m $e)) (ip:is-ipv4 $e))
if $cond {
echo $e ajoutée

View file

@ -1,4 +1,4 @@
edit:add-var adguard~ [@argv]{
edit:add-var adguard~ {|@argv|
use str
sudo chattr -i /etc/resolv.conf
var beg = 's|^.*\(192\.168\.0\.25\)|'

View file

@ -1,17 +1,17 @@
edit:add-var cat~ [@argv]{ e:bat -pp --tabs 2 $@argv }
edit:add-var cp~ [@argv]{ e:cp -iv $@argv }
edit:add-var cat~ {|@argv| e:bat -pp --tabs 2 $@argv }
edit:add-var cp~ {|@argv| e:cp -iv $@argv }
edit:add-var curl~ $e:curlie~
edit:add-var df~ $e:duf~
edit:add-var diff~ $e:colordiff~
edit:add-var dig~ [@argv]{ e:dig +noall +answer $@argv }
edit:add-var dogall~ [@argv]{ e:dog A AAAA CNAME TXT MX NS SOA $@argv }
edit:add-var du~ [@argv]{ e:du -h $@argv }
edit:add-var dig~ {|@argv| e:dig +noall +answer $@argv }
edit:add-var dogall~ {|@argv| e:dog A AAAA CNAME TXT MX NS SOA $@argv }
edit:add-var du~ {|@argv| e:du -h $@argv }
edit:add-var git~ $e:hub~
edit:add-var grep~ [@argv]{ e:grep --color=tty -d skip $@argv }
edit:add-var mv~ [@argv]{ e:mv -iv $@argv }
edit:add-var pf~ [@argv]{ e:pkgfile -vri $@argv }
edit:add-var rm~ [@argv]{ e:rm -Iv $@argv }
edit:add-var grep~ {|@argv| e:grep --color=tty -d skip $@argv }
edit:add-var mv~ {|@argv| e:mv -iv $@argv }
edit:add-var pf~ {|@argv| e:pkgfile -vri $@argv }
edit:add-var rm~ {|@argv| e:rm -Iv $@argv }
edit:add-var rename~ $e:go-rename~
edit:add-var timidity~ [@argv]{ e:timidity -a -K 1 $@argv }
edit:add-var tree~ [@argv]{ e:tree -puhC --dirsfirst --du -D $@argv }
edit:add-var wget~ [@argv]{ e:wget2 $@argv }
edit:add-var timidity~ {|@argv| e:timidity -a -K 1 $@argv }
edit:add-var tree~ {|@argv| e:tree -puhC --dirsfirst --du -D $@argv }
edit:add-var wget~ {|@argv| e:wget2 $@argv }

View file

@ -1,6 +1,6 @@
var cmd = $e:arc~
edit:add-var archiver~ [@argv]{
edit:add-var archiver~ {|@argv|
use str
var help = {
echo "Usage : archiver [(-zlxgb)] <file to compress>"
@ -27,7 +27,7 @@ edit:add-var archiver~ [@argv]{
if (== (count $argv) 0) {
$help
}
peach [f]{
peach {|f|
var ff = $f
if (eq $ff[-1] /) {
set f = $ff[..-1]
@ -37,16 +37,16 @@ edit:add-var archiver~ [@argv]{
} $argv
}
edit:add-var desarchiver~ [@argv]{
peach [f]{
edit:add-var desarchiver~ {|@argv|
peach {|f|
var ff = $f
$cmd unarchive $ff
echo "'"$ff"'" désarchivé
} $argv
}
edit:add-var listarchiver~ [@argv]{
peach [f]{
edit:add-var listarchiver~ {|@argv|
peach {|f|
var ff = $f
$cmd ls $ff
} $argv

View file

@ -1,4 +1,4 @@
edit:add-var updatecarapace~ []{
edit:add-var updatecarapace~ {||
var cur = (pwd)
var wd = $E:HOME/Documents/OtherGo/github.com/rsteube/carapace-bin
var bd = $E:HOME/Go/bin

View file

@ -1,8 +1,8 @@
use str
fn -check [f]{
fn -check {|f|
var @missings = (try {
sudo ldd $f 2>/dev/null | grep 'not found' | eawk [_ m @_]{ put $m }
sudo ldd $f 2>/dev/null | grep 'not found' | eawk {|_ m @_| put $m }
} except e {
})
if (> (count $missings) 1) {
@ -11,28 +11,28 @@ fn -check [f]{
}
}
fn -check-executable [f]{
fn -check-executable {|f|
if ?(test -x $f) {
-check $f
}
}
fn -cbin []{
fn -cbin {||
echo (styled 'Searching broken binaries…' bold bright-yellow)
sudo find /usr/bin -maxdepth 1 -type f 2>/dev/null | each $-check~
}
fn -clib []{
fn -clib {||
echo (styled 'Searching broken libs…' bold bright-yellow)
sudo find /usr/lib/*.so* -maxdepth 1 -type f 2>/dev/null | each $-check-executable~
}
fn -copt []{
fn -copt {||
echo (styled 'Searching broken binariess in opt…' bold bright-yellow)
sudo find /opt -maxdepth 3 -type f 2>/dev/null | each $-check-executable~
}
edit:add-var checklinks~ []{
edit:add-var checklinks~ {||
-cbin
-clib
-copt

View file

@ -1,10 +1,10 @@
edit:add-var cleankh~ [@argv]{
edit:add-var cleankh~ {|@argv|
use str
use moi/util/condition
use moi/util/list
use moi/util/ip
fn less [cmp e1 e2]{ < ($cmp $e1 $e2) 0 }
fn sort-host [e1 e2]{
fn less {|cmp e1 e2| < ($cmp $e1 $e2) 0 }
fn sort-host {|e1 e2|
var i1 = (condition:cset (ip:is-ip $e1) 1 0)
var i2 = (condition:cset (ip:is-ip $e2) 1 0)
if (!= $i1 $i2) {
@ -17,17 +17,17 @@ edit:add-var cleankh~ [@argv]{
}
var khosts = [&]
cat ~/.ssh/known_hosts | eawk [_ hosts @rest]{
cat ~/.ssh/known_hosts | eawk {|_ hosts @rest|
var key = (str:join ' ' $rest)
if (not (has-key $khosts $key)) {
set khosts[$key] = [&]
}
str:split , $hosts | each [h]{
str:split , $hosts | each {|h|
set khosts[$key][$h] = $nil
}
}
var lines = [(keys $khosts | each [key]{
var lines = [(keys $khosts | each {|key|
var hosts = (keys $khosts[$key] | order &less-than=$sort-host~ | str:join ,)
put $hosts $key | str:join ' '
})]

View file

@ -1,11 +1,11 @@
edit:add-var commitkcp~ [@argv]{
edit:add-var commitkcp~ {|@argv|
use str
var m = [
&name=
&ver=
]
keys $m | each [k]{
keys $m | each {|k|
var p = 'pkg'$k'='
set m[$k] = (str:trim-prefix (cat PKGBUILD | grep $p | take 1) $p)
}

View file

@ -1,4 +1,4 @@
edit:add-var digall~ [@argv]{
edit:add-var digall~ {|@argv|
use moi/util/list
use moi/util/strutil
use str
@ -27,12 +27,12 @@ edit:add-var digall~ [@argv]{
]
var domains use_dig = [] $true
fn init []{
fn init {||
if (and (> (count $argv) 0) (is $argv[0] -d)) {
set use_dig = $false
set argv = $argv[1:]
}
each [e]{
each {|e|
if (is $e[0] '+') {
set flags = [ (all $flags) $e ]
} elif (is $e[0] @) {
@ -48,10 +48,10 @@ edit:add-var digall~ [@argv]{
}
}
fn format [results]{
eawk [_ @args]{
fn format {|results|
eawk {|_ @args|
put [ $args[0] (all $args[2..]) ]
} $results | list:remove-duplicate | list:sort [l1 l2]{
} $results | list:remove-duplicate | list:sort {|l1 l2|
var c = (str:compare $l1[0] $l2[0])
if (== $c 0) {
set c = (str:compare $l1[2] $l2[2])
@ -59,23 +59,23 @@ edit:add-var digall~ [@argv]{
} | strutil:format &col=$cols | str:join "\n"
}
fn drillr [d @args]{
var results = [ (peach [r]{
e:drill $@args $r $d | list:filter [e]{
fn drillr {|d @args|
var results = [ (peach {|r|
e:drill $@args $r $d | list:filter {|e|
and (> (count $e) 2) (not (is $e[:2] ';;'))
}
} $records) ]
format $results
}
fn digr [d @args]{
var results = [ (peach [r]{
fn digr {|d @args|
var results = [ (peach {|r|
e:dig $@args $r $d $@flags
} $records) ]
format $results
}
fn req [d @args]{
fn req {|d @args|
if $use_dig {
digr $d $@args
} else {
@ -83,15 +83,15 @@ edit:add-var digall~ [@argv]{
}
}
fn digs [s d]{
fn digs {|s d|
put (echo (styled $s bright-yellow))
req $d $s
}
fn digd [d]{
fn digd {|d|
var results = [ (echo (styled 'Domaine: '$d bright-green)) ]
if (> (count $servers) 0) {
each [s]{
each {|s|
set @results = $@results (digs $s $d)
} $servers
} else {

View file

@ -1,7 +1,7 @@
use re
use str
fn -value [v]{
fn -value {|v|
var p = (re:find '^(\d+)\((\w+)\)$' $v)
if (and (has-key $p groups) (== (count $p[groups]) 3)) {
put [
@ -11,7 +11,7 @@ fn -value [v]{
}
}
fn -values [v]{
fn -values {|v|
var vv = [ (str:split ',' $v) ]
if (== (count $vv) 1) {
-value $vv[0]
@ -20,9 +20,9 @@ fn -values [v]{
}
}
fn -get-id []{
fn -get-id {||
var id = [&]
str:split ' ' (id) | each [e]{
str:split ' ' (id) | each {|e|
var p = [ (str:split '=' $e) ]
if (== (count $p) 2) {
set id[$p[0]] = (-values $p[1])
@ -31,19 +31,19 @@ fn -get-id []{
put $id
}
fn -get [k]{
fn -get {|k|
var id = (-get-id)
if (has-key $id $k) {
put $id[$k]
}
}
fn -is-root []{
fn -is-root {||
== (-get uid)[number] 0
}
edit:add-var get-id~ $-get-id~
edit:add-var get-uid~ []{ -get uid }
edit:add-var get-gid~ []{ -get gid }
edit:add-var get-groups~ []{ -get groups; -get groupes }
edit:add-var get-uid~ {|| -get uid }
edit:add-var get-gid~ {|| -get gid }
edit:add-var get-groups~ {|| -get groups; -get groupes }
edit:add-var is-root~ $-is-root~

View file

@ -1,14 +1,14 @@
edit:add-var ipinfo~ [@argv]{
edit:add-var ipinfo~ {|@argv|
use moi/util/ip
use str
var token = (cat $E:HOME/.config/elvish/private/ipinfo_token)
fn url-of [ip]{
fn url-of {|ip|
str:join '' [ 'ipinfo.io/' $ip '?token=' $token]
}
fn info [ip]{
fn info {|ip|
if (ip:is-ip $ip) {
var url = (url-of $ip)
echo 'URL: '$url

View file

@ -1,11 +1,11 @@
edit:add-var ipof~ [@argv]{
edit:add-var ipof~ {|@argv|
use str
use moi/util/condition
use moi/util/ip
fn less [cmp e1 e2]{ < ($cmp $e1 $e2) 0 }
fn less {|cmp e1 e2| < ($cmp $e1 $e2) 0 }
fn sort-ip [e1 e2]{
fn sort-ip {|e1 e2|
var i1 = (condition:cset (ip:is-ipv4 $e1) 0 (condition:cset (ip:is-ipv6 $e1) 1 2))
var i2 = (condition:cset (ip:is-ipv4 $e2) 0 (condition:cset (ip:is-ipv6 $e2) 1 2))
if (!= $i1 $i2) {
@ -19,18 +19,18 @@ edit:add-var ipof~ [@argv]{
}
}
fn dnssolve [d]{
fn dnssolve {|d|
var result = [
&ips=[&]
&resolvers=''
&txt=''
]
e:dnscrypt-proxy -config /etc/dnscrypt-proxy/dnscrypt-proxy.toml -resolve (idn -a $d) | peach [l]{
e:dnscrypt-proxy -config /etc/dnscrypt-proxy/dnscrypt-proxy.toml -resolve (idn -a $d) | peach {|l|
var ll = $l
var idx = (+ (str:index $ll :) 1)
var value = (str:trim-space $ll[$idx".."])
if (or (str:has-prefix $ll 'IPv4 addresses') (str:has-prefix $ll 'IPv6 addresses')) {
str:split ', ' $value | peach [e]{
str:split ', ' $value | peach {|e|
var ee = $e
if (ip:is-ip $ee) {
set result[ips][$ee] = $nil
@ -48,13 +48,13 @@ edit:add-var ipof~ [@argv]{
}
var hosts = [&]
cat /etc/hosts | peach [l]{
cat /etc/hosts | peach {|l|
var ll = (str:trim-space $l)
if (and (not-eq $ll '') (not-eq $ll[0] '#')) {
put $ll
}
} | eawk [_ ip @domains]{
peach [d]{
} | eawk {|_ ip @domains|
peach {|d|
var dd = $d
if (has-key $hosts $dd) {
set hosts[$dd][$ip] = $nil
@ -65,7 +65,7 @@ edit:add-var ipof~ [@argv]{
}
var remote = [&]
peach [d]{
peach {|d|
var dd = $d
var solve = (dnssolve $dd)
if (> (keys $solve[ips] | count) 0) {
@ -73,14 +73,14 @@ edit:add-var ipof~ [@argv]{
}
} $argv
each [d]{
each {|d|
var exists = $false
echo (styled 'Resolving '$d'…' bright-green)
echo
if (has-key $hosts $d) {
set exists = $true
echo (styled ' local:' bright-yellow)
keys $hosts[$d] | order &less-than=$sort-ip~ | each [ip]{
keys $hosts[$d] | order &less-than=$sort-ip~ | each {|ip|
echo ' - '$ip
}
}
@ -89,7 +89,7 @@ edit:add-var ipof~ [@argv]{
var info = $remote[$d]
echo (styled ' remote:' bright-yellow)
echo ' IPs:'
keys $info[ips] | order &less-than=$sort-ip~ | each [ip]{
keys $info[ips] | order &less-than=$sort-ip~ | each {|ip|
echo ' - '$ip
}
echo ' Resolvers: '$info[resolvers]

View file

@ -1,14 +1,14 @@
fn -ls [@argv]{
fn -ls {|@argv|
e:ls -N --color=auto --group-directories-first --ignore=lost+found '--time-style=+"%Y.%m.%d %H:%M"' --indicator-style=classify $@argv
}
fn -go-ls [@argv]{
fn -go-ls {|@argv|
e:go-ls --group-directories-first -T '+%Y.%m.%d %H:%M' --git $@argv
}
var cmd = $-go-ls~
edit:add-var ls~ [@argv]{ $cmd $@argv }
edit:add-var la~ [@argv]{ $cmd -a $@argv }
edit:add-var ll~ [@argv]{ $cmd -lh $@argv }
edit:add-var lla~ [@argv]{ $cmd -lha $@argv }
edit:add-var ls~ {|@argv| $cmd $@argv }
edit:add-var la~ {|@argv| $cmd -a $@argv }
edit:add-var ll~ {|@argv| $cmd -lh $@argv }
edit:add-var lla~ {|@argv| $cmd -lha $@argv }

View file

@ -1,4 +1,4 @@
edit:add-var meteo~ [@argv]{
edit:add-var meteo~ {|@argv|
use str
#curl --connect-timeout 2 "wttr.in/"(joins '' $_args)"?lang=fr"
e:curlie -s --connect-timeout 2 "wttr.in/"(str:join '' $argv)"?lang=fr"

View file

@ -1 +1 @@
edit:add-var pacmanhisto~ [@argv]{ e:cat /var/log/pacman.log | e:grep "ALPM" | e:grep $@argv }
edit:add-var pacmanhisto~ {|@argv| e:cat /var/log/pacman.log | e:grep "ALPM" | e:grep $@argv }

View file

@ -1,4 +1,4 @@
edit:add-var pdf2grey~ [@argv]{
edit:add-var pdf2grey~ {|@argv|
use re
use str
var m = [
@ -6,7 +6,7 @@ edit:add-var pdf2grey~ [@argv]{
&split=50
]
fn _help []{
fn _help {||
echo 'Usage: pdf2gray [-hn (<n>)] <input>.pdf <output>.pdf'
echo ''
echo 'Options:'
@ -14,15 +14,15 @@ edit:add-var pdf2grey~ [@argv]{
echo ' -n [0-100] Convertit en noir et blanc. Si un nombre est spécifié, indique le pourcentage de coupure (par défaut: 50)'
}
fn is_pdf [e]{
fn is_pdf {|e|
re:match '.*\.pdf$' $e
}
fn is_int [e]{
fn is_int {|e|
re:match '^\d+$' $e
}
fn is_split [e]{
fn is_split {|e|
and (>= $e 0) (<= $e 100)
}

View file

@ -1,9 +1,9 @@
edit:add-var publicip~ [@argv]{
var f = [t]{
edit:add-var publicip~ {|@argv|
var f = {|t|
use moi/util/condition
set t = (condition:cset (eq $t -6) -6 -4)
var l = (condition:cset (eq $t -6) 'IPv6: ' 'IPv4: ')
curl $t ifconfig.co/ip 2> /dev/null | each [ip]{ echo (styled $l bold yellow) $ip }
curl $t ifconfig.co/ip 2> /dev/null | each {|ip| echo (styled $l bold yellow) $ip }
}
$f -4
$f -6

View file

@ -1,44 +1,44 @@
use str
use re
fn -bytes [begin size]{
fn -bytes {|begin size|
str:from-codepoints (range $begin (+ $begin $size))
}
fn -upper []{
fn -upper {||
-bytes 0x41 26
}
fn -lower []{
fn -lower {||
-bytes 0x61 26
}
fn -digit []{
fn -digit {||
-bytes 0x30 10
}
fn -j [@strings]{
fn -j {|@strings|
str:join '' $strings
}
fn -alpha []{
fn -alpha {||
-j (-upper) (-lower)
}
fn -alphanum []{
fn -alphanum {||
-j (-alpha) (-digit)
}
fn -random [chars]{
fn -random {|chars|
var size = (count $chars)
print $chars[(randint 0 $size)]
}
fn -is-int [arg]{
fn -is-int {|arg|
re:match '^\d+$' $arg
}
fn -help []{
fn -help {||
echo 'Génère une chaîne de caractères aléatoires'
echo 'Usage: genstr [(-auldh)] [<chars>] [<size>]'
echo ''
@ -54,9 +54,9 @@ fn -help []{
echo 'Si aucune classe de caractères ou liste de caractères nest fournie, utilise les caractères alphanumériques ([A-Za-z0-9]).'
}
edit:add-var genstr~ [@args]{
edit:add-var genstr~ {|@args|
var len chars h = 0 '' $false
each [e]{
each {|e|
if (or (eq $e -h) (eq $e --help)) {
set h = $true
-help
@ -86,7 +86,7 @@ edit:add-var genstr~ [@args]{
set chars = [(str:split '' $chars)]
range $len | each [_]{
range $len | each {|_|
-random $chars
}
echo

View file

@ -1,3 +1,3 @@
edit:add-var riot~ []{
edit:add-var riot~ {||
cat $E:HOME/.config/elvish/private/riot.txt | xclip -selection clipboard
}

View file

@ -1,4 +1,4 @@
edit:add-var sendsms~ [@argv]{
edit:add-var sendsms~ {|@argv|
use str
var api = https://smsapi.free-mobile.fr/sendmsg

View file

@ -1,2 +1,2 @@
edit:add-var trsen~ [@argv]{ e:rlwrap trans -b -t en $@argv }
edit:add-var trsfr~ [@argv]{ e:rlwrap trans -b -t fr $@argv }
edit:add-var trsen~ {|@argv| e:rlwrap trans -b -t en $@argv }
edit:add-var trsfr~ {|@argv| e:rlwrap trans -b -t fr $@argv }

View file

@ -1,4 +1,4 @@
edit:add-var upd~ [@args]{
edit:add-var upd~ {|@args|
if ?(mirror-check --fast) {
sudo pacman -Syu
}

View file

@ -1,10 +1,10 @@
var cmd = $e:vim~
edit:add-var vi~ [@argv]{ $cmd $@argv }
edit:add-var vb~ [@argv]{ $cmd $@argv ~/.bashrc }
edit:add-var vc~ [@argv]{ $cmd $@argv ~/.vimrc }
edit:add-var ve~ [@argv]{ $cmd $@argv ~/.config/elvish/rc.elv }
edit:add-var vf~ [@argv]{ $cmd $@argv ~/.config/fish/config.fish }
edit:add-var vp~ [@argv]{ $cmd $@argv PKGBUILD }
edit:add-var vv~ [@argv]{ $cmd -R $@argv }
edit:add-var vz~ [@argv]{ $cmd $@argv ~/.zshrc }
edit:add-var vi~ {|@argv| $cmd $@argv }
edit:add-var vb~ {|@argv| $cmd $@argv ~/.bashrc }
edit:add-var vc~ {|@argv| $cmd $@argv ~/.vimrc }
edit:add-var ve~ {|@argv| $cmd $@argv ~/.config/elvish/rc.elv }
edit:add-var vf~ {|@argv| $cmd $@argv ~/.config/fish/config.fish }
edit:add-var vp~ {|@argv| $cmd $@argv PKGBUILD }
edit:add-var vv~ {|@argv| $cmd -R $@argv }
edit:add-var vz~ {|@argv| $cmd $@argv ~/.zshrc }

View file

@ -1,16 +1,16 @@
fn -sync [d1 d2]{
fn -sync {|d1 d2|
rsync -azh --delete --info=progress2,stats ~/.config/$d1/ ~/.config/$d2/
}
fn -save [d]{
fn -save {|d|
-sync $d $d.save
}
fn -restore [d]{
fn -restore {|d|
-sync $d.save $d
}
edit:add-var viv-save~ []{ -save vivaldi }
edit:add-var viv-restore~ []{ -restore vivaldi }
edit:add-var vivd-save~ []{ -save vivaldi-developer }
edit:add-var vivd-restore~ []{ -restore vivaldi-developer }
edit:add-var viv-save~ {|| -save vivaldi }
edit:add-var viv-restore~ {|| -restore vivaldi }
edit:add-var vivd-save~ {|| -save vivaldi-developer }
edit:add-var vivd-restore~ {|| -restore vivaldi-developer }

View file

@ -1,16 +1,16 @@
var cmd = $e:yt-dlp~
#var cmd = $e:youtube-dl~
fn -dl [@argv]{
fn -dl {|@argv|
$cmd --no-check-certificate $@argv
}
fn -audio [@argv]{
fn -audio {|@argv|
-dl -x --audio-format best $@argv
}
edit:add-var youtube-dl~ [@argv]{ -dl $@argv }
edit:add-var youtube-audio~ [@argv]{ -audio $@argv }
edit:add-var yt-dl~ [@argv]{ -dl $@argv }
edit:add-var yt-audio~ [@argv]{ -audio $@argv }
edit:add-var youtube-dl~ {|@argv| -dl $@argv }
edit:add-var youtube-audio~ {|@argv| -audio $@argv }
edit:add-var yt-dl~ {|@argv| -dl $@argv }
edit:add-var yt-audio~ {|@argv| -audio $@argv }