diff options
Diffstat (limited to 'internal')
-rw-r--r-- | internal/notes.txt | 46 | ||||
-rw-r--r-- | internal/p10k.zsh | 2 |
2 files changed, 48 insertions, 0 deletions
diff --git a/internal/notes.txt b/internal/notes.txt index a37fbaa2..37b59191 100644 --- a/internal/notes.txt +++ b/internal/notes.txt @@ -8,3 +8,49 @@ disabling implicit reset on every eval in _p9k_worker_receive. - implement fake gitstatus api on top of vcs_info (or plain git?) + worker and use it if there is no gitstatus. + +## asdf + +- https://asdf-vm.com/#/core-configuration?id=environment-variables +- https://asdf-vm.com/#/core-configuration?id=tool-versions +- https://asdf-vm.com/#/core-configuration?id=homeasdfrc +- https://asdf-vm.com/#/plugins-create?id=binlist-legacy-filenames +- https://asdf-vm.com/#/plugins-create?id=binparse-legacy-file +- `print -lr -- ${ASDF_DATA_DIR:-~/.asdf}/plugins/*(/N:t)` +- `print -lr -- $(${ASDF_DATA_DIR:-~/.asdf}/plugins/ruby/bin/list-legacy-filenames)` +- `${ASDF_DATA_DIR:-~/.asdf}/plugins/ruby/bin/parse-legacy-file ~/powerlevel10k/test/foo/.ruby-version` + - if empty, keep looking +- ASDF_${upcase_name}_VERSION wins over everything +- deeper version overrides win +- .tool-versions wins over .ruby-version when in the same directory +- versions for different tools are looked up independently: if /foo/bar/.tool-versions doesn't + override "ruby" it's as if it doesn't exist as far as ruby version is concerned. +- after upglob look $HOME (same file patterns) +- finally look at $ASDF_DEFAULT_TOOL_VERSIONS_FILENAME (single file; parse it like .tool-versions) +- ${ASDF_CONFIG_FILE:-~/.asdfrc} parsing: + opt="$( + grep -E "^\\s*legacy_version_file\\s*=\\s*" "$config_path" | + head | + awk -F '=' '{print $2}' | + sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" + [[ $opt == yes ]] + +Stat caches: +- ${ASDF_CONFIG_FILE:-~/.asdfrc} => legacy_version_file (yes or no) +- ${ASDF_DATA_DIR:-~/.asdf}/plugins => list of plugins +- ${ASDF_DATA_DIR:-~/.asdf}/plugins/ruby/bin => list of relevant scripts + (list-legacy-filenames and parse-legacy-file) +- ${ASDF_DATA_DIR:-~/.asdf}/plugins/ruby/bin/list-legacy-filenames => list (or pattern made from it?) +- /foo/bar => { tool => version } (permanent cache via stat cache) + +--- + +typeset -ga _p9k_asdf_meta_files=( + ${ASDF_CONFIG_FILE:-~/.asdfrc} + ${ASDF_DATA_DIR:-~/.asdf}/plugins + ${ASDF_DATA_DIR:-~/.asdf}/plugins/*/bin{,/list-legacy-filenames,/parse-legacy-file}(N) +) +typeset -g _p9k_asdf_meta_sig # $ASDF_CONFIG_FILE ':' $ASDF_DATA_DIR ':' $ASDF_DEFAULT_TOOL_VERSIONS_FILENAME ':' $ASDF_DEFAULT_TOOL_VERSIONS_FILENAME ':' ${(j.:.)mtimes} + +typeset -g _p9k_asdf_file_pat # example: '(.tool-versions|.ruby-version)' +typeset -gA _p9k_asdf_file_info # .ruby-version => ruby1 ('1' means parse-legacy-file is present) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 03558340..7fa6ad3f 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -1316,6 +1316,7 @@ _p9k_prompt_battery_set_args() { ;; Linux|Android) + # See https://sourceforge.net/projects/acpiclient. local -a bats=( /sys/class/power_supply/(BAT*|battery)/(FN) ) (( $#bats )) || return @@ -4567,6 +4568,7 @@ function _p9k_prompt_net_iface_compute() { } function _p9k_prompt_net_iface_async() { + # netstat -inbI en0 local iface ip line var typeset -a iface2ip if [[ -x /sbin/ifconfig ]]; then |