From 4c9da68a096d2dcae2ac57b46c5153c5d210d20e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20La=C3=ADn?= Date: Sun, 27 Aug 2023 19:12:07 +0200 Subject: [PATCH] New aliases, fish binds and functions. Keyb documentation for some apps. New plugins for nvim, as well as keybind changes --- ...nelTabs_new_302085663057248267.config.json | 6 +- .config/fish/aliases.fish | 15 +- .config/fish/conf.d/bin/git-forgit | 992 +++++++++--------- .config/fish/config.fish | 7 +- .config/fish/functions/fzf_forgit.fish | 6 + .config/fish/functions/fzf_git.fish | 2 +- .config/keyb/bindings/fish.yml | 35 + .config/keyb/bindings/geeqie.yml | 0 .config/keyb/bindings/kitty.yml | 86 ++ .config/keyb/bindings/lazydocker.yml | 86 ++ .config/keyb/bindings/librewolf.yml | 101 ++ .config/keyb/bindings/nemo.yml | 109 ++ .config/keyb/bindings/nvim.yml | 248 +++++ .config/keyb/bindings/pinta.yml | 0 .config/keyb/bindings/thunderbird.yml | 89 ++ .config/kitty/kitty.conf | 9 +- .config/nvim/lazy-lock.json | 59 +- .config/nvim/lua/config/keymaps.lua | 54 +- .config/nvim/lua/config/lazy.lua | 2 +- .config/nvim/lua/plugins/alpha.lua | 9 + .config/nvim/lua/plugins/colorizer.lua | 1 - .config/nvim/lua/plugins/compiler.lua | 8 + .config/nvim/lua/plugins/floaterm.lua | 4 - .config/nvim/lua/plugins/highlight-undo.lua | 11 + .config/nvim/lua/plugins/lspconfig.lua | 12 + .config/nvim/lua/plugins/overseer.lua | 20 + .../nvim/lua/plugins/telescope-all-recent.lua | 1 + .../nvim/lua/plugins/telescope-floaterm.lua | 10 + ...e-telescope.lua => telescope-undotree.lua} | 0 .config/nvim/lua/plugins/telescope.lua | 3 +- .config/nvim/lua/plugins/which-key.lua | 2 +- .../obs-studio/basic/scenes/Sin Título.json | 2 +- .config/starship.toml | 4 - 33 files changed, 1420 insertions(+), 573 deletions(-) create mode 100644 .config/fish/functions/fzf_forgit.fish delete mode 100644 .config/keyb/bindings/geeqie.yml create mode 100644 .config/keyb/bindings/lazydocker.yml delete mode 100644 .config/keyb/bindings/pinta.yml create mode 100644 .config/nvim/lua/plugins/compiler.lua create mode 100644 .config/nvim/lua/plugins/highlight-undo.lua create mode 100644 .config/nvim/lua/plugins/lspconfig.lua create mode 100644 .config/nvim/lua/plugins/overseer.lua create mode 100644 .config/nvim/lua/plugins/telescope-floaterm.lua rename .config/nvim/lua/plugins/{undotree-telescope.lua => telescope-undotree.lua} (100%) diff --git a/.config/BetterDiscord/plugins/ChannelTabs_new_302085663057248267.config.json b/.config/BetterDiscord/plugins/ChannelTabs_new_302085663057248267.config.json index 1f8bd89e..f1908c01 100644 --- a/.config/BetterDiscord/plugins/ChannelTabs_new_302085663057248267.config.json +++ b/.config/BetterDiscord/plugins/ChannelTabs_new_302085663057248267.config.json @@ -2,12 +2,12 @@ "settings": { "tabs": [ { - "name": "#Trabajo 1 (SFW)", - "url": "/channels/674984102860161025/724585160170930207", + "name": "#noticias_gd", + "url": "/channels/674984102860161025/888017395195736116", "selected": true, "currentStatus": "none", "iconUrl": "https://cdn.discordapp.com/icons/674984102860161025/a4c5c84a118b923dfe68dccd886d1d87.webp?size=40", - "channelId": "724585160170930207" + "channelId": "888017395195736116" }, { "name": "#feedback-and-suggestions", diff --git a/.config/fish/aliases.fish b/.config/fish/aliases.fish index 3539db81..0f32080a 100644 --- a/.config/fish/aliases.fish +++ b/.config/fish/aliases.fish @@ -1,11 +1,10 @@ -alias code='vscodium' -alias l='exa --long --header -a --icons --git' -alias ls='exa -a --icons' -alias lt='exa --long --header -a --icons --tree --git' +alias l='exa --long --header -a --icons --git --group-directories-first' +alias ls='exa -a --icons --group-directories-first' +alias lt='exa --long --header -a --icons --tree --git --group-directories-first' alias ld='exa --long --header -a --icons -D --git' -alias lh='exa --long --header --icons --git' -alias lsh='exa --icons' -alias lth='exa --long --header --icons --tree --git' +alias lh='exa --long --header --icons --git --group-directories-first' +alias lsh='exa --icons --git --group-directories-first' +alias lth='exa --long --header --icons --tree --git --group-directories-first' alias ldh='exa --long --header --icons -D --git' alias bruh='genact -s 4' alias matrix='unimatrix -s 95' @@ -36,3 +35,5 @@ alias ef='nvim ~/.config/fish/config.fish' alias ev='nvim ~/.config/fish/variables.fish' alias eg='nvim ~/.gitconfig' alias codeinfo='scc ./' +alias pages='navi' +alias lg='lazygit' diff --git a/.config/fish/conf.d/bin/git-forgit b/.config/fish/conf.d/bin/git-forgit index afb14642..4048eb09 100755 --- a/.config/fish/conf.d/bin/git-forgit +++ b/.config/fish/conf.d/bin/git-forgit @@ -42,27 +42,27 @@ _forgit_warn() { printf "%b[Warn]%b %s\n" '\e[0;33m' '\e[0m' "$@" >&2; } _forgit_info() { printf "%b[Info]%b %s\n" '\e[0;32m' '\e[0m' "$@" >&2; } _forgit_inside_work_tree() { git rev-parse --is-inside-work-tree >/dev/null; } # tac is not available on OSX, tail -r is not available on Linux, so we use either of them -_forgit_reverse_lines() { tac 2> /dev/null || tail -r; } +_forgit_reverse_lines() { tac 2>/dev/null || tail -r; } _forgit_previous_commit() { - # "SHA~" is invalid when the commit is the first commit, but we can use "--root" instead - if [[ "$(git rev-parse "$1")" == "$(git rev-list --max-parents=0 HEAD)" ]]; then - echo "--root" - else - echo "$1~" - fi + # "SHA~" is invalid when the commit is the first commit, but we can use "--root" instead + if [[ "$(git rev-parse "$1")" == "$(git rev-list --max-parents=0 HEAD)" ]]; then + echo "--root" + else + echo "$1~" + fi } _forgit_contains_non_flags() { - while (("$#")); do - case "$1" in - -*) shift ;; - *) - return 0 - ;; - esac - done - return 1 + while (("$#")); do + case "$1" in + -*) shift ;; + *) + return 0 + ;; + esac + done + return 1 } # optional render emoji characters (https://github.com/wfxr/emoji-cli) @@ -86,531 +86,563 @@ _forgit_is_file_tracked="(git ls-files {} --error-unmatch) &> /dev/null" # git commit viewer _forgit_log() { - _forgit_inside_work_tree || return 1 - local opts graph files log_format preview_cmd enter_cmd - files=$(sed -nE 's/.*-- (.*)/\1/p' <<< "$*") # extract files parameters for `git show` command - preview_cmd="echo {} | $_forgit_extract_sha | xargs -I% git show --color=always -U$_forgit_preview_context % -- $files | $_forgit_show_pager" - enter_cmd="echo {} | $_forgit_extract_sha | xargs -I% ${FORGIT} diff %^! $files" - opts=" - $FORGIT_FZF_DEFAULT_OPTS - +s +m --tiebreak=index - --bind=\"enter:execute($enter_cmd)\" - --bind=\"ctrl-y:execute-silent(echo {} | $_forgit_extract_sha | ${FORGIT_COPY_CMD:-pbcopy})\" - --preview=\"$preview_cmd\" - $FORGIT_LOG_FZF_OPTS - " - graph=--graph - [[ $FORGIT_LOG_GRAPH_ENABLE == false ]] && graph= - log_format=${FORGIT_GLO_FORMAT:-$_forgit_log_format} - eval "git log $graph --color=always --format='$log_format' $FORGIT_LOG_GIT_OPTS $* $_forgit_emojify" | - FZF_DEFAULT_OPTS="$opts" fzf - fzf_exit_code=$? - # exit successfully on 130 (ctrl-c/esc) - [[ $fzf_exit_code == 130 ]] && return 0 - return $fzf_exit_code + _forgit_inside_work_tree || return 1 + local opts graph files log_format preview_cmd enter_cmd + files=$(sed -nE 's/.*-- (.*)/\1/p' <<<"$*") # extract files parameters for `git show` command + preview_cmd="echo {} | $_forgit_extract_sha | xargs -I% git show --color=always -U$_forgit_preview_context % -- $files | $_forgit_show_pager" + enter_cmd="echo {} | $_forgit_extract_sha | xargs -I% ${FORGIT} diff %^! $files" +opts=" +$FORGIT_FZF_DEFAULT_OPTS ++s +m --tiebreak=index +--bind=\"enter:execute($enter_cmd)\" +--bind=\"ctrl-y:execute-silent(echo {} | $_forgit_extract_sha | ${FORGIT_COPY_CMD:-pbcopy})\" +--preview=\"$preview_cmd\" +$FORGIT_LOG_FZF_OPTS +" + graph=--graph + [[ $FORGIT_LOG_GRAPH_ENABLE == false ]] && graph= + log_format=${FORGIT_GLO_FORMAT:-$_forgit_log_format} + eval "git log $graph --color=always --format='$log_format' $FORGIT_LOG_GIT_OPTS $* $_forgit_emojify" | + FZF_DEFAULT_OPTS="$opts" fzf + fzf_exit_code=$? + # exit successfully on 130 (ctrl-c/esc) + [[ $fzf_exit_code == 130 ]] && return 0 + return $fzf_exit_code } # git diff viewer _forgit_diff() { - _forgit_inside_work_tree || return 1 - local files opts commits repo get_files preview_cmd enter_cmd - [[ $# -ne 0 ]] && { - if git rev-parse "$1" -- &>/dev/null ; then - if [[ $# -gt 1 ]] && git rev-parse "$2" -- &>/dev/null; then - commits="$1 $2" && files=("${@:3}") - else - commits="$1" && files=("${@:2}") - fi - else - files=("$@") - fi - } - repo="$(git rev-parse --show-toplevel)" - # Construct a null-terminated list of the filenames - # The input looks like one of these lines: - # [R100] file -> another file - # [A] file with spaces - # [D] oldfile - # And we transform it to this representation for further usage with "xargs -0": - # file\0another file\0 - # file with spaces\0 - # oldfile\0 - # We have to do a two-step sed -> tr pipe because OSX's sed implementation does - # not support the null-character directly. - get_files="echo {} | sed 's/.*] *//' | sed 's/ -> /\\\n/' | tr '\\\n' '\\\0'" - # Git stashes are named "stash@{x}", which contains the fzf placeholder "{x}". - # In order to support passing stashes as arguments to _forgit_diff, we have to - # prevent fzf from interpreting this substring by escaping the opening bracket. - # The string is evaluated a few subsequent times, so we need multiple escapes. - escaped_commits=${commits//\{/\\\\\{} - git_diff="git diff --color=always $FORGIT_DIFF_GIT_OPTS $escaped_commits" - preview_cmd="cd '$repo' && $get_files | xargs -0 $git_diff -U$_forgit_preview_context -- | $_forgit_diff_pager" - enter_cmd="cd '$repo' && $get_files | xargs -0 $git_diff -U$_forgit_fullscreen_context -- | $_forgit_diff_pager" - opts=" - $FORGIT_FZF_DEFAULT_OPTS - +m -0 --bind=\"enter:execute($enter_cmd | $_forgit_enter_pager)\" - --preview=\"$preview_cmd\" - --bind=\"alt-e:execute-silent($EDITOR \$\($get_files\) >/dev/tty \" - " - eval "git diff --name-status $FORGIT_DIFF_GIT_OPTS $commits -- ${files[*]} | sed -E 's/^([[:alnum:]]+)[[:space:]]+(.*)$/[\1] \2/'" | - sed 's/ / -> /2' | expand -t 8 | - FZF_DEFAULT_OPTS="$opts" fzf - fzf_exit_code=$? - # exit successfully on 130 (ctrl-c/esc) - [[ $fzf_exit_code == 130 ]] && return 0 - return $fzf_exit_code + _forgit_inside_work_tree || return 1 + local files opts commits repo get_files preview_cmd enter_cmd + [[ $# -ne 0 ]] && { + if git rev-parse "$1" -- &>/dev/null; then + if [[ $# -gt 1 ]] && git rev-parse "$2" -- &>/dev/null; then + commits="$1 $2" && files=("${@:3}") + else + commits="$1" && files=("${@:2}") + fi + else + files=("$@") + fi + } + repo="$(git rev-parse --show-toplevel)" + # Construct a null-terminated list of the filenames + # The input looks like one of these lines: + # [R100] file -> another file + # [A] file with spaces + # [D] oldfile + # And we transform it to this representation for further usage with "xargs -0": + # file\0another file\0 + # file with spaces\0 + # oldfile\0 + # We have to do a two-step sed -> tr pipe because OSX's sed implementation does + # not support the null-character directly. + get_files="echo {} | sed 's/.*] *//' | sed 's/ -> /\\\n/' | tr '\\\n' '\\\0'" + # Git stashes are named "stash@{x}", which contains the fzf placeholder "{x}". + # In order to support passing stashes as arguments to _forgit_diff, we have to + # prevent fzf from interpreting this substring by escaping the opening bracket. + # The string is evaluated a few subsequent times, so we need multiple escapes. + escaped_commits=${commits//\{/\\\\\{} + git_diff="git diff --color=always $FORGIT_DIFF_GIT_OPTS $escaped_commits" + preview_cmd="cd '$repo' && $get_files | xargs -0 $git_diff -U$_forgit_preview_context -- | $_forgit_diff_pager" + enter_cmd="cd '$repo' && $get_files | xargs -0 $git_diff -U$_forgit_fullscreen_context -- | $_forgit_diff_pager" +opts=" +$FORGIT_FZF_DEFAULT_OPTS ++m -0 --bind=\"enter:execute($enter_cmd | $_forgit_enter_pager)\" +--preview=\"$preview_cmd\" +--bind=\"alt-e:execute-silent($EDITOR \$\($get_files\) >/dev/tty \" +" + eval "git diff --name-status $FORGIT_DIFF_GIT_OPTS $commits -- ${files[*]} | sed -E 's/^([[:alnum:]]+)[[:space:]]+(.*)$/[\1] \2/'" | + sed 's/ / -> /2' | expand -t 8 | + FZF_DEFAULT_OPTS="$opts" fzf + fzf_exit_code=$? + # exit successfully on 130 (ctrl-c/esc) + [[ $fzf_exit_code == 130 ]] && return 0 + return $fzf_exit_code } # git add selector _forgit_add() { - _forgit_inside_work_tree || return 1 - local git_add changed unmerged untracked files opts preview extract - git_add="git add $FORGIT_ADD_GIT_OPTS" - # Add files if passed as arguments - [[ $# -ne 0 ]] && { $git_add "$@" && git status -su; return $?; } + _forgit_inside_work_tree || return 1 + local git_add changed unmerged untracked files opts preview extract + git_add="git add $FORGIT_ADD_GIT_OPTS" + # Add files if passed as arguments + [[ $# -ne 0 ]] && { + $git_add "$@" && git status -su + return $? + } - changed=$(git config --get-color color.status.changed red) - unmerged=$(git config --get-color color.status.unmerged red) - untracked=$(git config --get-color color.status.untracked red) - # NOTE: paths listed by 'git status -su' mixed with quoted and unquoted style - # remove indicators | remove original path for rename case | remove surrounding quotes - extract=" - sed 's/^.*] //' | - sed 's/.* -> //' | - sed -e 's/^\\\"//' -e 's/\\\"\$//'" - preview=" - file=\$(echo {} | $extract) - if (git status -s -- \\\"\$file\\\" | grep '^??') &>/dev/null; then # diff with /dev/null for untracked files - git diff --color=always --no-index -- /dev/null \\\"\$file\\\" | $_forgit_diff_pager | sed '2 s/added:/untracked:/' - else - git diff --color=always -- \\\"\$file\\\" | $_forgit_diff_pager - fi" + changed=$(git config --get-color color.status.changed red) + unmerged=$(git config --get-color color.status.unmerged red) + untracked=$(git config --get-color color.status.untracked red) + # NOTE: paths listed by 'git status -su' mixed with quoted and unquoted style + # remove indicators | remove original path for rename case | remove surrounding quotes +extract=" +sed 's/^.*] //' | +sed 's/.* -> //' | +sed -e 's/^\\\"//' -e 's/\\\"\$//'" +preview=" +file=\$(echo {} | $extract) +if (git status -s -- \\\"\$file\\\" | grep '^??') &>/dev/null; then # diff with /dev/null for untracked files + git diff --color=always --no-index -- /dev/null \\\"\$file\\\" | $_forgit_diff_pager | sed '2 s/added:/untracked:/' +else + git diff --color=always -- \\\"\$file\\\" | $_forgit_diff_pager + fi" opts=" - $FORGIT_FZF_DEFAULT_OPTS - -0 -m --nth 2..,.. - --preview=\"$preview\" - --bind=\"alt-e:execute-silent($EDITOR \$\(echo {} | $extract\) >/dev/tty /dev/tty newest when you multiselect - # The instances of "cut", "nl" and "sort" all serve this purpose - # Please see https://github.com/wfxr/forgit/issues/253 for more details + # in this function, we do something interesting to maintain proper ordering as it's assumed + # you generally want to cherry pick oldest->newest when you multiselect + # The instances of "cut", "nl" and "sort" all serve this purpose + # Please see https://github.com/wfxr/forgit/issues/253 for more details - preview="echo {} | cut -f2- | $_forgit_extract_sha | xargs -I% git show --color=always % | $_forgit_show_pager" + preview="echo {} | cut -f2- | $_forgit_extract_sha | xargs -I% git show --color=always % | $_forgit_show_pager" opts=" - $FORGIT_FZF_DEFAULT_OPTS - --preview=\"$preview\" - --multi --ansi --with-nth 2.. -0 --tiebreak=index - $FORGIT_CHERRY_PICK_FZF_OPTS + $FORGIT_FZF_DEFAULT_OPTS + --preview=\"$preview\" + --multi --ansi --with-nth 2.. -0 --tiebreak=index + $FORGIT_CHERRY_PICK_FZF_OPTS " - # Note: do not add any pipe after the fzf call here, otherwise the fzf_exitval is not propagated properly. - # Any eventual post processing can be done afterwards when the "commits" variable is assigned below. - fzf_selection=$(git log --right-only --color=always --cherry-pick --oneline "$base"..."$target" | nl | - FZF_DEFAULT_OPTS="$opts" fzf) - fzf_exitval=$? - [[ $fzf_exitval != 0 ]] && return $fzf_exitval - [[ -z "$fzf_selection" ]] && return $fzf_exitval + # Note: do not add any pipe after the fzf call here, otherwise the fzf_exitval is not propagated properly. + # Any eventual post processing can be done afterwards when the "commits" variable is assigned below. + fzf_selection=$(git log --right-only --color=always --cherry-pick --oneline "$base"..."$target" | nl | + FZF_DEFAULT_OPTS="$opts" fzf) + fzf_exitval=$? + [[ $fzf_exitval != 0 ]] && return $fzf_exitval + [[ -z "$fzf_selection" ]] && return $fzf_exitval - ${IFS+"false"} && unset old_IFS || old_IFS="$IFS" - IFS=$'\n' - # shellcheck disable=2207 - commits=($(echo "$fzf_selection" | sort --numeric-sort --key=1 | cut -f2 | cut -d' ' -f1 | _forgit_reverse_lines)) - ${old_IFS+"false"} && unset IFS || IFS="$old_IFS" - [ ${#commits[@]} -eq 0 ] && return 1 + ${IFS+"false"} && unset old_IFS || old_IFS="$IFS" + IFS=$'\n' + # shellcheck disable=2207 + commits=($(echo "$fzf_selection" | sort --numeric-sort --key=1 | cut -f2 | cut -d' ' -f1 | _forgit_reverse_lines)) + ${old_IFS+"false"} && unset IFS || IFS="$old_IFS" + [ ${#commits[@]} -eq 0 ] && return 1 - $git_cherry_pick "${commits[@]}" + $git_cherry_pick "${commits[@]}" } _forgit_cherry_pick_from_branch() { - _forgit_inside_work_tree || return 1 - local cmd preview opts branch exitval input_branch args base + _forgit_inside_work_tree || return 1 + local cmd preview opts branch exitval input_branch args base - base=$(git branch --show-current) - [[ -z "$base" ]] && echo "Current commit is not on a branch." && return 1 + base=$(git branch --show-current) + [[ -z "$base" ]] && echo "Current commit is not on a branch." && return 1 - args=("$@") - if [[ $# -ne 0 ]]; then - input_branch=${args[0]} - fi - cmd="git branch --color=always --all | LC_ALL=C sort -k1.1,1.1 -rs" - preview="git log --right-only --color=always --cherry-pick --oneline $base...{1}" + args=("$@") + if [[ $# -ne 0 ]]; then + input_branch=${args[0]} + fi + cmd="git branch --color=always --all | LC_ALL=C sort -k1.1,1.1 -rs" + preview="git log --right-only --color=always --cherry-pick --oneline $base...{1}" opts=" - $FORGIT_FZF_DEFAULT_OPTS - +s +m --tiebreak=index --header-lines=1 - --preview=\"$preview\" - $FORGIT_CHERRY_PICK_FROM_BRANCH_FZF_OPTS - " - # loop until either the branch selector is closed or a commit to be cherry - # picked has been selected from within a branch - while true - do - if [[ -z $input_branch ]]; then - branch="$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf | awk '{print $1}')" - else - branch=$input_branch - fi + $FORGIT_FZF_DEFAULT_OPTS + +s +m --tiebreak=index --header-lines=1 + --preview=\"$preview\" + $FORGIT_CHERRY_PICK_FROM_BRANCH_FZF_OPTS + " + # loop until either the branch selector is closed or a commit to be cherry + # picked has been selected from within a branch + while true; do + if [[ -z $input_branch ]]; then + branch="$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf | awk '{print $1}')" + else + branch=$input_branch + fi - unset input_branch - [[ -z "$branch" ]] && return 1 + unset input_branch + [[ -z "$branch" ]] && return 1 - _forgit_cherry_pick "$branch" + _forgit_cherry_pick "$branch" - exitval=$? - [[ $exitval != 130 ]] || [[ $# -ne 0 ]] && return $exitval - done + exitval=$? + [[ $exitval != 130 ]] || [[ $# -ne 0 ]] && return $exitval + done } _forgit_rebase() { - _forgit_inside_work_tree || return 1 - local git_rebase cmd preview opts graph files target_commit prev_commit - git_rebase="git rebase -i $FORGIT_REBASE_GIT_OPTS" - graph=--graph - [[ $FORGIT_LOG_GRAPH_ENABLE == false ]] && graph= - cmd="git log $graph --color=always --format='$_forgit_log_format' $* $_forgit_emojify" - files=$(sed -nE 's/.* -- (.*)/\1/p' <<< "$*") # extract files parameters for `git show` command - preview="echo {} | $_forgit_extract_sha | xargs -I% git show --color=always % -- $files | $_forgit_show_pager" + _forgit_inside_work_tree || return 1 + local git_rebase cmd preview opts graph files target_commit prev_commit + git_rebase="git rebase -i $FORGIT_REBASE_GIT_OPTS" + graph=--graph + [[ $FORGIT_LOG_GRAPH_ENABLE == false ]] && graph= + cmd="git log $graph --color=always --format='$_forgit_log_format' $* $_forgit_emojify" + files=$(sed -nE 's/.* -- (.*)/\1/p' <<<"$*") # extract files parameters for `git show` command + preview="echo {} | $_forgit_extract_sha | xargs -I% git show --color=always % -- $files | $_forgit_show_pager" opts=" - $FORGIT_FZF_DEFAULT_OPTS - +s +m --tiebreak=index - --bind=\"ctrl-y:execute-silent(echo {} | $_forgit_extract_sha | ${FORGIT_COPY_CMD:-pbcopy})\" - --preview=\"$preview\" - $FORGIT_REBASE_FZF_OPTS + $FORGIT_FZF_DEFAULT_OPTS + +s +m --tiebreak=index + --bind=\"ctrl-y:execute-silent(echo {} | $_forgit_extract_sha | ${FORGIT_COPY_CMD:-pbcopy})\" + --preview=\"$preview\" + $FORGIT_REBASE_FZF_OPTS " - target_commit=$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf | eval "$_forgit_extract_sha") - if [[ -n "$target_commit" ]]; then - prev_commit=$(_forgit_previous_commit "$target_commit") + target_commit=$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf | eval "$_forgit_extract_sha") + if [[ -n "$target_commit" ]]; then + prev_commit=$(_forgit_previous_commit "$target_commit") - $git_rebase "$prev_commit" - fi + $git_rebase "$prev_commit" + fi } _forgit_fixup() { - _forgit_inside_work_tree || return 1 - git diff --cached --quiet && echo 'Nothing to fixup: there are no staged changes.' && return 1 - local git_fixup cmd preview opts graph files target_commit prev_commit - git_fixup="git commit --fixup $FORGIT_FIXUP_GIT_OPTS" - graph=--graph - [[ $FORGIT_LOG_GRAPH_ENABLE == false ]] && graph= - cmd="git log $graph --color=always --format='$_forgit_log_format' $* $_forgit_emojify" - files=$(sed -nE 's/.* -- (.*)/\1/p' <<< "$*") - preview="echo {} | $_forgit_extract_sha | xargs -I% git show --color=always % -- $files | $_forgit_show_pager" + _forgit_inside_work_tree || return 1 + git diff --cached --quiet && echo 'Nothing to fixup: there are no staged changes.' && return 1 + local git_fixup cmd preview opts graph files target_commit prev_commit + git_fixup="git commit --fixup $FORGIT_FIXUP_GIT_OPTS" + graph=--graph + [[ $FORGIT_LOG_GRAPH_ENABLE == false ]] && graph= + cmd="git log $graph --color=always --format='$_forgit_log_format' $* $_forgit_emojify" + files=$(sed -nE 's/.* -- (.*)/\1/p' <<<"$*") + preview="echo {} | $_forgit_extract_sha | xargs -I% git show --color=always % -- $files | $_forgit_show_pager" opts=" - $FORGIT_FZF_DEFAULT_OPTS - +s +m --tiebreak=index - --bind=\"ctrl-y:execute-silent(echo {} | $_forgit_extract_sha | ${FORGIT_COPY_CMD:-pbcopy})\" - --preview=\"$preview\" - $FORGIT_FIXUP_FZF_OPTS + $FORGIT_FZF_DEFAULT_OPTS + +s +m --tiebreak=index + --bind=\"ctrl-y:execute-silent(echo {} | $_forgit_extract_sha | ${FORGIT_COPY_CMD:-pbcopy})\" + --preview=\"$preview\" + $FORGIT_FIXUP_FZF_OPTS " - target_commit=$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf | eval "$_forgit_extract_sha") - if [[ -n "$target_commit" ]] && $git_fixup "$target_commit"; then - prev_commit=$(_forgit_previous_commit "$target_commit") - # rebase will fail if there are unstaged changes so --autostash is needed to temporarily stash them - # GIT_SEQUENCE_EDITOR=: is needed to skip the editor - GIT_SEQUENCE_EDITOR=: git rebase --autostash -i --autosquash "$prev_commit" - fi + target_commit=$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf | eval "$_forgit_extract_sha") + if [[ -n "$target_commit" ]] && $git_fixup "$target_commit"; then + prev_commit=$(_forgit_previous_commit "$target_commit") + # rebase will fail if there are unstaged changes so --autostash is needed to temporarily stash them + # GIT_SEQUENCE_EDITOR=: is needed to skip the editor + GIT_SEQUENCE_EDITOR=: git rebase --autostash -i --autosquash "$prev_commit" + fi } # git checkout-file selector _forgit_checkout_file() { - _forgit_inside_work_tree || return 1 - local git_checkout cmd files opts - git_checkout="git checkout $FORGIT_CHECKOUT_FILE_GIT_OPTS" - [[ $# -ne 0 ]] && { $git_checkout -- "$@"; return $?; } - cmd="git diff --color=always -- {} | $_forgit_diff_pager" + _forgit_inside_work_tree || return 1 + local git_checkout cmd files opts + git_checkout="git checkout $FORGIT_CHECKOUT_FILE_GIT_OPTS" + [[ $# -ne 0 ]] && { + $git_checkout -- "$@" + return $? + } + cmd="git diff --color=always -- {} | $_forgit_diff_pager" opts=" - $FORGIT_FZF_DEFAULT_OPTS - -m -0 - --preview=\"$cmd\" - $FORGIT_CHECKOUT_FILE_FZF_OPTS + $FORGIT_FZF_DEFAULT_OPTS + -m -0 + --preview=\"$cmd\" + $FORGIT_CHECKOUT_FILE_FZF_OPTS " - files="$(git ls-files --modified "$(git rev-parse --show-toplevel)"| FZF_DEFAULT_OPTS="$opts" fzf)" - [[ -n "$files" ]] && echo "$files" | tr '\n' '\0' | $git_checkout --pathspec-file-nul --pathspec-from-file - + files="$(git ls-files --modified "$(git rev-parse --show-toplevel)" | FZF_DEFAULT_OPTS="$opts" fzf)" + [[ -n "$files" ]] && echo "$files" | tr '\n' '\0' | $git_checkout --pathspec-file-nul --pathspec-from-file - } # git checkout-branch selector _forgit_checkout_branch() { - _forgit_inside_work_tree || return 1 - # if called with arguments, check if branch exists, else create a new one - if [[ $# -ne 0 ]]; then - if [[ "$*" == "-" ]] || git show-branch "$@" &>/dev/null; then - git switch "$@" - else - git switch -c "$@" - fi - checkout_status=$? - git status --short - return $checkout_status - fi + _forgit_inside_work_tree || return 1 + # if called with arguments, check if branch exists, else create a new one + if [[ $# -ne 0 ]]; then + if [[ "$*" == "-" ]] || git show-branch "$@" &>/dev/null; then + git switch "$@" + else + git switch -c "$@" + fi + checkout_status=$? + git status --short + return $checkout_status + fi - local git_checkout cmd preview opts branch - cmd="git branch --color=always ${FORGIT_CHECKOUT_BRANCH_BRANCH_GIT_OPTS:---all} | LC_ALL=C sort -k1.1,1.1 -rs" - preview="git log {1} $_forgit_log_preview_options" + local git_checkout cmd preview opts branch + cmd="git branch --color=always ${FORGIT_CHECKOUT_BRANCH_BRANCH_GIT_OPTS:---all} | LC_ALL=C sort -k1.1,1.1 -rs" + preview="git log {1} $_forgit_log_preview_options" opts=" - $FORGIT_FZF_DEFAULT_OPTS - +s +m --tiebreak=index --header-lines=1 - --preview=\"$preview\" - $FORGIT_CHECKOUT_BRANCH_FZF_OPTS - " - branch="$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf | awk '{print $1}')" - [[ -z "$branch" ]] && return 1 + $FORGIT_FZF_DEFAULT_OPTS + +s +m --tiebreak=index --header-lines=1 + --preview=\"$preview\" + $FORGIT_CHECKOUT_BRANCH_FZF_OPTS + " + branch="$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf | awk '{print $1}')" + [[ -z "$branch" ]] && return 1 - git_checkout="git checkout $FORGIT_CHECKOUT_BRANCH_GIT_OPTS" - # track the remote branch if possible - if [[ "$branch" == "remotes/origin/"* ]]; then - if git branch | grep -qw "${branch#remotes/origin/}"; then - # hack to force creating a new branch which tracks the remote if a local branch already exists - $git_checkout -b "track/${branch#remotes/origin/}" --track "$branch" - elif ! $git_checkout --track "$branch" 2>/dev/null; then - $git_checkout "$branch" - fi - else - $git_checkout "$branch" - fi + git_checkout="git checkout $FORGIT_CHECKOUT_BRANCH_GIT_OPTS" + # track the remote branch if possible + if [[ "$branch" == "remotes/origin/"* ]]; then + if git branch | grep -qw "${branch#remotes/origin/}"; then + # hack to force creating a new branch which tracks the remote if a local branch already exists + $git_checkout -b "track/${branch#remotes/origin/}" --track "$branch" + elif ! $git_checkout --track "$branch" 2>/dev/null; then + $git_checkout "$branch" + fi + else + $git_checkout "$branch" + fi } # git checkout-tag selector _forgit_checkout_tag() { - _forgit_inside_work_tree || return 1 - local git_checkout cmd opts preview - git_checkout="git checkout $FORGIT_CHECKOUT_TAG_GIT_OPTS" - [[ $# -ne 0 ]] && { $git_checkout "$@"; return $?; } - cmd="git tag -l --sort=-v:refname" - preview="git log {1} $_forgit_log_preview_options" + _forgit_inside_work_tree || return 1 + local git_checkout cmd opts preview + git_checkout="git checkout $FORGIT_CHECKOUT_TAG_GIT_OPTS" + [[ $# -ne 0 ]] && { + $git_checkout "$@" + return $? + } + cmd="git tag -l --sort=-v:refname" + preview="git log {1} $_forgit_log_preview_options" opts=" - $FORGIT_FZF_DEFAULT_OPTS - +s +m --tiebreak=index - --preview=\"$preview\" - $FORGIT_CHECKOUT_TAG_FZF_OPTS + $FORGIT_FZF_DEFAULT_OPTS + +s +m --tiebreak=index + --preview=\"$preview\" + $FORGIT_CHECKOUT_TAG_FZF_OPTS " - tag="$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf)" - [[ -z "$tag" ]] && return 1 - $git_checkout "$tag" + tag="$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf)" + [[ -z "$tag" ]] && return 1 + $git_checkout "$tag" } # git checkout-commit selector _forgit_checkout_commit() { - _forgit_inside_work_tree || return 1 - local git_checkout cmd opts graph - git_checkout="git checkout $FORGIT_CHECKOUT_COMMIT_GIT_OPTS" - [[ $# -ne 0 ]] && { $git_checkout "$@"; return $?; } - cmd="echo {} | $_forgit_extract_sha |xargs -I% git show --color=always % | $_forgit_show_pager" + _forgit_inside_work_tree || return 1 + local git_checkout cmd opts graph + git_checkout="git checkout $FORGIT_CHECKOUT_COMMIT_GIT_OPTS" + [[ $# -ne 0 ]] && { + $git_checkout "$@" + return $? + } + cmd="echo {} | $_forgit_extract_sha |xargs -I% git show --color=always % | $_forgit_show_pager" opts=" - $FORGIT_FZF_DEFAULT_OPTS - +s +m --tiebreak=index - --bind=\"ctrl-y:execute-silent(echo {} | $_forgit_extract_sha | ${FORGIT_COPY_CMD:-pbcopy})\" - --preview=\"$cmd\" - $FORGIT_CHECKOUT_COMMIT_FZF_OPTS + $FORGIT_FZF_DEFAULT_OPTS + +s +m --tiebreak=index + --bind=\"ctrl-y:execute-silent(echo {} | $_forgit_extract_sha | ${FORGIT_COPY_CMD:-pbcopy})\" + --preview=\"$cmd\" + $FORGIT_CHECKOUT_COMMIT_FZF_OPTS " - graph=--graph - [[ $FORGIT_LOG_GRAPH_ENABLE == false ]] && graph= - # shellcheck disable=2086 - eval "git log $graph --color=always --format='$_forgit_log_format' $_forgit_emojify" | - FZF_DEFAULT_OPTS="$opts" fzf | eval "$_forgit_extract_sha" | xargs -I% $git_checkout % -- + graph=--graph + [[ $FORGIT_LOG_GRAPH_ENABLE == false ]] && graph= + # shellcheck disable=2086 + eval "git log $graph --color=always --format='$_forgit_log_format' $_forgit_emojify" | + FZF_DEFAULT_OPTS="$opts" fzf | eval "$_forgit_extract_sha" | xargs -I% $git_checkout % -- } _forgit_branch_delete() { - _forgit_inside_work_tree || return 1 - local git_branch preview opts cmd branches - git_branch="git branch $FORGIT_BRANCH_DELETE_GIT_OPTS" - [[ $# -ne 0 ]] && { $git_branch -D "$@"; return $?; } - preview="git log {1} $_forgit_log_preview_options" + _forgit_inside_work_tree || return 1 + local git_branch preview opts cmd branches + git_branch="git branch $FORGIT_BRANCH_DELETE_GIT_OPTS" + [[ $# -ne 0 ]] && { + $git_branch -D "$@" + return $? + } + preview="git log {1} $_forgit_log_preview_options" opts=" - $FORGIT_FZF_DEFAULT_OPTS - +s --multi --tiebreak=index --header-lines=1 - --preview=\"$preview\" - $FORGIT_BRANCH_DELETE_FZF_OPTS + $FORGIT_FZF_DEFAULT_OPTS + +s --multi --tiebreak=index --header-lines=1 + --preview=\"$preview\" + $FORGIT_BRANCH_DELETE_FZF_OPTS " - cmd="git branch --color=always | LC_ALL=C sort -k1.1,1.1 -rs" - branches=$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf | awk '{print $1}') - # shellcheck disable=2086 - echo -n "$branches" | tr '\n' '\0' | xargs -I{} -0 $git_branch -D {} + cmd="git branch --color=always | LC_ALL=C sort -k1.1,1.1 -rs" + branches=$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" fzf | awk '{print $1}') + # shellcheck disable=2086 + echo -n "$branches" | tr '\n' '\0' | xargs -I{} -0 $git_branch -D {} } # git revert-commit selector _forgit_revert_commit() { - _forgit_inside_work_tree || return 1 - local git_revert cmd opts files preview commits IFS - git_revert="git revert $FORGIT_REVERT_COMMIT_GIT_OPTS" - [[ $# -ne 0 ]] && { $git_revert "$@"; return $?; } + _forgit_inside_work_tree || return 1 + local git_revert cmd opts files preview commits IFS + git_revert="git revert $FORGIT_REVERT_COMMIT_GIT_OPTS" + [[ $# -ne 0 ]] && { + $git_revert "$@" + return $? + } - cmd="git log --graph --color=always --format='$_forgit_log_format' $* $_forgit_emojify" + cmd="git log --graph --color=always --format='$_forgit_log_format' $* $_forgit_emojify" opts=" - $FORGIT_FZF_DEFAULT_OPTS - +s --tiebreak=index - --ansi --with-nth 2.. - $FORGIT_REVERT_COMMIT_FZF_OPTS + $FORGIT_FZF_DEFAULT_OPTS + +s --tiebreak=index + --ansi --with-nth 2.. + $FORGIT_REVERT_COMMIT_FZF_OPTS " - # in this function, we do something interesting to maintain proper ordering as it's assumed - # you generally want to revert newest->oldest when you multiselect - # The instances of "cut", "nl" and "sort" all serve this purpose - # Please see https://github.com/wfxr/forgit/issues/253 for more details + # in this function, we do something interesting to maintain proper ordering as it's assumed + # you generally want to revert newest->oldest when you multiselect + # The instances of "cut", "nl" and "sort" all serve this purpose + # Please see https://github.com/wfxr/forgit/issues/253 for more details - files=$(sed -nE 's/.* -- (.*)/\1/p' <<< "$*") # extract files parameters for `git show` command - preview="echo {} | cut -f2- | $_forgit_extract_sha | xargs -I% git show --color=always % -- $files | $_forgit_show_pager" + files=$(sed -nE 's/.* -- (.*)/\1/p' <<<"$*") # extract files parameters for `git show` command + preview="echo {} | cut -f2- | $_forgit_extract_sha | xargs -I% git show --color=always % -- $files | $_forgit_show_pager" - ${IFS+"false"} && unset old_IFS || old_IFS="$IFS" - IFS=$'\n' - # shellcheck disable=2207 - commits=($(eval "$cmd" | - nl | - FZF_DEFAULT_OPTS="$opts" fzf --preview="$preview" -m | - sort --numeric-sort --key=1 | - cut -f2- | - sed 's/^[^a-f^0-9]*\([a-f0-9]*\).*/\1/')) - ${old_IFS+"false"} && unset IFS || IFS="$old_IFS" + ${IFS+"false"} && unset old_IFS || old_IFS="$IFS" + IFS=$'\n' + # shellcheck disable=2207 + commits=($(eval "$cmd" | + nl | + FZF_DEFAULT_OPTS="$opts" fzf --preview="$preview" -m | + sort --numeric-sort --key=1 | + cut -f2- | + sed 's/^[^a-f^0-9]*\([a-f0-9]*\).*/\1/')) + ${old_IFS+"false"} && unset IFS || IFS="$old_IFS" - [ ${#commits[@]} -eq 0 ] && return 1 + [ ${#commits[@]} -eq 0 ] && return 1 - $git_revert "${commits[@]}" + $git_revert "${commits[@]}" } # git blame viewer _forgit_blame() { - _forgit_inside_work_tree || return 1 - local git_blame opts flags preview file - git_blame="git blame $FORGIT_BLAME_GIT_OPTS" - _forgit_contains_non_flags "$@" && { $git_blame "$@"; return $?; } + _forgit_inside_work_tree || return 1 + local git_blame opts flags preview file + git_blame="git blame $FORGIT_BLAME_GIT_OPTS" + _forgit_contains_non_flags "$@" && { + $git_blame "$@" + return $? + } opts=" - $FORGIT_FZF_DEFAULT_OPTS - $FORGIT_BLAME_FZF_OPTS + $FORGIT_FZF_DEFAULT_OPTS + $FORGIT_BLAME_FZF_OPTS " - flags=$(git rev-parse --flags "$@") + flags=$(git rev-parse --flags "$@") preview=" - if $_forgit_is_file_tracked; then - git blame {} --date=short $FORGIT_BLAME_GIT_OPTS $flags | $_forgit_blame_pager - else - echo File not tracked - fi + if $_forgit_is_file_tracked; then + git blame {} --date=short $FORGIT_BLAME_GIT_OPTS $flags | $_forgit_blame_pager + else + echo File not tracked + fi " - file=$(FZF_DEFAULT_OPTS="$opts" fzf --preview="$preview") - [[ -z "$file" ]] && return 1 - # shellcheck disable=2086 - eval $git_blame "$file" "$flags" + file=$(FZF_DEFAULT_OPTS="$opts" fzf --preview="$preview") + [[ -z "$file" ]] && return 1 + # shellcheck disable=2086 + eval $git_blame "$file" "$flags" } # git ignore generator @@ -619,72 +651,72 @@ export FORGIT_GI_REPO_LOCAL="${FORGIT_GI_REPO_LOCAL:-${XDG_CACHE_HOME:-$HOME/.ca export FORGIT_GI_TEMPLATES=${FORGIT_GI_TEMPLATES:-$FORGIT_GI_REPO_LOCAL/templates} _forgit_ignore() { - [ -d "$FORGIT_GI_REPO_LOCAL" ] || _forgit_ignore_update - local IFS cmd args opts - cmd="$_forgit_ignore_pager $FORGIT_GI_TEMPLATES/{2}{,.gitignore} 2>/dev/null" + [ -d "$FORGIT_GI_REPO_LOCAL" ] || _forgit_ignore_update + local IFS cmd args opts + cmd="$_forgit_ignore_pager $FORGIT_GI_TEMPLATES/{2}{,.gitignore} 2>/dev/null" opts=" - $FORGIT_FZF_DEFAULT_OPTS - -m --preview-window='right:70%' - --preview=\"eval $cmd\" - $FORGIT_IGNORE_FZF_OPTS + $FORGIT_FZF_DEFAULT_OPTS + -m --preview-window='right:70%' + --preview=\"eval $cmd\" + $FORGIT_IGNORE_FZF_OPTS " - ${IFS+"false"} && unset old_IFS || old_IFS="$IFS" - IFS=$'\n' - # shellcheck disable=SC2206,2207 - args=($@) && [[ $# -eq 0 ]] && args=($(_forgit_ignore_list | nl -nrn -w4 -s' ' | - FZF_DEFAULT_OPTS="$opts" fzf | awk '{print $2}')) - ${old_IFS+"false"} && unset IFS || IFS="$old_IFS" - [ ${#args[@]} -eq 0 ] && return 1 - # shellcheck disable=SC2068 - _forgit_ignore_get ${args[@]} + ${IFS+"false"} && unset old_IFS || old_IFS="$IFS" + IFS=$'\n' + # shellcheck disable=SC2206,2207 + args=($@) && [[ $# -eq 0 ]] && args=($(_forgit_ignore_list | nl -nrn -w4 -s' ' | + FZF_DEFAULT_OPTS="$opts" fzf | awk '{print $2}')) + ${old_IFS+"false"} && unset IFS || IFS="$old_IFS" + [ ${#args[@]} -eq 0 ] && return 1 + # shellcheck disable=SC2068 + _forgit_ignore_get ${args[@]} } _forgit_ignore_update() { - if [[ -d "$FORGIT_GI_REPO_LOCAL" ]]; then - _forgit_info 'Updating gitignore repo...' - (cd "$FORGIT_GI_REPO_LOCAL" && git pull --no-rebase --ff) || return 1 - else - _forgit_info 'Initializing gitignore repo...' - git clone --depth=1 "$FORGIT_GI_REPO_REMOTE" "$FORGIT_GI_REPO_LOCAL" - fi + if [[ -d "$FORGIT_GI_REPO_LOCAL" ]]; then + _forgit_info 'Updating gitignore repo...' + (cd "$FORGIT_GI_REPO_LOCAL" && git pull --no-rebase --ff) || return 1 + else + _forgit_info 'Initializing gitignore repo...' + git clone --depth=1 "$FORGIT_GI_REPO_REMOTE" "$FORGIT_GI_REPO_LOCAL" + fi } _forgit_ignore_get() { - local item filename header - for item in "$@"; do - if filename=$(find -L "$FORGIT_GI_TEMPLATES" -type f \( -iname "${item}.gitignore" -o -iname "${item}" \) -print -quit); then - [[ -z "$filename" ]] && _forgit_warn "No gitignore template found for '$item'." && continue - header="${filename##*/}" && header="${header%.gitignore}" - echo "### $header" && cat "$filename" && echo - fi - done + local item filename header + for item in "$@"; do + if filename=$(find -L "$FORGIT_GI_TEMPLATES" -type f \( -iname "${item}.gitignore" -o -iname "${item}" \) -print -quit); then + [[ -z "$filename" ]] && _forgit_warn "No gitignore template found for '$item'." && continue + header="${filename##*/}" && header="${header%.gitignore}" + echo "### $header" && cat "$filename" && echo + fi + done } _forgit_ignore_list() { - find "$FORGIT_GI_TEMPLATES" -print |sed -e 's#.gitignore$##' -e 's#.*/##' | sort -fu + find "$FORGIT_GI_TEMPLATES" -print | sed -e 's#.gitignore$##' -e 's#.*/##' | sort -fu } _forgit_ignore_clean() { - setopt localoptions rmstarsilent - [[ -d "$FORGIT_GI_REPO_LOCAL" ]] && rm -rf "$FORGIT_GI_REPO_LOCAL" + setopt localoptions rmstarsilent + [[ -d "$FORGIT_GI_REPO_LOCAL" ]] && rm -rf "$FORGIT_GI_REPO_LOCAL" } valid_commands=( - "add" - "blame" - "branch_delete" - "checkout_branch" - "checkout_commit" - "checkout_file" - "checkout_tag" - "cherry_pick" - "cherry_pick_from_branch" - "clean" - "diff" - "fixup" - "ignore" - "log" - "rebase" - "reset_head" - "revert_commit" - "stash_show" - "stash_push" + "add" + "blame" + "branch_delete" + "checkout_branch" + "checkout_commit" + "checkout_file" + "checkout_tag" + "cherry_pick" + "cherry_pick_from_branch" + "clean" + "diff" + "fixup" + "ignore" + "log" + "rebase" + "reset_head" + "revert_commit" + "stash_show" + "stash_push" ) cmd="$1" @@ -692,14 +724,14 @@ shift # shellcheck disable=SC2076 if [[ ! " ${valid_commands[*]} " =~ " ${cmd} " ]]; then - if [[ -z "$cmd" ]]; then - printf "forgit: missing command\n\n" - else - printf "forgit: '%s' is not a valid forgit command.\n\n" "$cmd" - fi - printf "The following commands are supported:\n" - printf "\t%s\n" "${valid_commands[@]}" - exit 1 + if [[ -z "$cmd" ]]; then + printf "forgit: missing command\n\n" + else + printf "forgit: '%s' is not a valid forgit command.\n\n" "$cmd" + fi + printf "The following commands are supported:\n" + printf "\t%s\n" "${valid_commands[@]}" + exit 1 fi _forgit_"${cmd}" "$@" diff --git a/.config/fish/config.fish b/.config/fish/config.fish index d79a2867..9cc4570b 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -1,4 +1,7 @@ #source ~/.config/fish/variables.fish +set -xg fzf_preview_dir_cmd exa --long --header --icons --all --color=always --group-directories-first +set -xg fzf_fd_opts --hidden --exclude=.git +set -xg fzf_diff_highlighter delta --paging=never --width=20 if status is-interactive # Commands to run in interactive sessions can go here @@ -14,12 +17,14 @@ if status is-interactive source ~/.config/fish/functions/fzf_git.fish source ~/.config/fish/functions/fzf_git_all.fish + source ~/.config/fish/functions/fzf_forgit.fish + bind \cg fgit + bind \e\z zi colorscript random end starship init fish | source zoxide init fish | source -navi widget fish | source source ~/.config/fish/aliases.fish diff --git a/.config/fish/functions/fzf_forgit.fish b/.config/fish/functions/fzf_forgit.fish new file mode 100644 index 00000000..136f5b07 --- /dev/null +++ b/.config/fish/functions/fzf_forgit.fish @@ -0,0 +1,6 @@ +function fgit + set selected_command (functions | grep -o 'forgit::[^ ]*' | cut -d ':' -f 2- | sed 's/^://' | fzf) + if [ -n "$selected_command" ] + eval "forgit::$selected_command" + end +end diff --git a/.config/fish/functions/fzf_git.fish b/.config/fish/functions/fzf_git.fish index e8152004..dc5d802b 100644 --- a/.config/fish/functions/fzf_git.fish +++ b/.config/fish/functions/fzf_git.fish @@ -1,6 +1,6 @@ function repos set selected_dir (fd --type d --base-directory ~/Repos/ -H '^\.git$' | sed 's/\/\.git\/$//' | fzf) if test -n "$selected_dir" - cd "$selected_dir" + cd ~/Repos/"$selected_dir" end end diff --git a/.config/keyb/bindings/fish.yml b/.config/keyb/bindings/fish.yml index e69de29b..38856ab7 100644 --- a/.config/keyb/bindings/fish.yml +++ b/.config/keyb/bindings/fish.yml @@ -0,0 +1,35 @@ +- name: General + keybinds: + - name: Go to the Beginning of the Line + key: Ctrl + A + - name: Go to the End of the Line + key: Ctrl + E + - name: Switch to the Previous Command + key: Up Arrow Key + - name: Delete to the Beginning + key: Ctrl + U + - name: Cancel the Line + key: Ctrl + C + - name: Show the command man description + key: Alt + H + - name: Repeat the Last Argument + key: Alt + . + - name: Insert Sudo + key: Alt + S + +- name: Fzf + keybinds: + - name: Files and Folders + key: Ctrl + F + - name: Search Git Log + key: Ctrl + Alt + L + - name: Search Git Status + key: Ctrl + Alt + S + - name: Search HIstory + key: Ctrl + R + - name: Search Processes + key: Ctrl + Alt + P + - name: Search Variables + key: Ctrl + Alt + V + - name: Search Git Options + key: Ctrl + G \ No newline at end of file diff --git a/.config/keyb/bindings/geeqie.yml b/.config/keyb/bindings/geeqie.yml deleted file mode 100644 index e69de29b..00000000 diff --git a/.config/keyb/bindings/kitty.yml b/.config/keyb/bindings/kitty.yml index e69de29b..75a3498a 100644 --- a/.config/keyb/bindings/kitty.yml +++ b/.config/keyb/bindings/kitty.yml @@ -0,0 +1,86 @@ +- name: Scrolling + keybinds: + - name: Top + key: Ctrl + Shift + Home + - name: Bottom + key: Ctrl + Shift + End + +- name: Tabs + keybinds: + - name: New Tab + key: Ctrl + Shift + T + - name: Close Tab + key: Ctrl + Shift + Q + - name: Next Tab + key: Ctrl + Shift - Right Arrow Key + - name: Previous Tab + key: Ctrl + Shift - Left Arrow Key + - name: Move Tab Left + key: Ctrl + Shift + , + - name: Move Tab Right + key: Ctrl + Shift + . + - name: Cycle Tabs + key: Ctrl + Tab + +- name: Navigation + keybinds: + - name: Go Back + key: Backspace + - name: Go Forward + key: Alt + Right Arrow + - name: Go Up + key: Alt + Up Arrow + - name: Go Down + key: Alt + Down Arrow + - name: Go to Home Folder + key: Alt + Home + - name: Toggle Location Entry + key: Ctrl + L + +- name: View + keybinds: + - name: Zoom In + key: Ctrl + Plus + - name: Zoom Out + key: Ctrl + Minus + - name: Reset Zoom + key: Ctrl + 0 + - name: Refresh + key: F5 + - name: Toggle Hidden Files + key: Ctrl + H + - name: Toggle Sidebar + key: F9 + - name: Toggle Action Menu + key: F10 + - name: Icon View + key: Ctrl + 1 + - name: List View + key: Ctrl + 2 + - name: Compact View + key: Ctrl + 3 + +- name: Editing + keybinds: + - name: Create Folder + key: Ctrl + Shift + N + - name: Rename + key: F2 + - name: Move to Trash + key: Supr + - name: Delete Permanently + key: Shift + Supr + - name: Cut + key: Ctrl + X + - name: Copy + key: Ctrl + C + - name: Paste + key: Ctrl + V + - name: Select All + key: Ctrl + A + - name: Undo + key: Ctrl + Z + - name: Redo + key: Ctrl + Y + - name: Show Item Properties + key: Alt + Enter / Ctrl + I \ No newline at end of file diff --git a/.config/keyb/bindings/lazydocker.yml b/.config/keyb/bindings/lazydocker.yml new file mode 100644 index 00000000..575faab5 --- /dev/null +++ b/.config/keyb/bindings/lazydocker.yml @@ -0,0 +1,86 @@ +- name: Global + keybinds: + - name: Previous Tab + key: '[' + - name: Next Tab + key: ']' + - name: Filter List + key: '/' + - name: Focus Main Panel + key: Enter + - name: Run Predifinied Custom Command + key: c + - name: View Bulk Commands + key: b + +- name: Project + keybinds: + - name: Edit Lazydocker Config + key: e + - name: Open Lazydocker Config + key: o + - name: View Logs + key: m + +- name: Containers + keybinds: + - name: Remove + key: d + - name: Toggle Stopped Containers + key: e + - name: Pause + key: p + - name: Stop + key: s + - name: Restart + key: r + - name: Attach + key: a + - name: View Logs + key: m + - name: Exec Shell + key: E + - name: Open in Browser + key: w + +- name: Services + keybinds: + - name: Up Service + key: u + - name: Remove containers + key: d + - name: Pause + key: p + - name: Stop + key: s + - name: Restart + key: r + - name: Attach + key: a + - name: View Logs + key: m + - name: Up Project + key: U + - name: Down Project + key: D + - name: View Restart Options + key: R + - name: Exec Shell + key: E + - name: Open in Browser + key: w + +- name: Images + keybinds: + - name: Remove Image + key: d + +- name: Volumes + keybinds: + - name: Remove Volume + key: d + +- name: Networks + keybinds: + - name: Remove Network + key: d \ No newline at end of file diff --git a/.config/keyb/bindings/librewolf.yml b/.config/keyb/bindings/librewolf.yml index e69de29b..ee8d009d 100644 --- a/.config/keyb/bindings/librewolf.yml +++ b/.config/keyb/bindings/librewolf.yml @@ -0,0 +1,101 @@ +- name: Navigation + keybinds: + - name: Go Back + key: Alt + Left Arrow + - name: Go Forward + key: Alt + Right Arrow + - name: Reload + key: F5 / Ctrl + R + - name: Home + key: Alt + Home + - name: Open File + key: Ctrl + O + +- name: Current Page + keybinds: + - name: Print + key: Ctrl + P + - name: Zoom In + key: Ctrl + Plus + - name: Zoom Out + key: Ctrl + Minus + - name: Reset Zoom + key: Ctrl + 0 + - name: Save Page As + key: Ctrl + S + +- name: Editing + keybinds: + - name: Copy + key: Ctrl + C + - name: Cut + key: Ctrl + X + - name: Delete + key: Supr + - name: Paste + key: Ctrl + V + - name: Select All + key: Ctrl + A + - name: Undo + key: Ctrl + Z + - name: Redo + key: Ctrl + Y + +- name: Search + keybinds: + - name: Find in this Page + key: Ctrl + F + - name: Find Again + key: F3 + - name: Find Previous + key: Shift + F3 + - name: Focus Search Bar + key: F6 / Ctrl + K / Ctrl + J + +- name: Windows & Tabs + keybinds: + - name: New Window + key: Ctrl + N + - name: New Private Window + key: Ctrl + Shift + P + - name: Close Window or Tab + key: Ctrl + W + - name: Close all Windows + key: Ctrl + Q + - name: New Tab + key: Ctrl + T + - name: Go to Previous Tab + key: Ctrl + RePag + - name: Go to Next Tab + key: Ctrl + AvPag + - name: Switch to Tab 1-9 + key: Alt + 0-8 + - name: Move Tab Left + key: Ctrl + Shift + RePag + - name: Move Tab Right + key: Ctrl + Shift + AvPag + - name: Cycle Tabs + key: Ctrl + Tab + +- name: Windows & Tabs + keybinds: + - name: Downloads + key: Ctrl + Shift + Y + - name: Add-Ons + key: Ctrl + Shift + A + - name: Toggle Developer Tools + key: F12 + - name: Web Console + key: Ctrl + Shift + K + - name: Style Editor + key: Shift + F7 + - name: Network + key: Ctrl + Shift + E + - name: Responsive Design View + key: Ctrl + Shift + M + - name: Page Source + key: Ctrl + U + - name: Page Info + key: Ctrl + I + - name: History + key: Ctrl + H \ No newline at end of file diff --git a/.config/keyb/bindings/nemo.yml b/.config/keyb/bindings/nemo.yml index e69de29b..f90e6f2a 100644 --- a/.config/keyb/bindings/nemo.yml +++ b/.config/keyb/bindings/nemo.yml @@ -0,0 +1,109 @@ +- name: General + keybinds: + - name: New Window + key: Ctrl + N + - name: Close Window or Tab + key: Ctrl + W + - name: Close all Windows + key: Ctrl + Q + - name: Toggle Extra Pane + key: F3 + - name: Search + key: Ctrl + F + - name: Bookmark Current Location + key: Ctrl + D + - name: Edit Bookmarks + key: Ctrl + B + - name: Make Link + key: Ctrl + M + - name: Pin/Unpin Selection + key: Ctrl + Shift + D + +- name: Opening + keybinds: + - name: Open + key: Enter / Ctrl + D + - name: Open in New Tab + key: Ctrl + Shift + T + - name: Open in New Window + key: Ctrl + Shift + O + +- name: Tabs + keybinds: + - name: New Tab + key: Ctrl + T + - name: Go to Previous Tab + key: Ctrl + RePag + - name: Go to Next Tab + key: Ctrl + AvPag + - name: Switch to Tab 1-9 + key: Alt + 0-8 + - name: Move Tab Left + key: Ctrl + Shift + RePag + - name: Move Tab Right + key: Ctrl + Shift + AvPag + - name: Cycle Tabs + key: Ctrl + Tab + +- name: Navigation + keybinds: + - name: Go Back + key: Backspace + - name: Go Forward + key: Alt + Right Arrow + - name: Go Up + key: Alt + Up Arrow + - name: Go Down + key: Alt + Down Arrow + - name: Go to Home Folder + key: Alt + Home + - name: Toggle Location Entry + key: Ctrl + L + +- name: View + keybinds: + - name: Zoom In + key: Ctrl + Plus + - name: Zoom Out + key: Ctrl + Minus + - name: Reset Zoom + key: Ctrl + 0 + - name: Refresh + key: F5 + - name: Toggle Hidden Files + key: Ctrl + H + - name: Toggle Sidebar + key: F9 + - name: Toggle Action Menu + key: F10 + - name: Icon View + key: Ctrl + 1 + - name: List View + key: Ctrl + 2 + - name: Compact View + key: Ctrl + 3 + +- name: Editing + keybinds: + - name: Create Folder + key: Ctrl + Shift + N + - name: Rename + key: F2 + - name: Move to Trash + key: Supr + - name: Delete Permanently + key: Shift + Supr + - name: Cut + key: Ctrl + X + - name: Copy + key: Ctrl + C + - name: Paste + key: Ctrl + V + - name: Select All + key: Ctrl + A + - name: Undo + key: Ctrl + Z + - name: Redo + key: Ctrl + Y + - name: Show Item Properties + key: Alt + Enter / Ctrl + I \ No newline at end of file diff --git a/.config/keyb/bindings/nvim.yml b/.config/keyb/bindings/nvim.yml index e69de29b..134fedc8 100644 --- a/.config/keyb/bindings/nvim.yml +++ b/.config/keyb/bindings/nvim.yml @@ -0,0 +1,248 @@ +- name: Windows, Buffers and Tabs + keybinds: + - name: (Nor, Term) Go to the Left Window + key: Ctrl + h + - name: (Nor, Term) Go to the Right Window + key: Ctrl + l + - name: (Nor, Term) Go to the Uppper Window + key: Ctrl + k + - name: (Nor, Term) Go to the Bottom Window + key: Ctrl + j + - name: (Nor) Increase Window Height + key: Ctrl + Up Arrow Key + - name: (Nor) Decrease Window Height + key: Ctrl + Down Arrow Key + - name: (Nor) Increase Window Width + key: Ctrl + Right Arrow Key + - name: (Nor) Decrease Window Width + key: Ctrl + Left Arrow Key + - name: (Nor) Previous Buffer + key: Shift + h / [ + b + - name: (Nor) Next Buffer + key: Shift + l / ] + b + - name: (Nor) Switch to Other Buffer + key: Space + b + b + - name: (Nor) Switch to Other Window + key: Space + w + w + - name: (Nor) Delete Buffer + key: Space + b + d + - name: (Nor) Delete Window + key: Space + w + d + - name: (Nor) Split Window Horizontally + key: Space + w + - / Space + - + - name: (Nor) Split Window Vertically + key: Space + w + | / Space + | + - name: (Nor) New Tab + key: Space + Tab + Tab + - name: (Nor) Previous Tab + key: Space + Tab + [ + - name: (Nor) Next Tab + key: Space + Tab + ] + - name: (Nor) First Tab + key: Space + Tab + f + - name: (Nor) Last Tab + key: Space + Tab + l + - name: (Nor) Close Tab + key: Space + Tab + d + +- name: Debug + keybinds: + - name: (Nor) Breakpoint Condition + key: Space + d + B + - name: (Nor) Toggle Breakpoint + key: Space + d + b + - name: (Nor) Continue + key: Space + d + c + - name: (Nor) Run to Cursor + key: Space + d + C + - name: (Nor) Go to line (no execute) + key: Space + d + g + - name: (Nor) Step Into + key: Space + d + i + - name: (Nor) Down + key: Space + d + j + - name: (Nor) Up + key: Space + d + k + - name: (Nor) Run Last + key: Space + d + l + - name: (Nor) Step Out + key: Space + d + o + - name: (Nor) Step Over + key: Space + d + O + - name: (Nor) Pause + key: Space + d + p + - name: (Nor) Toggle REPL + key: Space + d + r + - name: (Nor) Session + key: Space + d + s + - name: (Nor) Terminate + key: Space + d + t + - name: (Nor) Widgets + key: Space + d + w + - name: (Nor) Dap UI + key: Space + d + u + - name: (Nor, Virt) Eval + key: Space + d + e + - name: (Nor) Debug Method (Python) + key: Space + d + P + t + - name: (Nor) Debug Class (Python) + key: Space + d + P + c + +- name: Test + keybinds: + - name: (Nor) Run File + key: Space + t + t + - name: (Nor) Run All Test Files + key: Space + t + T + - name: (Nor) Run Nearest + key: Space + t + r + - name: (Nor) Debug Nearest + key: Space + t + d + - name: (Nor) Toggle Summary + key: Space + t + s + - name: (Nor) Show Output + key: Space + t + o + - name: (Nor) Toggle Output Panel + key: Space + t + O + - name: (Nor) Stop + key: Space + t + S + +- name: Git & File Version Control + keybinds: + - name: (Nor) Lazygit (root) + key: Space + g + g + - name: (Nor) Lazygit (cwd) + key: Space + g + G + - name: (Nor) Commits + key: Space + g + c + - name: (Nor) Status + key: Space + g + s + - name: (Nor) Blame Line + key: Space + g + h + b + - name: (Nor) Diff This ~ + key: Space + g + h + D + - name: (Nor) Diff This + key: Space + g + h + d + - name: (Nor) Preview Hunk + key: Space + g + p + - name: (Nor) Reset Buffer + key: Space + g + R + - name: (Nor) Reset Hunk + key: Space + g + h + r + - name: (Nor) Stage Buffer + key: Space + g + h + S + - name: (Nor) Stage Hunk + key: Space + g + h + s + - name: (Nor) Undo Stage Hunk + key: Space + g + h + u + - name: (Nor) Toggle UndoTree + key: Space + g + U + - name: (Nor) UndoTree (Telescope) + key: Space + g + u + - name: (Nor) Undo Changes + key: u + - name: (Nor) Redo Changes + key: Ctrl + r + - name: (Nor) Save File + key: Ctrl + s + +- name: Annotations & Comments + keybinds: + - name: (Nor) Class + key: Space + a + c + - name: (Nor) Default + key: Space + a + d + - name: (Nor) File + key: Space + a + F + - name: (Nor) Function + key: Space + a + f + - name: (Nor) Type + key: Space + a + t + - name: (Nor) Todo (Telescope) + key: Space + s + t + - name: (Nor) Todo/Fix/Fixme (Telescope) + key: Space + s + T + - name: (Nor) Todo (Trouble) + key: Space + x + t + - name: (Nor) Todo/Fix/Fixme (Trouble) + key: Space + x + T + +- name: File Management + keybinds: + - name: (Nor) Buffers (Telescope) + key: Space + f + b + - name: (Nor) Lazydocker + key: Space + f + d + - name: (Nor) File Explorer (cwd) + key: Space + f + e / Space + e + - name: (Nor) File Explorer (root) + key: Space + f + E / Space + E + - name: (Nor) Find Files (cwd) (Telescope) + key: Space + f + F + - name: (Nor) Find Files (root) (Telescope) + key: Space + f + f / Space + Space + - name: (Nor) New File + key: Space + f + n + - name: (Nor) Recent Files (cwd) (Telescope) + key: Space + f + R + - name: (Nor) Recent Files (Telescope) + key: Space + f + r + - name: (Nor) Workspaces (Telescope) + key: Space + f + w + - name: (Nor) Xplr (cwd) + key: Space + f + X + - name: (Nor) Xplr + key: Space + f + x (root) + + +- name: Terminal + keybinds: + - name: (Nor) New Terminal (root) + key: Space + f + t + - name: (Nor) New Terminal (cwd) + key: Space + f + T + - name: (Nor) Terminals (Telescope) + key: Space + T + - name: (Nor) Toggle Terminal + key: Ctrl + / | Ctrl + Enter + +- name: Compile + keybinds: + - name: (Nor) Compiler (Telescope) + key: Space + c + c + c + - name: (Nor) Redo Compiler + key: Space + c + c + R + - name: (Nor) Compiler Result + key: Space + c + c + r + +- name: Misc + keybinds: + - name: Directory Size (root) (Dua Cli) + key: Space + s + s + - name: Directory Size (cwd) (Dua Cli) + key: Space + s + S + +- name: Diagnostics + keybinds: + - name: (Nor) Document Diagnostics (Trouble) + key: Space + x + x + - name: (Nor) Workspace Diagnostics (Trouble) + key: Space + x + X + - name: (Nor) Location List + key: Space + x + L + - name: (Nor) QuickFix List + key: Space + x + Q + - name: (Nor) Previous Diagnostic + key: '[q' + - name: (Nor) Next Diagnostic + key: ']q' + - name: (Nor) Recent Files (cwd) (Telescope) + key: Space + f + R + - name: (Nor) Recent Files (Telescope) + key: Space + f + r + - name: (Nor) Workspaces (Telescope) + key: Space + f + w + - name: (Nor) Xplr (cwd) + key: Space + f + X + - name: (Nor) Xplr + key: Space + f + x (root) diff --git a/.config/keyb/bindings/pinta.yml b/.config/keyb/bindings/pinta.yml deleted file mode 100644 index e69de29b..00000000 diff --git a/.config/keyb/bindings/thunderbird.yml b/.config/keyb/bindings/thunderbird.yml index e69de29b..cdd50d23 100644 --- a/.config/keyb/bindings/thunderbird.yml +++ b/.config/keyb/bindings/thunderbird.yml @@ -0,0 +1,89 @@ +- name: Message Functions + keybinds: + - name: New Message + key: Ctrl + N + - name: Reply to Message (Sender only) + key: Ctrl + R + - name: Reply to Message (All) + key: Ctrl + Shift + R + - name: Reply to List + key: Ctrl + Shift + L + - name: Forward Message + key: Ctrl + L + - name: Edit Message as New + key: Ctrl + D + - name: Get New Messages (Current Account) + key: F5 + - name: Get New Messages (All Accounts) + key: Shift + F5 + - name: Open Message + key: Enter / Ctrl + O + - name: Expand Thread + key: Right Arrow Key + - name: Collapse Thread + key: Left Arrow Key + - name: Expand All Threads + key: '*' + - name: Collapse All Threads + key: '\' + - name: Save Message + key: Ctrl + S + - name: Select all Messages + key: Ctrl + A + - name: Select Thread + key: Ctrl + Shift + A + - name: Archive Message + key: A + - name: Mark Thread as Read + key: R + - name: Mark as Junk + key: J + - name: Mark as Read + key: Shift + C + - name: Toggle Star + key: S + +- name: Search and Filter + keybinds: + - name: Search all Messages + key: Ctrl + K + - name: Quick Filter (Messages in current folder or view) + key: Ctrl + Shift + K + - name: Find Text in Message + key: Ctrl + F + +- name: Moving + keybinds: + - name: Startpage + key: Alt + Home + - name: Go to Next Message + key: F + - name: Go to Previous Message + key: B + - name: Move to Next UI Area + key: F6 + - name: Move to Previous UI Area + key: Shift + F6 + - name: Next Tab + key: Ctrl + Tab + - name: Previous Tab + key: Ctrl + Shift + Tab + - name: Address Book + key: Ctrl + Shift + B + - name: Toggle Message Pane + key: F8 + - name: Close Window or Tab + key: Ctrl + W + +- name: Calendar + keybinds: + - name: Toggle Today Pane + key: F11 + - name: New Event + key: Ctrl + I + - name: Go to Today + key: Alt + End + - name: Go to Next Day + key: ']' + - name: Go to Previous Day + key: '[' \ No newline at end of file diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index 5fe2bd19..9632daa7 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -6,10 +6,10 @@ #: individual font faces and even specify special fonts for particular #: characters. -font_family JetBrains Mono Light -bold_font auto -italic_font auto -bold_italic_font auto +font_family JetBrainsMono Nerd Font Thin +bold_font JetBrainsMono Nerd Font Light +italic_font JetBrainsMono Nerd Font Italic +bold_italic_font JetBrainsMono Nerd Font Medium Italic #: You can specify different fonts for the bold/italic/bold-italic #: variants. To get a full list of supported fonts use the `kitty @@ -1842,6 +1842,7 @@ map kitty_mod+, move_tab_backward map kitty_mod+alt+t set_tab_title map shift+cmd+i set_tab_title +map ctrl+t set_tab_title #: You can also create shortcuts to go to specific tabs, with 1 being diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 9201fca0..ac22afd7 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,71 +1,73 @@ { "LazyVim": { "branch": "main", "commit": "aa1cccf230a01bd85d5173f7d87f782fd83caa88" }, "LuaSnip": { "branch": "master", "commit": "c4d6298347f7707e9757351b2ee03d0c00da5c20" }, - "SchemaStore.nvim": { "branch": "main", "commit": "b56b6ac795d988fa3522b279674990120e76b231" }, - "alpha-nvim": { "branch": "main", "commit": "7a6b9487dba044a43fde534bf5036f0fda5b6b23" }, + "SchemaStore.nvim": { "branch": "main", "commit": "c7c6353db3208608786503cbade1e9f8d3531f15" }, + "alpha-nvim": { "branch": "main", "commit": "63a860e7ed3ae41ee92481ea65a48fb35431ae21" }, "autolist.nvim": { "branch": "main", "commit": "5f70a5f99e96c8fe3069de042abd2a8ed2deb855" }, "bufferline.nvim": { "branch": "main", "commit": "417b303328118b6d836ae330142e88771c48a8a3" }, - "catppuccin": { "branch": "main", "commit": "b573866ef64122119668f375ebb794bcb3b518e2" }, + "catppuccin": { "branch": "main", "commit": "2e3e5ebcdc24ef0d5b14a0a999dbbe7936512c46" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "color-picker.nvim": { "branch": "master", "commit": "06cb5f853535dea529a523e9a0e8884cdf9eba4d" }, + "compiler.nvim": { "branch": "main", "commit": "a9d16b1aa866dca315eb7c2da2f29b5e634cb0ba" }, "copilot-cmp": { "branch": "master", "commit": "d631b3afbf26bb17d6cf2b3cd8f3d79e7d5eeca1" }, - "copilot.lua": { "branch": "master", "commit": "4f6329cd3c94ad367088cdab3310739eded5acea" }, + "copilot.lua": { "branch": "master", "commit": "0fa30d6846aae1af1c94a9ead93fa7dcf8affbe6" }, "crates.nvim": { "branch": "main", "commit": "d5caf28aba49e81ac4099426231f3cf3c151013a" }, - "dressing.nvim": { "branch": "master", "commit": "ee571505f3566f84fd252e76c4ce6df6eaf2fb94" }, + "dressing.nvim": { "branch": "master", "commit": "c7b035de7f91bb6b62b4308f105c56d1a968b8c5" }, "flash.nvim": { "branch": "main", "commit": "967117690bd677cb7b6a87f0bc0077d2c0be3a27" }, - "friendly-snippets": { "branch": "main", "commit": "377d45475b49e37460a902d6d569d2093d4037d0" }, - "gitsigns.nvim": { "branch": "main", "commit": "749267aaa863c30d721c9913699c5d94e0c07dd3" }, - "glance.nvim": { "branch": "master", "commit": "ec19dbdabd47fc2f094f7457a84ae78e7c9b5610" }, + "friendly-snippets": { "branch": "main", "commit": "7ff46f90aad07a9be1eb9e2f24e5d7256ecc766b" }, + "gitsigns.nvim": { "branch": "main", "commit": "d8590288417fef2430f85bc8b312fae8b1cf2c40" }, + "glance.nvim": { "branch": "master", "commit": "8ed5cf3b3b1231ea696d88c9efd977027429d869" }, + "highlight-undo.nvim": { "branch": "main", "commit": "d9e674a2eb4d95ee16cd477d47eab7ddc586e336" }, "indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" }, "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "markdown-preview.nvim": { "branch": "master", "commit": "02cc3874738bc0f86e4b91f09b8a0ac88aef8e96" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "2997f467881ac4faa6f8c5e7065e3a672297c8ad" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "6148b51db945b55b3b725da39eaea6441e59dff8" }, - "mason.nvim": { "branch": "main", "commit": "a51c2d063c5377ee9e58c5f9cda7c7436787be72" }, + "mason.nvim": { "branch": "main", "commit": "c811fbf09c7642eebb37d6694f1a016a043f6ed3" }, "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "e62babc62c7f8de579ad69d0a5d2613bff864126" }, - "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, - "neodev.nvim": { "branch": "main", "commit": "f8a4200951189f7c831cfb698a2e05791e9fd83c" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "9b5b4c874b13e372500f07c37187ba06c0c1ac0a" }, + "neoconf.nvim": { "branch": "main", "commit": "e7f98b9a12e2a741b84e6761e925fc2196ef460f" }, + "neodev.nvim": { "branch": "main", "commit": "183f5a7357397260b631d6cccceccc3621b50f78" }, "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, "neotest": { "branch": "master", "commit": "bec7be0f13ee19c85561943fc5f7b8daa4f4d465" }, "neotest-go": { "branch": "main", "commit": "f2580cad67ef0181403cf65858ab638ffd3ede9f" }, - "neotest-python": { "branch": "master", "commit": "054f22129405e747adfc2cbeddfcc59537df50ba" }, + "neotest-python": { "branch": "master", "commit": "81d2265efac717bb567bc15cc652ae10801286b3" }, "neotest-rust": { "branch": "main", "commit": "95161da0fbe0570395a938927b654931a82caecb" }, - "noice.nvim": { "branch": "main", "commit": "894db25ec726d32047799d4d0a982b701bec453b" }, - "nui.nvim": { "branch": "main", "commit": "9e3916e784660f55f47daa6f26053ad044db5d6a" }, + "noice.nvim": { "branch": "main", "commit": "791c7adda821fd03529f995df2ee284ad591dabd" }, + "nui.nvim": { "branch": "main", "commit": "0f913a3ae1a24c8a4487fbf111b4044cc22b1b0d" }, "null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, - "nvim-cmp": { "branch": "main", "commit": "51f1e11a89ec701221877532ee1a23557d291dd5" }, + "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-dap": { "branch": "master", "commit": "897c433ff2fbcf6f71a57bf18460d810e173d1e0" }, + "nvim-dap": { "branch": "master", "commit": "4377a05b9476587b7b485d6a9d9745768c4e4b37" }, "nvim-dap-go": { "branch": "main", "commit": "1b508e9db330108d3b5d62a6d9cc01fe6bbdd4e0" }, "nvim-dap-python": { "branch": "master", "commit": "37b4cba02e337a95cb62ad1609b3d1dccb2e5d42" }, "nvim-dap-ui": { "branch": "master", "commit": "85b16ac2309d85c88577cd8ee1733ce52be8227e" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "57f1dbd0458dd84a286b27768c142e1567f3ce3b" }, - "nvim-jdtls": { "branch": "master", "commit": "095dc490f362adc85be66dc14bd9665ddd94413b" }, - "nvim-lspconfig": { "branch": "master", "commit": "1cfb96490c3889a2c57d1ef5e1acc59e9b47c455" }, + "nvim-lspconfig": { "branch": "master", "commit": "a27356f1ef9c11e1f459cc96a3fcac5c265e72d6" }, "nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-numbertoggle": { "branch": "main", "commit": "1dcc1507578f6f216917065da9dac169670dbcd3" }, "nvim-regexplainer": { "branch": "main", "commit": "4250c8f3c1307876384e70eeedde5149249e154f" }, - "nvim-scrollview": { "branch": "main", "commit": "f826e74d6c20f535a7fa6a94308eacb99c07aba8" }, - "nvim-spectre": { "branch": "master", "commit": "eb17a856a6f17e03d8d610cbc00cd9f2f39e3fd7" }, - "nvim-treesitter": { "branch": "master", "commit": "05fe2c38a3bd4f889ac13f1735685ab348d95346" }, - "nvim-treesitter-context": { "branch": "master", "commit": "ce583c89c8db8d34cd5dff0dc91e13b446fdbe50" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "56272167a6dead91c47c02dbdbfe1ae5643c59f5" }, + "nvim-scrollview": { "branch": "main", "commit": "c943cc60d416fb6bee18f34bd0a2fffa58bb0379" }, + "nvim-spectre": { "branch": "master", "commit": "411cee67fe3f8242023eb8d9edafefbbfb2d06f1" }, + "nvim-treesitter": { "branch": "master", "commit": "d0b17cc0b9c8c3055530770a9dd4de659232c692" }, + "nvim-treesitter-context": { "branch": "master", "commit": "64828e2665081de062f426641c7049eb7f446599" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "e3e2b6de4ccf781fb653a3a1d397aeb4a0095609" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "9bff161dfece6ecf3459e6e46ca42e49f9ed939f" }, "nvim-web-devicons": { "branch": "master", "commit": "cfc8824cc1db316a276b36517f093baccb8e799a" }, + "overseer.nvim": { "branch": "master", "commit": "3047ede61cc1308069ad1184c0d447ebee92d749" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, - "plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" }, + "plenary.nvim": { "branch": "master", "commit": "0dbe561ae023f02c2fb772b879e905055b939ce3" }, "presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, "rust-tools.nvim": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, @@ -74,17 +76,18 @@ "telescope-all-recent.nvim": { "branch": "main", "commit": "dee20f810aec14c31287988b3baa8c371900cf06" }, "telescope-floaterm.nvim": { "branch": "main", "commit": "ccd3f40ae30dce5de0e5d0f5069e08e7d9ad6d23" }, "telescope-undo.nvim": { "branch": "main", "commit": "3dec002ea3e7952071d26fbb5d01e2038a58a554" }, - "telescope.nvim": { "branch": "master", "commit": "2d92125620417fbea82ec30303823e3cd69e90e8" }, + "telescope.nvim": { "branch": "master", "commit": "207285ccec21b69996a4d3bcfa59df35d48610e8" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" }, "trouble.nvim": { "branch": "main", "commit": "40aad004f53ae1d1ba91bcc5c29d59f07c5f01d3" }, "typescript.nvim": { "branch": "main", "commit": "4de85ef699d7e6010528dcfbddc2ed4c2c421467" }, "undotree": { "branch": "master", "commit": "0e11ba7325efbbb3f3bebe06213afa3e7ec75131" }, - "venv-selector.nvim": { "branch": "main", "commit": "4c5eec67bc388a61b80202818a2a47e9b9cb6a6f" }, + "venv-selector.nvim": { "branch": "main", "commit": "cf5d6b391ecd47cfdc77555d13a0ae69ae4fc6e9" }, "vim-floaterm": { "branch": "master", "commit": "bcaeabf89a92a924031d471395054d84bd88ce2f" }, "vim-illuminate": { "branch": "master", "commit": "76f28e858f1caae87bfa45fb4fd09e4b053fc45b" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "vim-wakatime": { "branch": "master", "commit": "0d2efa2daff34b27b0d227d4c3b136811c93db93" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, - "workspaces.nvim": { "branch": "master", "commit": "84ef675e998cf99c8ebe2b9e0a65fbaeea230e98" } + "workspaces.nvim": { "branch": "master", "commit": "a6fb4995333f927cc6f707890800fa7f7c476043" }, + "yanky.nvim": { "branch": "main", "commit": "95c2f006ea6eaed2b2d8b8b4943b8fcf13faf03f" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua index 67b490ef..25258b55 100644 --- a/.config/nvim/lua/config/keymaps.lua +++ b/.config/nvim/lua/config/keymaps.lua @@ -66,7 +66,7 @@ map( { desc = "Lazydocker" } ) -map("n", "t", ":Telescope floaterm", { desc = "Terminals" }) +map("n", "T", ":Telescope floaterm", { desc = "Terminals" }) map( "n", "ft", @@ -84,46 +84,30 @@ map("n", "", "FloatermNext", { desc = "Next Terminal" }) map("n", "", ":FloatermToggle", { desc = "Toggle Terminal" }) map("n", "", ":FloatermToggle", { desc = "Toggle Terminal" }) -vim.keymap.set("n", "fU", vim.cmd.UndotreeToggle, { noremap = true, silent = true, desc = "Toggle Undotree" }) -vim.api.nvim_set_keymap( - "i", - "", - ":lua require('neogen').jump_next", - { noremap = true, silent = true, desc = "Next Neogen Annotation" } -) -vim.api.nvim_set_keymap( - "i", - "", - ":lua require('neogen').jump_prev", - { noremap = true, silent = true, desc = "Prev Neogen Annotation" } -) +vim.keymap.set("n", "gU", vim.cmd.UndotreeToggle, { noremap = true, silent = true, desc = "Toggle Undotree" }) vim.keymap.set("n", "", "PickColor", { noremap = true, silent = true, desc = "Pick Color" }) vim.keymap.set("i", "", "PickColorInsert", { noremap = true, silent = true, desc = "Pick Color" }) -vim.keymap.set( - "n", - "spd", - "Glance definitions", - { noremap = true, silent = true, desc = "Glance definitions" } -) +map("n", "gd", "Glance definitions", { noremap = true, silent = true, desc = "Glance definitions" }) -vim.keymap.set( - "n", - "spr", - "Glance references", - { noremap = true, silent = true, desc = "Glance references" } -) +map("n", "gr", "Glance references", { noremap = true, silent = true, desc = "Glance references" }) +map("n", "gy", "Glance type_definitions", { noremap = true, silent = true, desc = "Glance type_definitions" }) +map("n", "gI", "Glance implementations", { noremap = true, silent = true, desc = "Glance implementations" }) + +-- Open compiler +vim.keymap.set("n", "ccc", "CompilerOpen", { noremap = true, silent = true, desc = "Open Compiler" }) + +vim.keymap.set("n", "ccR", function() + vim.cmd("CompilerStop") + vim.cmd("CompilerRedo") +end, { noremap = true, silent = true, desc = "Redo Compiler" }) + +-- Toggle compiler results vim.keymap.set( "n", - "spt", - "Glance type_definitions", - { noremap = true, silent = true, desc = "Glance type_definitions" } -) -vim.keymap.set( - "n", - "spi", - "Glance implementations", - { noremap = true, silent = true, desc = "Glance implementations" } + "ccr", + "CompilerToggleResults", + { noremap = true, silent = true, desc = "Toggle Compiler Results" } ) diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 9dff05f9..dc7ba926 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -19,13 +19,13 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.lang.python" }, { import = "lazyvim.plugins.extras.lang.docker" }, { import = "lazyvim.plugins.extras.lang.go" }, - { import = "lazyvim.plugins.extras.lang.java" }, { import = "lazyvim.plugins.extras.lang.rust" }, { import = "lazyvim.plugins.extras.lang.tailwind" }, { import = "lazyvim.plugins.extras.linting.eslint" }, { import = "lazyvim.plugins.extras.formatting.prettier" }, { import = "lazyvim.plugins.extras.coding.copilot" }, { import = "lazyvim.plugins.extras.lang.yaml" }, + { import = "lazyvim.plugins.extras.coding.yanky" }, { import = "plugins" }, }, defaults = { diff --git a/.config/nvim/lua/plugins/alpha.lua b/.config/nvim/lua/plugins/alpha.lua index 965f0b45..534f09d7 100644 --- a/.config/nvim/lua/plugins/alpha.lua +++ b/.config/nvim/lua/plugins/alpha.lua @@ -4,6 +4,15 @@ return { event = "VimEnter", optional = true, opts = function(_, dashboard) + local logo = [[ + ███╗ ███╗ █████╗ ████████╗████████╗██╗ ██╗██╗███╗ ███╗ + ████╗ ████║██╔══██╗╚══██╔══╝╚══██╔══╝██║ ██║██║████╗ ████║ + ██╔████╔██║███████║ ██║ ██║ ██║ ██║██║██╔████╔██║ + ██║╚██╔╝██║██╔══██║ ██║ ██║ ╚██╗ ██╔╝██║██║╚██╔╝██║ + ██║ ╚═╝ ██║██║ ██║ ██║ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║ + ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ + ]] + dashboard.section.header.val = vim.split(logo, "\n") local button = dashboard.button("w", " " .. " Workspaces", ":Telescope workspaces ") button.opts.hl = "AlphaButtons" button.opts.hl_shortcut = "AlphaShortcut" diff --git a/.config/nvim/lua/plugins/colorizer.lua b/.config/nvim/lua/plugins/colorizer.lua index d2011102..505382ce 100644 --- a/.config/nvim/lua/plugins/colorizer.lua +++ b/.config/nvim/lua/plugins/colorizer.lua @@ -1,7 +1,6 @@ return { { "NvChad/nvim-colorizer.lua", - event = "BufReadPost", config = function() require("colorizer").setup() end, diff --git a/.config/nvim/lua/plugins/compiler.lua b/.config/nvim/lua/plugins/compiler.lua new file mode 100644 index 00000000..4c2f4d41 --- /dev/null +++ b/.config/nvim/lua/plugins/compiler.lua @@ -0,0 +1,8 @@ +return { + { + "Zeioth/compiler.nvim", + cmd = { "CompilerOpen", "CompilerToggleResults", "CompilerRedo" }, + dependencies = { "stevearc/overseer.nvim" }, + opts = {}, + } +} diff --git a/.config/nvim/lua/plugins/floaterm.lua b/.config/nvim/lua/plugins/floaterm.lua index f099d5fe..1738a5c1 100644 --- a/.config/nvim/lua/plugins/floaterm.lua +++ b/.config/nvim/lua/plugins/floaterm.lua @@ -1,10 +1,6 @@ return { { "voldikss/vim-floaterm", - "dawsers/telescope-floaterm.nvim", cmd = { "FloatermNew", "FloatermToggle", "FloatermNext", "FloatermPrev" }, - config = function(_, opts) - require("telescope").load_extension("floaterm") - end, }, } diff --git a/.config/nvim/lua/plugins/highlight-undo.lua b/.config/nvim/lua/plugins/highlight-undo.lua new file mode 100644 index 00000000..0bb60abd --- /dev/null +++ b/.config/nvim/lua/plugins/highlight-undo.lua @@ -0,0 +1,11 @@ +return { + { + "tzachar/highlight-undo.nvim", + event = "BufReadPost", + config = function() + require("highlight-undo").setup({ + duration = 700, + }) + end, + }, +} diff --git a/.config/nvim/lua/plugins/lspconfig.lua b/.config/nvim/lua/plugins/lspconfig.lua new file mode 100644 index 00000000..602c90cd --- /dev/null +++ b/.config/nvim/lua/plugins/lspconfig.lua @@ -0,0 +1,12 @@ +return { + { + "neovim/nvim-lspconfig", + init = function() + local keys = require("lazyvim.plugins.lsp.keymaps").get() + keys[#keys + 1] = { "gd", "Definitions" } + keys[#keys + 1] = { "gr", "References" } + keys[#keys + 1] = { "gy", "T[y]pe_definitions" } + keys[#keys + 1] = { "gI", "Implementations" } + end, + }, +} diff --git a/.config/nvim/lua/plugins/overseer.lua b/.config/nvim/lua/plugins/overseer.lua new file mode 100644 index 00000000..317b4a35 --- /dev/null +++ b/.config/nvim/lua/plugins/overseer.lua @@ -0,0 +1,20 @@ +return { + { + "stevearc/overseer.nvim", + commit = "3047ede61cc1308069ad1184c0d447ebee92d749", + cmd = { "CompilerOpen", "CompilerToggleResults", "CompilerRedo" }, + opts = { + task_list = { + direction = "bottom", + min_height = 25, + max_height = 27, + default_detail = 1, + bindings = { + ["q"] = function() + vim.cmd("OverseerClose") + end, + }, + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/telescope-all-recent.lua b/.config/nvim/lua/plugins/telescope-all-recent.lua index 6af51e93..138b4ad1 100644 --- a/.config/nvim/lua/plugins/telescope-all-recent.lua +++ b/.config/nvim/lua/plugins/telescope-all-recent.lua @@ -1,6 +1,7 @@ return { { "prochri/telescope-all-recent.nvim", + event = "VeryLazy", config = function() require("telescope-all-recent").setup({ pickers = { diff --git a/.config/nvim/lua/plugins/telescope-floaterm.lua b/.config/nvim/lua/plugins/telescope-floaterm.lua new file mode 100644 index 00000000..76ef7542 --- /dev/null +++ b/.config/nvim/lua/plugins/telescope-floaterm.lua @@ -0,0 +1,10 @@ +return { + { + "dawsers/telescope-floaterm.nvim", + opts = {}, + event = "VeryLazy", + config = function(_, opts) + require("telescope").load_extension("floaterm") + end, + }, +} diff --git a/.config/nvim/lua/plugins/undotree-telescope.lua b/.config/nvim/lua/plugins/telescope-undotree.lua similarity index 100% rename from .config/nvim/lua/plugins/undotree-telescope.lua rename to .config/nvim/lua/plugins/telescope-undotree.lua diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua index 133fd168..d35dcc63 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/.config/nvim/lua/plugins/telescope.lua @@ -8,7 +8,6 @@ return { version = false, -- telescope did only one release, so use HEAD for now dependencies = {}, keys = { - { ",", "Telescope buffers show_all_buffers=true", @@ -87,7 +86,7 @@ return { { "sm", "Telescope marks", desc = "Jump to Mark" }, { "so", "Telescope vim_options", desc = "Options" }, { "sR", "Telescope resume", desc = "Resume" }, - { "fu", "Telescope undo", desc = "Telescope Undotree" }, + { "gu", "Telescope undo", desc = "Telescope Undotree" }, { "sw", Util.telescope("grep_string", { word_match = "-w" }), diff --git a/.config/nvim/lua/plugins/which-key.lua b/.config/nvim/lua/plugins/which-key.lua index 97fc1460..517b8404 100644 --- a/.config/nvim/lua/plugins/which-key.lua +++ b/.config/nvim/lua/plugins/which-key.lua @@ -22,7 +22,7 @@ return { ["u"] = { name = "+ui" }, ["w"] = { name = "+windows" }, ["x"] = { name = "+diagnostics/quickfix" }, - ["sp"] = { name = "+peek" }, + ["cc"] = { name = "+compile" }, }, }, config = function(_, opts) diff --git a/.config/obs-studio/basic/scenes/Sin Título.json b/.config/obs-studio/basic/scenes/Sin Título.json index 62bc7875..97963a9b 100644 --- a/.config/obs-studio/basic/scenes/Sin Título.json +++ b/.config/obs-studio/basic/scenes/Sin Título.json @@ -1 +1 @@ -{"DesktopAudioDevice1":{"prev_ver":486604803,"name":"Audio del escritorio","uuid":"b58c2c0f-cf43-4c30-b171-20daf10d8d71","id":"pulse_output_capture","versioned_id":"pulse_output_capture","settings":{"device_id":"default"},"mixers":255,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":true,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},"AuxAudioDevice1":{"prev_ver":486604803,"name":"Mic/Aux","uuid":"dc70d41b-0b27-4136-82d1-2e8c62b3df76","id":"pulse_input_capture","versioned_id":"pulse_input_capture","settings":{"device_id":"easyeffects_source"},"mixers":255,"sync":0,"flags":2,"volume":1.0,"balance":0.5,"enabled":true,"muted":true,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},"current_scene":"Pantalla","current_program_scene":"Pantalla","scene_order":[{"name":"Pantalla"},{"name":"Sekiro"},{"name":"Discord"}],"name":"Sin Título","sources":[{"prev_ver":486604803,"name":"Wayland output(dmabuf)","uuid":"0f3f2497-6c53-447b-aaea-a45f990fef5b","id":"wlrobs-dmabuf","versioned_id":"wlrobs-dmabuf","settings":{"output":"DP-1","show_cursor":true},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Wayland output(scpy)","uuid":"430640c1-ff33-455b-9703-9953be1ab9f2","id":"wlrobs-scpy","versioned_id":"wlrobs-scpy","settings":{"output":"DP-1"},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Pantalla","uuid":"6a2fd959-df49-4e2c-84e4-6b113ce52db4","id":"scene","versioned_id":"scene","settings":{"custom_size":false,"id_counter":17,"items":[{"name":"Wayland output(scpy)","source_uuid":"430640c1-ff33-455b-9703-9953be1ab9f2","visible":false,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":11,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Wayland output(dmabuf)","source_uuid":"0f3f2497-6c53-447b-aaea-a45f990fef5b","visible":false,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":-1.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":12,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Audio Output Capture (PipeWire)","source_uuid":"fc08b05d-6c19-41dd-a8c1-1fcd45416401","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":13,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Captura de pantalla (PipeWire)","source_uuid":"5eab5a7e-2674-4dfd-aaae-7ea8438dd4ec","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":0.75,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":16,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Application Audio Capture (PipeWire) 2","source_uuid":"4368a5a7-87ac-44a2-94ac-a1f2476a1536","visible":false,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":17,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.Wayland output(scpy)":[],"libobs.hide_scene_item.Wayland output(scpy)":[],"libobs.show_scene_item.Wayland output(dmabuf)":[],"libobs.hide_scene_item.Wayland output(dmabuf)":[],"libobs.show_scene_item.Audio Output Capture (PipeWire)":[],"libobs.hide_scene_item.Audio Output Capture (PipeWire)":[],"libobs.show_scene_item.Captura de pantalla (PipeWire)":[],"libobs.hide_scene_item.Captura de pantalla (PipeWire)":[],"libobs.show_scene_item.Application Audio Capture (PipeWire) 2":[],"libobs.hide_scene_item.Application Audio Capture (PipeWire) 2":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Audio Output Capture (PipeWire)","uuid":"fc08b05d-6c19-41dd-a8c1-1fcd45416401","id":"pipewire_audio_output_capture","versioned_id":"pipewire_audio_output_capture","settings":{"TargetName":"alsa_output.usb-BEHRINGER_UMC204HD_192k-00.Direct__hw_U192k__sink","TargetId":4294967295},"mixers":255,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Sekiro","uuid":"e4435a2d-515f-415d-891b-a7716c0994f9","id":"scene","versioned_id":"scene","settings":{"custom_size":false,"id_counter":1,"items":[{"name":"Application Audio Capture (PipeWire)","source_uuid":"06c47ea3-7031-4ce1-8216-2cbe49c55348","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":1,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.Application Audio Capture (PipeWire)":[],"libobs.hide_scene_item.Application Audio Capture (PipeWire)":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Application Audio Capture (PipeWire)","uuid":"06c47ea3-7031-4ce1-8216-2cbe49c55348","id":"pipewire_audio_application_capture","versioned_id":"pipewire_audio_application_capture","settings":{"TargetName":"librewolf"},"mixers":255,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Discord","uuid":"87ca724c-7c94-4afe-a7c2-a4f057c4e072","id":"scene","versioned_id":"scene","settings":{"id_counter":5,"custom_size":false,"items":[{"name":"Wayland output(scpy) 2","source_uuid":"b4808c9b-2218-407f-8a9c-c631768e7efc","visible":false,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":3,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Wayland output(dmabuf) 2","source_uuid":"7c4b0aa5-f9f0-48e1-bea9-0dbec5026650","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":4,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.Wayland output(scpy) 2":[],"libobs.hide_scene_item.Wayland output(scpy) 2":[],"libobs.show_scene_item.Wayland output(dmabuf) 2":[],"libobs.hide_scene_item.Wayland output(dmabuf) 2":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Wayland output(scpy) 2","uuid":"b4808c9b-2218-407f-8a9c-c631768e7efc","id":"wlrobs-scpy","versioned_id":"wlrobs-scpy","settings":{"output":"DP-1"},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Wayland output(dmabuf) 2","uuid":"7c4b0aa5-f9f0-48e1-bea9-0dbec5026650","id":"wlrobs-dmabuf","versioned_id":"wlrobs-dmabuf","settings":{"output":"DP-1"},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Captura de pantalla (PipeWire)","uuid":"5eab5a7e-2674-4dfd-aaae-7ea8438dd4ec","id":"pipewire-desktop-capture-source","versioned_id":"pipewire-desktop-capture-source","settings":{"RestoreToken":""},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Application Audio Capture (PipeWire) 2","uuid":"4368a5a7-87ac-44a2-94ac-a1f2476a1536","id":"pipewire_audio_application_capture","versioned_id":"pipewire_audio_application_capture","settings":{"TargetName":"spotify"},"mixers":255,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}}],"groups":[],"quick_transitions":[{"name":"Corte","duration":300,"hotkeys":[],"id":1,"fade_to_black":false},{"name":"Desvanecimiento","duration":300,"hotkeys":[],"id":2,"fade_to_black":false},{"name":"Desvanecimiento","duration":300,"hotkeys":[],"id":3,"fade_to_black":true}],"transitions":[],"saved_projectors":[],"current_transition":"Desvanecimiento","transition_duration":300,"preview_locked":false,"scaling_enabled":false,"scaling_level":0,"scaling_off_x":0.0,"scaling_off_y":0.0,"virtual-camera":{"type":0,"internal":0},"modules":{"scripts-tool":[],"output-timer":{"streamTimerHours":0,"streamTimerMinutes":0,"streamTimerSeconds":30,"recordTimerHours":0,"recordTimerMinutes":0,"recordTimerSeconds":30,"autoStartStreamTimer":false,"autoStartRecordTimer":false,"pauseRecordTimer":true},"auto-scene-switcher":{"interval":300,"non_matching_scene":"","switch_if_not_matching":false,"active":false,"switches":[]}}} \ No newline at end of file +{"DesktopAudioDevice1":{"prev_ver":486604803,"name":"Audio del escritorio","uuid":"b58c2c0f-cf43-4c30-b171-20daf10d8d71","id":"pulse_output_capture","versioned_id":"pulse_output_capture","settings":{"device_id":"default"},"mixers":255,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":true,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},"AuxAudioDevice1":{"prev_ver":486604803,"name":"Mic/Aux","uuid":"dc70d41b-0b27-4136-82d1-2e8c62b3df76","id":"pulse_input_capture","versioned_id":"pulse_input_capture","settings":{"device_id":"easyeffects_source"},"mixers":255,"sync":0,"flags":2,"volume":1.0,"balance":0.5,"enabled":true,"muted":true,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},"current_scene":"Pantalla","current_program_scene":"Pantalla","scene_order":[{"name":"Pantalla"},{"name":"Sekiro"},{"name":"Discord"}],"name":"Sin Título","sources":[{"prev_ver":486604803,"name":"Wayland output(dmabuf)","uuid":"0f3f2497-6c53-447b-aaea-a45f990fef5b","id":"wlrobs-dmabuf","versioned_id":"wlrobs-dmabuf","settings":{"output":"DP-1","show_cursor":true},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Wayland output(scpy)","uuid":"430640c1-ff33-455b-9703-9953be1ab9f2","id":"wlrobs-scpy","versioned_id":"wlrobs-scpy","settings":{"output":"DP-1"},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Pantalla","uuid":"6a2fd959-df49-4e2c-84e4-6b113ce52db4","id":"scene","versioned_id":"scene","settings":{"custom_size":false,"id_counter":17,"items":[{"name":"Wayland output(scpy)","source_uuid":"430640c1-ff33-455b-9703-9953be1ab9f2","visible":false,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":11,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Wayland output(dmabuf)","source_uuid":"0f3f2497-6c53-447b-aaea-a45f990fef5b","visible":false,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":-1.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":12,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Audio Output Capture (PipeWire)","source_uuid":"fc08b05d-6c19-41dd-a8c1-1fcd45416401","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":13,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Captura de pantalla (PipeWire)","source_uuid":"5eab5a7e-2674-4dfd-aaae-7ea8438dd4ec","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":0.75,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":16,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Application Audio Capture (PipeWire) 2","source_uuid":"4368a5a7-87ac-44a2-94ac-a1f2476a1536","visible":false,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":17,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.Wayland output(scpy)":[],"libobs.hide_scene_item.Wayland output(scpy)":[],"libobs.show_scene_item.Wayland output(dmabuf)":[],"libobs.hide_scene_item.Wayland output(dmabuf)":[],"libobs.show_scene_item.Audio Output Capture (PipeWire)":[],"libobs.hide_scene_item.Audio Output Capture (PipeWire)":[],"libobs.show_scene_item.Captura de pantalla (PipeWire)":[],"libobs.hide_scene_item.Captura de pantalla (PipeWire)":[],"libobs.show_scene_item.Application Audio Capture (PipeWire) 2":[],"libobs.hide_scene_item.Application Audio Capture (PipeWire) 2":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Audio Output Capture (PipeWire)","uuid":"fc08b05d-6c19-41dd-a8c1-1fcd45416401","id":"pipewire_audio_output_capture","versioned_id":"pipewire_audio_output_capture","settings":{"TargetName":"alsa_output.usb-BEHRINGER_UMC204HD_192k-00.Direct__hw_U192k__sink","TargetId":4294967295},"mixers":255,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Sekiro","uuid":"e4435a2d-515f-415d-891b-a7716c0994f9","id":"scene","versioned_id":"scene","settings":{"custom_size":false,"id_counter":1,"items":[{"name":"Application Audio Capture (PipeWire)","source_uuid":"06c47ea3-7031-4ce1-8216-2cbe49c55348","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":1,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.Application Audio Capture (PipeWire)":[],"libobs.hide_scene_item.Application Audio Capture (PipeWire)":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Application Audio Capture (PipeWire)","uuid":"06c47ea3-7031-4ce1-8216-2cbe49c55348","id":"pipewire_audio_application_capture","versioned_id":"pipewire_audio_application_capture","settings":{"TargetName":"librewolf"},"mixers":255,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Discord","uuid":"87ca724c-7c94-4afe-a7c2-a4f057c4e072","id":"scene","versioned_id":"scene","settings":{"id_counter":5,"custom_size":false,"items":[{"name":"Wayland output(scpy) 2","source_uuid":"b4808c9b-2218-407f-8a9c-c631768e7efc","visible":false,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":3,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Wayland output(dmabuf) 2","source_uuid":"7c4b0aa5-f9f0-48e1-bea9-0dbec5026650","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":4,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.Wayland output(scpy) 2":[],"libobs.hide_scene_item.Wayland output(scpy) 2":[],"libobs.show_scene_item.Wayland output(dmabuf) 2":[],"libobs.hide_scene_item.Wayland output(dmabuf) 2":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Wayland output(scpy) 2","uuid":"b4808c9b-2218-407f-8a9c-c631768e7efc","id":"wlrobs-scpy","versioned_id":"wlrobs-scpy","settings":{"output":"DP-1"},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Wayland output(dmabuf) 2","uuid":"7c4b0aa5-f9f0-48e1-bea9-0dbec5026650","id":"wlrobs-dmabuf","versioned_id":"wlrobs-dmabuf","settings":{"output":"DP-1"},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Captura de pantalla (PipeWire)","uuid":"5eab5a7e-2674-4dfd-aaae-7ea8438dd4ec","id":"pipewire-desktop-capture-source","versioned_id":"pipewire-desktop-capture-source","settings":{"RestoreToken":"","ShowCursor":true},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":486604803,"name":"Application Audio Capture (PipeWire) 2","uuid":"4368a5a7-87ac-44a2-94ac-a1f2476a1536","id":"pipewire_audio_application_capture","versioned_id":"pipewire_audio_application_capture","settings":{"TargetName":"spotify"},"mixers":255,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}}],"groups":[],"quick_transitions":[{"name":"Corte","duration":300,"hotkeys":[],"id":1,"fade_to_black":false},{"name":"Desvanecimiento","duration":300,"hotkeys":[],"id":2,"fade_to_black":false},{"name":"Desvanecimiento","duration":300,"hotkeys":[],"id":3,"fade_to_black":true}],"transitions":[],"saved_projectors":[],"current_transition":"Desvanecimiento","transition_duration":300,"preview_locked":false,"scaling_enabled":false,"scaling_level":0,"scaling_off_x":0.0,"scaling_off_y":0.0,"virtual-camera":{"type":0,"internal":0},"modules":{"scripts-tool":[],"output-timer":{"streamTimerHours":0,"streamTimerMinutes":0,"streamTimerSeconds":30,"recordTimerHours":0,"recordTimerMinutes":0,"recordTimerSeconds":30,"autoStartStreamTimer":false,"autoStartRecordTimer":false,"pauseRecordTimer":true},"auto-scene-switcher":{"interval":300,"non_matching_scene":"","switch_if_not_matching":false,"active":false,"switches":[]}}} \ No newline at end of file diff --git a/.config/starship.toml b/.config/starship.toml index 6e576496..5edd4ae0 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -4,10 +4,6 @@ # Inserts a blank line between shell prompts add_newline = true -# Replace the '❯' symbol in the prompt with '➜' -[character] # The name of the module we are configuring is 'character' -success_symbol = '[➜](bold green)' # The 'success_symbol' segment is being set to '➜' with the color 'bold green' - [aws] symbol = " "