diff --git a/fish/dot-config/fish/functions/fish_prompt.fish b/fish/dot-config/fish/functions/fish_prompt.fish new file mode 100644 index 0000000..8b1d19c --- /dev/null +++ b/fish/dot-config/fish/functions/fish_prompt.fish @@ -0,0 +1,90 @@ +function fish_prompt + set -l __last_command_exit_status $status + + if not set -q -g __fish_arrow_functions_defined + set -g __fish_arrow_functions_defined + function _git_branch_name + set -l branch (git symbolic-ref --quiet HEAD 2>/dev/null) + if set -q branch[1] + echo (string replace -r '^refs/heads/' '' $branch) + else + echo (git rev-parse --short HEAD 2>/dev/null) + end + end + + function _is_git_dirty + not command git diff-index --cached --quiet HEAD -- &>/dev/null + or not command git diff --no-ext-diff --quiet --exit-code &>/dev/null + end + + function _is_git_repo + type -q git + or return 1 + git rev-parse --git-dir >/dev/null 2>&1 + end + + function _hg_branch_name + echo (hg branch 2>/dev/null) + end + + function _is_hg_dirty + set -l stat (hg status -mard 2>/dev/null) + test -n "$stat" + end + + function _is_hg_repo + fish_print_hg_root >/dev/null + end + + function _repo_branch_name + _$argv[1]_branch_name + end + + function _is_repo_dirty + _is_$argv[1]_dirty + end + + function _repo_type + if _is_hg_repo + echo hg + return 0 + else if _is_git_repo + echo git + return 0 + end + return 1 + end + end + + set -l cyan (set_color -o cyan) + set -l yellow (set_color -o yellow) + set -l red (set_color -o red) + set -l green (set_color -o green) + set -l blue (set_color -o blue) + set -l normal (set_color normal) + + set -l arrow_color "$green" + if test $__last_command_exit_status != 0 + set arrow_color "$red" + end + + set -l arrow "$arrow_color➜ " + if fish_is_root_user + set arrow "$arrow_color# " + end + + set -l cwd $cyan(basename (prompt_pwd)) + + set -l repo_info + if set -l repo_type (_repo_type) + set -l repo_branch $red(_repo_branch_name $repo_type) + set repo_info "$blue $repo_type:($repo_branch$blue)" + + if _is_repo_dirty $repo_type + set -l dirty "$yellow ✗" + set repo_info "$repo_info$dirty" + end + end + + echo -n -s $arrow ' '$cwd $repo_info $normal ' ' +end diff --git a/nvim/dot-config/nvim/after/queries/heex/highlights.scm b/nvim/dot-config/nvim/after/queries/heex/highlights.scm new file mode 120000 index 0000000..ed5a293 --- /dev/null +++ b/nvim/dot-config/nvim/after/queries/heex/highlights.scm @@ -0,0 +1 @@ +/home/nikos/.dotfiles/nvim/dot-config/nvim/after/queries/html_tags/highlights.scm \ No newline at end of file diff --git a/nvim/dot-config/nvim/after/queries/html_tags/highlights.scm b/nvim/dot-config/nvim/after/queries/html_tags/highlights.scm new file mode 100644 index 0000000..39a8249 --- /dev/null +++ b/nvim/dot-config/nvim/after/queries/html_tags/highlights.scm @@ -0,0 +1,6 @@ +;; extends + +(attribute + (attribute_name) @name (#eq? @name "class") + (quoted_attribute_value) @comment +) diff --git a/nvim/dot-config/nvim/lua/my/keymaps.lua b/nvim/dot-config/nvim/lua/my/keymaps.lua index e84af81..6a6b77e 100644 --- a/nvim/dot-config/nvim/lua/my/keymaps.lua +++ b/nvim/dot-config/nvim/lua/my/keymaps.lua @@ -39,6 +39,7 @@ vmap("", ":m '<-2gv=gv") nmap("", vim.cmd.nohl) nmap("", "") +nmap("", "") -- Re-bind for jump list -- nmap("n", "windo set nu! relativenumber!") -- nmap("t", "windo set expandtab!") -- nmap(".", "w")