aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nvim/.config/nvim/lua/custom/plugins/rest.lua16
-rw-r--r--nvim/.config/nvim/lua/custom/rest.lua14
-rw-r--r--zsh/.config/zsh/.zshrc32
-rw-r--r--zsh/.config/zsh/aliases.zsh2
-rw-r--r--zsh/.config/zsh/bindings.zsh23
-rw-r--r--zsh/.config/zsh/functions.zsh31
-rw-r--r--zsh/.config/zsh/plugins.zsh5
-rw-r--r--zsh/.config/zsh/prompt.zsh73
-rw-r--r--zsh/.zshenv10
9 files changed, 176 insertions, 30 deletions
diff --git a/nvim/.config/nvim/lua/custom/plugins/rest.lua b/nvim/.config/nvim/lua/custom/plugins/rest.lua
deleted file mode 100644
index 2d53a70..0000000
--- a/nvim/.config/nvim/lua/custom/plugins/rest.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-return {
- {
- "vhyrro/luarocks.nvim",
- priority = 1000,
- config = true,
- opts = { rocks = { "lua-curl", "nvim-nio", "mimetypes", "xml2lua" } },
- },
- {
- "rest-nvim/rest.nvim",
- ft = "http",
- dependencies = { "luarocks.nvim", "nvim-treesitter/nvim-treesitter" },
- config = function()
- require "custom.rest"
- end,
- },
-}
diff --git a/nvim/.config/nvim/lua/custom/rest.lua b/nvim/.config/nvim/lua/custom/rest.lua
deleted file mode 100644
index b058279..0000000
--- a/nvim/.config/nvim/lua/custom/rest.lua
+++ /dev/null
@@ -1,14 +0,0 @@
-require("rest-nvim").setup {
- keybinds = {
- {
- "<leader>rr",
- "<cmd>Rest run<cr>",
- "Run requesti under the cursor",
- },
- {
- "<leader>rl",
- "<cmd>Rest run last<cr>",
- "Re-run latest request",
- },
- },
-}
diff --git a/zsh/.config/zsh/.zshrc b/zsh/.config/zsh/.zshrc
new file mode 100644
index 0000000..e2a13bd
--- /dev/null
+++ b/zsh/.config/zsh/.zshrc
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# some useful options (man zshoptions)
+setopt autocd extendedglob nomatch menucomplete
+setopt interactive_comments
+stty stop undef # Disable ctrl-s to freeze terminal.
+zle_highlight=('paste:none')
+
+# beeping is annoying
+unsetopt BEEP
+
+
+# completions
+autoload -Uz compinit
+zstyle ':completion:*' menu select
+# zstyle ':completion::complete:lsof:*' menu yes select
+zmodload zsh/complist
+# compinit
+_comp_options+=(globdots) # Include hidden files.
+
+
+# Colors
+autoload -Uz colors && colors
+
+# Plugins
+source $ZDOTDIR/plugins.zsh
+
+# Aliases
+source $ZDOTDIR/aliases.zsh
+
+# Prompt
+source $ZDOTDIR/prompt.zsh
diff --git a/zsh/.config/zsh/aliases.zsh b/zsh/.config/zsh/aliases.zsh
new file mode 100644
index 0000000..937dffc
--- /dev/null
+++ b/zsh/.config/zsh/aliases.zsh
@@ -0,0 +1,2 @@
+alias v=nvim
+alias la="ls -la"
diff --git a/zsh/.config/zsh/bindings.zsh b/zsh/.config/zsh/bindings.zsh
new file mode 100644
index 0000000..82a4fd3
--- /dev/null
+++ b/zsh/.config/zsh/bindings.zsh
@@ -0,0 +1,23 @@
+bindkey -s '^o' 'ranger^M'
+bindkey -s '^f' 'zi^M'
+bindkey -s '^s' 'ncdu^M'
+bindkey -s '^z' 'zi^M'
+bindkey '^[[P' delete-char
+
+# Search navigation
+autoload -U up-line-or-beginning-search
+autoload -U down-line-or-beginning-search
+zle -N up-line-or-beginning-search
+zle -N down-line-or-beginning-search
+bindkey "^p" up-line-or-beginning-search # Up
+bindkey "^n" down-line-or-beginning-search # Down
+bindkey "^k" up-line-or-beginning-search # Up
+bindkey "^j" down-line-or-beginning-search # Down
+
+# Edit line in vim with ctrl-e:
+autoload edit-command-line; zle -N edit-command-line
+bindkey '^e' edit-command-line
+
+# Unbind
+bindkey -r "^u"
+bindkey -r "^d"
diff --git a/zsh/.config/zsh/functions.zsh b/zsh/.config/zsh/functions.zsh
new file mode 100644
index 0000000..e854a4a
--- /dev/null
+++ b/zsh/.config/zsh/functions.zsh
@@ -0,0 +1,31 @@
+ZSH_PLUGIN_DIR=${XDG_DATA_HOME:-$HOME/.local/share}/zsh/plugins
+
+# Function to source files if they exist
+function zsh_source_file() {
+ [ -f $1 ] && source $1
+}
+
+function zsh_add_plugin() {
+ PLUGIN_NAME=$(echo $1 | cut -d "/" -f 2)
+ if [ ! -d "$ZSH_PLUGIN_DIR/$PLUGIN_NAME" ]; then
+ git clone "https://github.com/$1.git" "$ZSH_PLUGIN_DIR/$PLUGIN_NAME"
+ fi
+ zsh_source_file "$ZSH_PLUGIN_DIR/$PLUGIN_NAME/$PLUGIN_NAME.plugin.zsh" || \
+ zsh_source_file "$ZSH_PLUGIN_DIR/$PLUGIN_NAME/$PLUGIN_NAME.zsh"
+}
+
+function zsh_add_completion() {
+ PLUGIN_NAME=$(echo $1 | cut -d "/" -f 2)
+ if [ -d "$ZDOTDIR/plugins/$PLUGIN_NAME" ]; then
+ # For completions
+ completion_file_path=$(ls $ZDOTDIR/plugins/$PLUGIN_NAME/_*)
+ fpath+="$(dirname "${completion_file_path}")"
+ zsh_source_file "$ZSH_PLUGIN_DIR/$PLUGIN_NAME/$PLUGIN_NAME.plugin.zsh"
+ else
+ git clone "https://github.com/$1.git" "$ZDOTDIR/plugins/$PLUGIN_NAME"
+ fpath+=$(ls $ZDOTDIR/plugins/$PLUGIN_NAME/_*)
+ [ -f $ZDOTDIR/.zccompdump ] && $ZDOTDIR/.zccompdump
+ fi
+ completion_file="$(basename "${completion_file_path}")"
+ if [ "$2" = true ] && compinit "${completion_file:1}"
+}
diff --git a/zsh/.config/zsh/plugins.zsh b/zsh/.config/zsh/plugins.zsh
new file mode 100644
index 0000000..177835a
--- /dev/null
+++ b/zsh/.config/zsh/plugins.zsh
@@ -0,0 +1,5 @@
+source $ZDOTDIR/functions.zsh
+
+# Plugins
+zsh_add_plugin "zsh-users/zsh-autosuggestions"
+zsh_add_plugin "zsh-users/zsh-syntax-highlighting"
diff --git a/zsh/.config/zsh/prompt.zsh b/zsh/.config/zsh/prompt.zsh
new file mode 100644
index 0000000..3e74427
--- /dev/null
+++ b/zsh/.config/zsh/prompt.zsh
@@ -0,0 +1,73 @@
+COLOR_PROMPT_TEXT='009'
+COLOR_PROMPT_GLYPH='255'
+NUM_DIRS_LEFT_OF_TRUNCATION=1
+NUM_DIRS_RIGHT_OF_TRUNCATION=2
+GLYPH_PROMPT_TRUNCATION_SYMBOL='⋯'
+GLYPH_PROMPT_END_SYMBOL='❯'
+
+set_prompt() {
+ [[ $NUM_DIRS_LEFT_OF_TRUNCATION -le 0 ]] && NUM_DIRS_LEFT_OF_TRUNCATION=1
+ [[ $NUM_DIRS_RIGHT_OF_TRUNCATION -le 0 ]] && NUM_DIRS_RIGHT_OF_TRUNCATION=2
+
+ local prompt_truncation_symbol="%F{${COLOR_PROMPT_GLYPH}}%B${GLYPH_PROMPT_TRUNCATION_SYMBOL}%b%f"
+ local prompt_end_symbol="%F{${COLOR_PROMPT_GLYPH}}%B${GLYPH_PROMPT_END_SYMBOL}%b%f"
+ local total_dirs=$(($NUM_DIRS_LEFT_OF_TRUNCATION+$NUM_DIRS_RIGHT_OF_TRUNCATION+1))
+ local dir_path_full="%F{${COLOR_PROMPT_TEXT}}%d%f"
+ local dir_path_truncated="%F{${COLOR_PROMPT_TEXT}}%-${NUM_DIRS_LEFT_OF_TRUNCATION}d/%f${prompt_truncation_symbol}%F{${COLOR_PROMPT_TEXT}}/%${NUM_DIRS_RIGHT_OF_TRUNCATION}d%f"
+
+ PROMPT="%(${total_dirs}C.${dir_path_truncated}.${dir_path_full}) ${prompt_end_symbol} "
+}
+
+precmd_functions+=(set_prompt)
+
+
+COLOR_GIT_REPOSITORY_TEXT='245'
+COLOR_GIT_BRANCH_TEXT='255'
+COLOR_GIT_STATUS_CLEAN='010'
+COLOR_GIT_STATUS_DIRTY='009'
+GLYPH_GIT_BRANCH_SYNC_SYMBOL='«'
+GLYPH_GIT_STASH_SYMBOL='∘'
+GLYPH_GIT_STATUS_SYMBOL='»'
+
+set_rprompt() {
+ local git_branch_name=$(git symbolic-ref --short HEAD 2> /dev/null)
+ if [[ -z $git_branch_name ]]; then
+ RPROMPT=""
+
+ return
+ fi
+
+ local git_remote_commit=$(git rev-parse "origin/$git_branch_name" 2> /dev/null)
+ local git_local_commit=$(git rev-parse "$git_branch_name" 2> /dev/null)
+ local git_branch_sync_color=$COLOR_GIT_STATUS_DIRTY
+ if [[ $git_remote_commit == $git_local_commit ]]; then
+ git_branch_sync_color=$COLOR_GIT_STATUS_CLEAN
+ fi
+
+ local git_stash=$(git stash list)
+ local git_stash_symbol=$GLYPH_GIT_STASH_SYMBOL
+ if [[ -z $git_stash ]]; then
+ git_stash_symbol=""
+ fi
+
+ local git_status=$(git status --porcelain)
+ local git_stash_color=$COLOR_GIT_STATUS_DIRTY
+ local git_status_color=$COLOR_GIT_STATUS_DIRTY
+ if [[ -z $git_status ]]; then
+ git_stash_color=$COLOR_GIT_STATUS_CLEAN
+ git_status_color=$COLOR_GIT_STATUS_CLEAN
+ fi
+
+ local git_repository_path=$(git rev-parse --show-toplevel)
+ local git_repository_name=$(basename "$git_repository_path")
+
+ local git_repository_text="%F{${COLOR_GIT_REPOSITORY_TEXT}}${git_repository_name}%f"
+ local git_branch_sync_symbol="%F{${git_branch_sync_color}}%B${GLYPH_GIT_BRANCH_SYNC_SYMBOL}%b%f"
+ local git_stash_symbol="%F{${git_stash_color}}%B${git_stash_symbol}%b%f"
+ local git_status_symbol="%F{${git_status_color}}%B${GLYPH_GIT_STATUS_SYMBOL}%b%f"
+ local git_branch_text="%F{${COLOR_GIT_BRANCH_TEXT}}${git_branch_name}%f"
+
+ RPROMPT="${git_repository_text} ${git_branch_sync_symbol}${git_stash_symbol}${git_status_symbol} ${git_branch_text}"
+}
+
+precmd_functions+=(set_rprompt)
diff --git a/zsh/.zshenv b/zsh/.zshenv
new file mode 100644
index 0000000..270817e
--- /dev/null
+++ b/zsh/.zshenv
@@ -0,0 +1,10 @@
+# XDG Paths
+export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}
+export XDG_CACHE_HOME=${XDG_CACHE_HOME:-$HOME/.cache}
+export XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}
+
+# ZSH config dir
+export ZDOTDIR=$XDG_CONFIG_HOME/zsh
+
+# User environment variables
+export EDITOR="nvim"