improve workflow with shell
This commit is contained in:
@@ -19,6 +19,7 @@
|
|||||||
- prettier-plugin-go-template
|
- prettier-plugin-go-template
|
||||||
- rust-analyzer
|
- rust-analyzer
|
||||||
- shfmt
|
- shfmt
|
||||||
|
- shellcheck
|
||||||
- bash-language-server
|
- bash-language-server
|
||||||
- terraform
|
- terraform
|
||||||
- tflint
|
- tflint
|
||||||
|
|||||||
5
nvim/.config/nvim/lsp/bashls.lua
Normal file
5
nvim/.config/nvim/lsp/bashls.lua
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
return {
|
||||||
|
cmd = { "bash-language-server" },
|
||||||
|
filetypes = { "sh", "bash", "zsh" },
|
||||||
|
settings = {},
|
||||||
|
}
|
||||||
@@ -9,12 +9,9 @@ vim.lsp.config("*", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.lsp.config("rust", {
|
|
||||||
filetypes = { "rust" },
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.lsp.enable("luals")
|
vim.lsp.enable("luals")
|
||||||
vim.lsp.enable("rust")
|
vim.lsp.enable("rust")
|
||||||
|
vim.lsp.enable("bashls")
|
||||||
|
|
||||||
-- [[FOLDING SETUP
|
-- [[FOLDING SETUP
|
||||||
-- Prefer LSP folding if client supports it
|
-- Prefer LSP folding if client supports it
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ return {
|
|||||||
configs.setup({
|
configs.setup({
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
"bash",
|
"bash",
|
||||||
|
--"zsh",
|
||||||
"c",
|
"c",
|
||||||
"cmake",
|
"cmake",
|
||||||
"dockerfile",
|
"dockerfile",
|
||||||
@@ -95,6 +96,8 @@ return {
|
|||||||
terraform = { "terraform_fmt" },
|
terraform = { "terraform_fmt" },
|
||||||
-- brew install shfmt
|
-- brew install shfmt
|
||||||
bash = { "shfmt" },
|
bash = { "shfmt" },
|
||||||
|
zsh = { "shfmt" },
|
||||||
|
sh = { "shfmt" },
|
||||||
-- brew install ruff
|
-- brew install ruff
|
||||||
python = { "ruff" },
|
python = { "ruff" },
|
||||||
},
|
},
|
||||||
@@ -103,7 +106,7 @@ return {
|
|||||||
prepend_args = { "--prose-wrap", "always" },
|
prepend_args = { "--prose-wrap", "always" },
|
||||||
},
|
},
|
||||||
shfmt = {
|
shfmt = {
|
||||||
prepend_args = { "-i", "4" },
|
prepend_args = { "-i", "4", "-ci" },
|
||||||
},
|
},
|
||||||
ruff = {
|
ruff = {
|
||||||
prepend_args = { "--extend-select", "I" },
|
prepend_args = { "--extend-select", "I" },
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ return {
|
|||||||
lint.linters_by_ft = {
|
lint.linters_by_ft = {
|
||||||
-- brew install luacheck
|
-- brew install luacheck
|
||||||
lua = { "luacheck" },
|
lua = { "luacheck" },
|
||||||
bash = { "bash" },
|
bash = { "shellcheck" },
|
||||||
|
sh = { "shellcheck" },
|
||||||
-- brew install tflint
|
-- brew install tflint
|
||||||
terraform = { "tflint" },
|
terraform = { "tflint" },
|
||||||
}
|
}
|
||||||
|
|||||||
10
zsh/.zshenv
10
zsh/.zshenv
@@ -20,14 +20,14 @@ export SSH_ENV="$HOME/.ssh/agent-environment"
|
|||||||
export PATH=~/.local/bin:$PATH
|
export PATH=~/.local/bin:$PATH
|
||||||
|
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
Linux* ) {
|
Linux*) {
|
||||||
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
||||||
};;
|
} ;;
|
||||||
Darwin* ) {
|
Darwin*) {
|
||||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||||
export PATH="/opt/homebrew/opt/make/libexec/gnubin:$PATH"
|
export PATH="/opt/homebrew/opt/make/libexec/gnubin:$PATH"
|
||||||
};;
|
} ;;
|
||||||
* ) ;;
|
*) ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
. "$HOME/.cargo/env"
|
. "$HOME/.cargo/env"
|
||||||
|
|||||||
42
zsh/.zshrc
42
zsh/.zshrc
@@ -1,38 +1,38 @@
|
|||||||
setopt INC_APPEND_HISTORY
|
setopt INC_APPEND_HISTORY
|
||||||
setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format.
|
setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format.
|
||||||
setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history.
|
setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history.
|
||||||
setopt HIST_FIND_NO_DUPS # Do not display a previously found event.
|
setopt HIST_FIND_NO_DUPS # Do not display a previously found event.
|
||||||
setopt HIST_IGNORE_ALL_DUPS # Delete an old recorded event if a new event is a duplicate.
|
setopt HIST_IGNORE_ALL_DUPS # Delete an old recorded event if a new event is a duplicate.
|
||||||
setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again.
|
setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again.
|
||||||
setopt HIST_IGNORE_SPACE # Do not record an event starting with a space.
|
setopt HIST_IGNORE_SPACE # Do not record an event starting with a space.
|
||||||
unsetopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history file.
|
unsetopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history file.
|
||||||
setopt SHARE_HISTORY # Share history between all sessions.
|
setopt SHARE_HISTORY # Share history between all sessions.
|
||||||
|
|
||||||
bindkey '^R' history-incremental-search-backward
|
bindkey '^R' history-incremental-search-backward
|
||||||
bindkey '^A' beginning-of-line
|
bindkey '^A' beginning-of-line
|
||||||
bindkey '^E' end-of-line
|
bindkey '^E' end-of-line
|
||||||
bindkey '^K' kill-line
|
bindkey '^K' kill-line
|
||||||
|
|
||||||
setopt AUTO_PUSHD # Push the current directory visited on the stack.
|
setopt AUTO_PUSHD # Push the current directory visited on the stack.
|
||||||
setopt PUSHD_IGNORE_DUPS # Do not store duplicates in the stack.
|
setopt PUSHD_IGNORE_DUPS # Do not store duplicates in the stack.
|
||||||
setopt PUSHD_SILENT # Do not print the directory stack after pushd or popd.
|
setopt PUSHD_SILENT # Do not print the directory stack after pushd or popd.
|
||||||
|
|
||||||
# install zsh-syntax-highlighting
|
# install zsh-syntax-highlighting
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
Linux* ) {
|
Linux*) {
|
||||||
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||||
};;
|
} ;;
|
||||||
Darwin* ) {
|
Darwin*) {
|
||||||
source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
source "$(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
|
||||||
};;
|
} ;;
|
||||||
* ) ;;
|
*) ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
bindkey "^[[1;5C" forward-word
|
bindkey "^[[1;5C" forward-word
|
||||||
bindkey "^[[1;5D" backward-word
|
bindkey "^[[1;5D" backward-word
|
||||||
|
|
||||||
source $DOTFILES/zsh/completion.zsh
|
source "$DOTFILES/zsh/completion.zsh"
|
||||||
fpath=($DOTFILES/zsh/zsh-completions/src $fpath)
|
fpath=("$DOTFILES/zsh/zsh-completions/src" "$fpath")
|
||||||
|
|
||||||
# make less more friendly for non-text input files, see lesspipe(1)
|
# make less more friendly for non-text input files, see lesspipe(1)
|
||||||
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
||||||
@@ -41,9 +41,9 @@ if [ -f ~/.zsh_aliases ]; then
|
|||||||
. ~/.zsh_aliases
|
. ~/.zsh_aliases
|
||||||
fi
|
fi
|
||||||
|
|
||||||
function set_win_title(){
|
function set_win_title() {
|
||||||
echo -ne "\033]0; $(basename "$PWD") \007"
|
echo -ne "\033]0; $(basename "$PWD") \007"
|
||||||
}
|
}
|
||||||
starship_precmd_user_func="set_win_title"
|
export starship_precmd_user_func="set_win_title"
|
||||||
|
|
||||||
eval "$(starship init zsh)"
|
eval "$(starship init zsh)"
|
||||||
|
|||||||
Reference in New Issue
Block a user