13 changed files with 2864 additions and 18 deletions
-
8aliases/key_aliases.tmpl
-
3aliases/key_dirs.tmpl
-
235dot_config/fish/completions/timetrace.fish
-
32dot_config/i3blocks/i3blocks.conf.tmpl
-
6dot_config/i3blocks/scripts/executable_dexscreener-fdv
-
6dot_config/ranger/executable_scope.sh
-
6dot_config/ranger/rc.conf.tmpl
-
3scripts/executable_dexscreener
-
24scripts/executable_dexscreener-fdv
-
2438txt/ubuntu/apt-packages.txt
-
5txt/ubuntu/npm-packages.txt
-
92txt/ubuntu/pip-packages.txt
-
24txt/ubuntu/snap-packages.txt
@ -0,0 +1,235 @@ |
|||
# fish completion for timetrace -*- shell-script -*- |
|||
|
|||
function __timetrace_debug |
|||
set -l file "$BASH_COMP_DEBUG_FILE" |
|||
if test -n "$file" |
|||
echo "$argv" >> $file |
|||
end |
|||
end |
|||
|
|||
function __timetrace_perform_completion |
|||
__timetrace_debug "Starting __timetrace_perform_completion" |
|||
|
|||
# Extract all args except the last one |
|||
set -l args (commandline -opc) |
|||
# Extract the last arg and escape it in case it is a space |
|||
set -l lastArg (string escape -- (commandline -ct)) |
|||
|
|||
__timetrace_debug "args: $args" |
|||
__timetrace_debug "last arg: $lastArg" |
|||
|
|||
# Disable ActiveHelp which is not supported for fish shell |
|||
set -l requestComp "TIMETRACE_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg" |
|||
|
|||
__timetrace_debug "Calling $requestComp" |
|||
set -l results (eval $requestComp 2> /dev/null) |
|||
|
|||
# Some programs may output extra empty lines after the directive. |
|||
# Let's ignore them or else it will break completion. |
|||
# Ref: https://github.com/spf13/cobra/issues/1279 |
|||
for line in $results[-1..1] |
|||
if test (string trim -- $line) = "" |
|||
# Found an empty line, remove it |
|||
set results $results[1..-2] |
|||
else |
|||
# Found non-empty line, we have our proper output |
|||
break |
|||
end |
|||
end |
|||
|
|||
set -l comps $results[1..-2] |
|||
set -l directiveLine $results[-1] |
|||
|
|||
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>) |
|||
# completions must be prefixed with the flag |
|||
set -l flagPrefix (string match -r -- '-.*=' "$lastArg") |
|||
|
|||
__timetrace_debug "Comps: $comps" |
|||
__timetrace_debug "DirectiveLine: $directiveLine" |
|||
__timetrace_debug "flagPrefix: $flagPrefix" |
|||
|
|||
for comp in $comps |
|||
printf "%s%s\n" "$flagPrefix" "$comp" |
|||
end |
|||
|
|||
printf "%s\n" "$directiveLine" |
|||
end |
|||
|
|||
# this function limits calls to __timetrace_perform_completion, by caching the result behind $__timetrace_perform_completion_once_result |
|||
function __timetrace_perform_completion_once |
|||
__timetrace_debug "Starting __timetrace_perform_completion_once" |
|||
|
|||
if test -n "$__timetrace_perform_completion_once_result" |
|||
__timetrace_debug "Seems like a valid result already exists, skipping __timetrace_perform_completion" |
|||
return 0 |
|||
end |
|||
|
|||
set --global __timetrace_perform_completion_once_result (__timetrace_perform_completion) |
|||
if test -z "$__timetrace_perform_completion_once_result" |
|||
__timetrace_debug "No completions, probably due to a failure" |
|||
return 1 |
|||
end |
|||
|
|||
__timetrace_debug "Performed completions and set __timetrace_perform_completion_once_result" |
|||
return 0 |
|||
end |
|||
|
|||
# this function is used to clear the $__timetrace_perform_completion_once_result variable after completions are run |
|||
function __timetrace_clear_perform_completion_once_result |
|||
__timetrace_debug "" |
|||
__timetrace_debug "========= clearing previously set __timetrace_perform_completion_once_result variable ==========" |
|||
set --erase __timetrace_perform_completion_once_result |
|||
__timetrace_debug "Succesfully erased the variable __timetrace_perform_completion_once_result" |
|||
end |
|||
|
|||
function __timetrace_requires_order_preservation |
|||
__timetrace_debug "" |
|||
__timetrace_debug "========= checking if order preservation is required ==========" |
|||
|
|||
__timetrace_perform_completion_once |
|||
if test -z "$__timetrace_perform_completion_once_result" |
|||
__timetrace_debug "Error determining if order preservation is required" |
|||
return 1 |
|||
end |
|||
|
|||
set -l directive (string sub --start 2 $__timetrace_perform_completion_once_result[-1]) |
|||
__timetrace_debug "Directive is: $directive" |
|||
|
|||
set -l shellCompDirectiveKeepOrder 32 |
|||
set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2) |
|||
__timetrace_debug "Keeporder is: $keeporder" |
|||
|
|||
if test $keeporder -ne 0 |
|||
__timetrace_debug "This does require order preservation" |
|||
return 0 |
|||
end |
|||
|
|||
__timetrace_debug "This doesn't require order preservation" |
|||
return 1 |
|||
end |
|||
|
|||
|
|||
# This function does two things: |
|||
# - Obtain the completions and store them in the global __timetrace_comp_results |
|||
# - Return false if file completion should be performed |
|||
function __timetrace_prepare_completions |
|||
__timetrace_debug "" |
|||
__timetrace_debug "========= starting completion logic ==========" |
|||
|
|||
# Start fresh |
|||
set --erase __timetrace_comp_results |
|||
|
|||
__timetrace_perform_completion_once |
|||
__timetrace_debug "Completion results: $__timetrace_perform_completion_once_result" |
|||
|
|||
if test -z "$__timetrace_perform_completion_once_result" |
|||
__timetrace_debug "No completion, probably due to a failure" |
|||
# Might as well do file completion, in case it helps |
|||
return 1 |
|||
end |
|||
|
|||
set -l directive (string sub --start 2 $__timetrace_perform_completion_once_result[-1]) |
|||
set --global __timetrace_comp_results $__timetrace_perform_completion_once_result[1..-2] |
|||
|
|||
__timetrace_debug "Completions are: $__timetrace_comp_results" |
|||
__timetrace_debug "Directive is: $directive" |
|||
|
|||
set -l shellCompDirectiveError 1 |
|||
set -l shellCompDirectiveNoSpace 2 |
|||
set -l shellCompDirectiveNoFileComp 4 |
|||
set -l shellCompDirectiveFilterFileExt 8 |
|||
set -l shellCompDirectiveFilterDirs 16 |
|||
|
|||
if test -z "$directive" |
|||
set directive 0 |
|||
end |
|||
|
|||
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2) |
|||
if test $compErr -eq 1 |
|||
__timetrace_debug "Received error directive: aborting." |
|||
# Might as well do file completion, in case it helps |
|||
return 1 |
|||
end |
|||
|
|||
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2) |
|||
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2) |
|||
if test $filefilter -eq 1; or test $dirfilter -eq 1 |
|||
__timetrace_debug "File extension filtering or directory filtering not supported" |
|||
# Do full file completion instead |
|||
return 1 |
|||
end |
|||
|
|||
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2) |
|||
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2) |
|||
|
|||
__timetrace_debug "nospace: $nospace, nofiles: $nofiles" |
|||
|
|||
# If we want to prevent a space, or if file completion is NOT disabled, |
|||
# we need to count the number of valid completions. |
|||
# To do so, we will filter on prefix as the completions we have received |
|||
# may not already be filtered so as to allow fish to match on different |
|||
# criteria than the prefix. |
|||
if test $nospace -ne 0; or test $nofiles -eq 0 |
|||
set -l prefix (commandline -t | string escape --style=regex) |
|||
__timetrace_debug "prefix: $prefix" |
|||
|
|||
set -l completions (string match -r -- "^$prefix.*" $__timetrace_comp_results) |
|||
set --global __timetrace_comp_results $completions |
|||
__timetrace_debug "Filtered completions are: $__timetrace_comp_results" |
|||
|
|||
# Important not to quote the variable for count to work |
|||
set -l numComps (count $__timetrace_comp_results) |
|||
__timetrace_debug "numComps: $numComps" |
|||
|
|||
if test $numComps -eq 1; and test $nospace -ne 0 |
|||
# We must first split on \t to get rid of the descriptions to be |
|||
# able to check what the actual completion will be. |
|||
# We don't need descriptions anyway since there is only a single |
|||
# real completion which the shell will expand immediately. |
|||
set -l split (string split --max 1 \t $__timetrace_comp_results[1]) |
|||
|
|||
# Fish won't add a space if the completion ends with any |
|||
# of the following characters: @=/:., |
|||
set -l lastChar (string sub -s -1 -- $split) |
|||
if not string match -r -q "[@=/:.,]" -- "$lastChar" |
|||
# In other cases, to support the "nospace" directive we trick the shell |
|||
# by outputting an extra, longer completion. |
|||
__timetrace_debug "Adding second completion to perform nospace directive" |
|||
set --global __timetrace_comp_results $split[1] $split[1]. |
|||
__timetrace_debug "Completions are now: $__timetrace_comp_results" |
|||
end |
|||
end |
|||
|
|||
if test $numComps -eq 0; and test $nofiles -eq 0 |
|||
# To be consistent with bash and zsh, we only trigger file |
|||
# completion when there are no other completions |
|||
__timetrace_debug "Requesting file completion" |
|||
return 1 |
|||
end |
|||
end |
|||
|
|||
return 0 |
|||
end |
|||
|
|||
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves |
|||
# so we can properly delete any completions provided by another script. |
|||
# Only do this if the program can be found, or else fish may print some errors; besides, |
|||
# the existing completions will only be loaded if the program can be found. |
|||
if type -q "timetrace" |
|||
# The space after the program name is essential to trigger completion for the program |
|||
# and not completion of the program name itself. |
|||
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish. |
|||
complete --do-complete "timetrace " > /dev/null 2>&1 |
|||
end |
|||
|
|||
# Remove any pre-existing completions for the program since we will be handling all of them. |
|||
complete -c timetrace -e |
|||
|
|||
# this will get called after the two calls below and clear the $__timetrace_perform_completion_once_result global |
|||
complete -c timetrace -n '__timetrace_clear_perform_completion_once_result' |
|||
# The call to __timetrace_prepare_completions will setup __timetrace_comp_results |
|||
# which provides the program's completion choices. |
|||
# If this doesn't require order preservation, we don't use the -k flag |
|||
complete -c timetrace -n 'not __timetrace_requires_order_preservation && __timetrace_prepare_completions' -f -a '$__timetrace_comp_results' |
|||
# otherwise we use the -k flag |
|||
complete -k -c timetrace -n '__timetrace_requires_order_preservation && __timetrace_prepare_completions' -f -a '$__timetrace_comp_results' |
@ -0,0 +1,6 @@ |
|||
#!/bin/bash |
|||
|
|||
. "/home/kevin/.cache/wal/colors.sh" |
|||
#ticker=$(~/scripts/dexscreener $CHAIN $PAIR) |
|||
ticker=$(~/scripts/dexscreener-fdv $1 $2) |
|||
printf "%s\n\n%s\n" "$ticker" "$color7" |
@ -0,0 +1,24 @@ |
|||
# /bin/bash |
|||
|
|||
# curl -s https://api.dexscreener.com/latest/dex/pairs/$1/$2| jq -r '.pairs | .[] | .priceUsd' |
|||
#raw=$(curl -s "https://api.dexscreener.com/latest/dex/pairs/$1/$2") |
|||
#price=$(echo "$raw" | jq '.pairs[0].marketCap / 1000000000 | . as $marketCap | "\($marketCap | floor).$(($marketCap * 10 | floor % 10))"') |
|||
#price=$(echo "$raw" | jq -r '.pairs[0].marketCap / 1000000000 | "\(floor).\( (. * 10 | floor % 10) )B"') |
|||
#curl -s "https://api.dexscreener.com/latest/dex/pairs/$1/$2" | jq -r '.pairs[0].marketCap / 1000000000 | "\(floor).\( (. * 10 | floor % 10) )"' |
|||
curl -s "https://api.dexscreener.com/latest/dex/pairs/$1/$2" | jq -r '.pairs[0].fdv / 1000000000 | "\(floor).\( (. * 10 | floor % 10) )"' | jq -r 'tostring | gsub("\\.";"")' |
|||
|
|||
# if (( $(echo "$price < .05" | bc -l) )); then |
|||
# printf "%0.4f\n" "$price" | cut -c 4- |
|||
# elif (( $(echo "$price < .1" | bc -l) )); then |
|||
# printf "%0.3f\n" "$price" | cut -c 4- |
|||
#if (( $(echo "$price < .09" | bc -l) )); then |
|||
#printf "%0.4f\n" "$price" | cut -c 4- |
|||
#elif (( $(echo "$price < .1" | bc -l) )); then |
|||
#printf "%0.3f\n" "$price" | cut -c 4- |
|||
#elif (( $(echo "$price < 1" | bc -l) )); then |
|||
#printf "%0.3f\n" "$price" | cut -c 3- |
|||
#elif (( $(echo "$price < 10" | bc -l) )); then |
|||
#printf "%0.2f\n" "$price" |
|||
#fi |
|||
|
|||
|
2438
txt/ubuntu/apt-packages.txt
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,5 @@ |
|||
/home/kevin/.local/share/fnm/node-versions/v23.6.0/installation/lib |
|||
├── corepack@0.30.0 |
|||
├── node-gyp@11.0.0 |
|||
└── npm@10.9.2 |
|||
|
@ -0,0 +1,92 @@ |
|||
argcomplete==3.1.4 |
|||
attrs==23.2.0 |
|||
Babel==2.10.3 |
|||
bcc==0.29.1 |
|||
bcrypt==3.2.2 |
|||
blinker==1.7.0 |
|||
Brlapi==0.8.5 |
|||
certifi==2023.11.17 |
|||
chardet==5.2.0 |
|||
click==8.1.6 |
|||
cloud-init==24.4 |
|||
colorama==0.4.6 |
|||
command-not-found==0.3 |
|||
configobj==5.0.8 |
|||
cryptography==41.0.7 |
|||
cupshelpers==1.0 |
|||
dbus-python==1.3.2 |
|||
defer==1.0.6 |
|||
distro==1.9.0 |
|||
distro-info==1.7+build1 |
|||
docopt==0.6.2 |
|||
duplicity==2.1.4 |
|||
fasteners==0.18 |
|||
greenlet==3.0.3 |
|||
gyp==0.1 |
|||
httplib2==0.20.4 |
|||
idna==3.6 |
|||
iotop==0.6 |
|||
Jinja2==3.1.2 |
|||
jsonpatch==1.32 |
|||
jsonpointer==2.0 |
|||
jsonschema==4.10.3 |
|||
language-selector==0.1 |
|||
launchpadlib==1.11.0 |
|||
lazr.restfulclient==0.14.6 |
|||
lazr.uri==1.0.6 |
|||
louis==3.29.0 |
|||
Mako==1.3.2.dev0 |
|||
markdown-it-py==3.0.0 |
|||
MarkupSafe==2.1.5 |
|||
mdurl==0.1.2 |
|||
monotonic==1.6 |
|||
msgpack==1.0.3 |
|||
netaddr==0.8.0 |
|||
netifaces==0.11.0 |
|||
oauthlib==3.2.2 |
|||
olefile==0.46 |
|||
packaging==24.0 |
|||
paramiko==2.12.0 |
|||
pexpect==4.9.0 |
|||
pillow==10.2.0 |
|||
pipx==1.4.3 |
|||
platformdirs==4.2.0 |
|||
psutil==5.9.8 |
|||
ptyprocess==0.7.0 |
|||
pycairo==1.25.1 |
|||
pycups==2.0.1 |
|||
Pygments==2.17.2 |
|||
PyGObject==3.48.2 |
|||
PyJWT==2.7.0 |
|||
PyNaCl==1.5.0 |
|||
pynvim==0.5.0 |
|||
pyparsing==3.1.1 |
|||
pyrsistent==0.20.0 |
|||
pyserial==3.5 |
|||
python-apt==2.7.7+ubuntu3 |
|||
python-dateutil==2.8.2 |
|||
python-debian==0.1.49+ubuntu2 |
|||
python-xlib==0.33 |
|||
pytz==2024.1 |
|||
pyxdg==0.28 |
|||
PyYAML==6.0.1 |
|||
ranger-fm==1.9.3 |
|||
requests==2.31.0 |
|||
rich==13.7.1 |
|||
screen-resolution-extra==0.0.0 |
|||
setuptools==68.1.2 |
|||
six==1.16.0 |
|||
systemd-python==235 |
|||
typing_extensions==4.10.0 |
|||
ubuntu-drivers-common==0.0.0 |
|||
ubuntu-pro-client==8001 |
|||
ueberzug==18.2.2 |
|||
ufw==0.36.2 |
|||
unattended-upgrades==0.1 |
|||
urllib3==2.0.7 |
|||
usb-creator==0.3.16 |
|||
userpath==1.9.1 |
|||
wadllib==1.3.6 |
|||
wheel==0.42.0 |
|||
xdg==5 |
|||
xkit==0.0.0 |
@ -0,0 +1,24 @@ |
|||
Name Version Rev Tracking Publisher Notes |
|||
bare 1.0 5 latest/stable canonical** base |
|||
core 16-2.61.4-20240607 17200 latest/stable canonical** core |
|||
core18 20240920 2846 latest/stable canonical** base |
|||
core20 20240911 2434 latest/stable canonical** base |
|||
core22 20241119 1722 latest/stable canonical** base |
|||
core24 20241119 716 latest/stable canonical** base |
|||
discord 0.0.80 222 latest/stable snapcrafters* - |
|||
firefox 129.0.2-1 4793 latest/stable/… mozilla** - |
|||
firmware-updater 0+git.7983059 147 1/stable/… canonical** - |
|||
gimp 2.10.38 484 latest/stable snapcrafters* - |
|||
gnome-3-38-2004 0+git.efb213a 143 latest/stable canonical** - |
|||
gnome-42-2204 0+git.510a601 176 latest/stable/… canonical** - |
|||
gnome-46-2404 0+git.7d0cf36 77 latest/stable canonical** - |
|||
gtk-common-themes 0.1-81-g442e511 1535 latest/stable/… canonical** - |
|||
gtk2-common-themes 0.1 13 latest/stable canonical** - |
|||
mesa-2404 24.0.9 143 latest/stable canonical** - |
|||
signal-desktop 7.38.0 745 latest/stable snapcrafters* - |
|||
snap-store 0+git.7a3a49a6 1248 2/stable/… canonical** - |
|||
snapd 2.67 23545 latest/stable canonical** snapd |
|||
snapd-desktop-integration 0.9 253 latest/stable/… canonical** - |
|||
spotify 1.2.52.442.g01893f92 82 latest/stable spotify** - |
|||
thunderbird 128.6.0esr-1 609 latest/stable canonical** - |
|||
tldr 3.3.0 627 latest/stable kbdk - |
Write
Preview
Loading…
Cancel
Save
Reference in new issue