From 48c8dcb2b600462c0711ed97129fc95ebf2bd7f7 Mon Sep 17 00:00:00 2001 From: Maciej Sypien Date: Thu, 5 Sep 2024 22:53:48 +0200 Subject: [PATCH] feat: enhance code quality for project files --- .editorconfig | 16 ++++++++++++++++ Makefile | 4 ++++ README.md | 30 ++++++++++++++++++++++++++++++ gruvbox-tpm.tmux | 28 ++++++++++++++-------------- 4 files changed, 64 insertions(+), 14 deletions(-) create mode 100644 Makefile diff --git a/.editorconfig b/.editorconfig index e29c6fe..0595d35 100644 --- a/.editorconfig +++ b/.editorconfig @@ -19,3 +19,19 @@ trim_trailing_whitespace = false # windows shell scripts [*.{cmd,bat,ps1}] end_of_line = crlf + +[*.sh] +indent_style = space +indent_size = 4 + +shell_variant = posix # like -ln=posix +binary_next_line = true # like -bn +switch_case_indent = true # like -ci +space_redirects = true # like -sr +keep_padding = true # like -kp +function_next_line = true # like -fn +never_split = true # like -ns + +[Makefile] +indent_style = tab +indent_size = 8 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..049620c --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +.PHONY: check-scripts +check-scripts: + # Fail if any of these files have warnings + shellcheck ./gruvbox-tmp.tmux diff --git a/README.md b/README.md index 1c0137f..b6c3690 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,36 @@ set -g @tmux-gruvbox 'dark' # or 'light', 'dark-transparent', 'light-transparent Hit `prefix + I` to fetch the plugin and source it. Your Tmux should be updated with the theme at this point. +## Development + +To run project locally pull the repo to desired place + +```bash +cd $HOME/privatespace/ +git clone ... +``` + +and in `~/.tmux.conf` set + +```bash +# cd to tmux plugin directory +cd ~/.tmux/plugins/ + +# create simlink to +ln -sf $HOME/privatespace/tmux-gruvbox/ tmux-gruvbox + +# set desired options... +set -g @tmux-gruvbox 'dark-transparent' +``` + +### Linters & formatters + +To keep the files clean we use few program to help us achieve it: + +1. Editorconfig (make sure your editor have it) +2. Markdown (prettier/prettierd) +3. Shell (shellcheck, shfmt) + ## License GPLv3 - Maciej Sypień diff --git a/gruvbox-tpm.tmux b/gruvbox-tpm.tmux index 4f7693b..005be20 100755 --- a/gruvbox-tpm.tmux +++ b/gruvbox-tpm.tmux @@ -1,27 +1,27 @@ #!/usr/bin/env bash -CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" THEME_OPTION="@tmux-gruvbox" DEFAULT_THEME="dark" get_theme() { - local option="$1" - local default_value="$2" - local option_value - option_value=$(tmux show-option -gqv "$option") - if [ -z "$option_value" ]; then - echo "$default_value" - else - echo "$option_value" - fi + local option="$1" + local default_value="$2" + local option_value + option_value=$(tmux show-option -gqv "$option") + if [ -z "$option_value" ]; then + echo "$default_value" + else + echo "$option_value" + fi } main() { - local theme - theme=$(get_theme "$THEME_OPTION" "$DEFAULT_THEME") - tmux source-file "$CURRENT_DIR/tmux-gruvbox-${theme}.conf" + local theme + theme=$(get_theme "$THEME_OPTION" "$DEFAULT_THEME") + tmux source-file "$CURRENT_DIR/tmux-gruvbox-${theme}.conf" } -main +main "$@" # vi: ft=bash