Ignore theme specific lines in git using a filter
This commit is contained in:
parent
27c2b8f983
commit
6127f66f1a
|
@ -14,3 +14,6 @@
|
||||||
gpgsign = true
|
gpgsign = true
|
||||||
[gitlab]
|
[gitlab]
|
||||||
user = akasroua
|
user = akasroua
|
||||||
|
[filter "git-ignore-line.sh"]
|
||||||
|
clean = git-ignore-line.sh
|
||||||
|
smudge = cat
|
||||||
|
|
|
@ -452,8 +452,6 @@ inactive_tab_font_style normal
|
||||||
|
|
||||||
#: Color scheme {{{
|
#: Color scheme {{{
|
||||||
|
|
||||||
include iceberg_dark.conf
|
|
||||||
|
|
||||||
#: The foreground and background colors
|
#: The foreground and background colors
|
||||||
|
|
||||||
background_opacity 1.0
|
background_opacity 1.0
|
||||||
|
@ -993,7 +991,3 @@ map kitty_mod+delete clear_terminal reset active
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
|
||||||
# BEGIN_KITTY_THEME
|
|
||||||
# Iceberg Dark
|
|
||||||
include current-theme.conf
|
|
||||||
# END_KITTY_THEME
|
|
|
@ -42,7 +42,6 @@ Plug 'cocopon/iceberg.vim'
|
||||||
call plug#end()
|
call plug#end()
|
||||||
""Colors
|
""Colors
|
||||||
colorscheme iceberg
|
colorscheme iceberg
|
||||||
set bg=dark
|
|
||||||
set termguicolors
|
set termguicolors
|
||||||
""Disabe status line
|
""Disabe status line
|
||||||
set laststatus=0
|
set laststatus=0
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Git filter to ignore lines in your files.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2017-2019 Aryel Mota Góis <aryel.gois@gmail.com>
|
||||||
|
#
|
||||||
|
# MIT License
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# SETUP:
|
||||||
|
#
|
||||||
|
# cp git-ignore-line.sh ~/bin/git-ignore-line
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# USAGE:
|
||||||
|
#
|
||||||
|
# Mark single lines you want to ignore with 'GITIGNORE'. It ignores
|
||||||
|
# the whole line. It is recommended to be inside a comment in your code.
|
||||||
|
#
|
||||||
|
# Mark multiple lines surrounding them with 'GITIGNORE START' and
|
||||||
|
# 'GITIGNORE END'. It can not be nested.
|
||||||
|
#
|
||||||
|
# NOTE: Ignored lines might be lost on checkout.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Add files to ignore:
|
||||||
|
#
|
||||||
|
# git ignore-line <pattern>
|
||||||
|
#
|
||||||
|
# Remove patterns with:
|
||||||
|
#
|
||||||
|
# git ignore-line -r <pattern>
|
||||||
|
#
|
||||||
|
# List configured patterns:
|
||||||
|
#
|
||||||
|
# git ignore-line -l
|
||||||
|
#
|
||||||
|
# PATTERN can be a file or a glob pattern: '*.html'. Remember to
|
||||||
|
# escape the `*`.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# TODO:
|
||||||
|
#
|
||||||
|
# - Stash the lines ignored by this filter before a git checkout.
|
||||||
|
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
|
||||||
|
# Check if stdin is not tty and remove ignored lines from it.
|
||||||
|
|
||||||
|
[ -t 0 ] || exec sed \
|
||||||
|
'/GITIGNORE START/,/GITIGNORE END/d; /GITIGNORE/d' \
|
||||||
|
/dev/stdin
|
||||||
|
|
||||||
|
|
||||||
|
# Running from tty.
|
||||||
|
|
||||||
|
program=$(basename "$0")
|
||||||
|
|
||||||
|
# Find git repository.
|
||||||
|
git_dir=$(git rev-parse --git-dir)
|
||||||
|
|
||||||
|
# Path to attributes file.
|
||||||
|
attr_file=$git_dir/info/attributes
|
||||||
|
|
||||||
|
# Check arguments.
|
||||||
|
if [ $# -eq 2 ] && [ "$1" = '-r' ]; then
|
||||||
|
# Remove filter for pattern.
|
||||||
|
sed "s|^$2 filter=$program||" "$attr_file" > "$attr_file.tmp"
|
||||||
|
mv -- "$attr_file.tmp" "$attr_file"
|
||||||
|
elif [ $# -eq 1 ]; then
|
||||||
|
if [ "$1" = '-l' ]; then
|
||||||
|
# List patterns.
|
||||||
|
grep "filter=$program" "$attr_file" || true
|
||||||
|
else
|
||||||
|
# Add filter for pattern.
|
||||||
|
echo "$1 filter=$program" >> "$attr_file"
|
||||||
|
# Configure filter.
|
||||||
|
git config --global "filter.$program.clean" "$program"
|
||||||
|
git config --global "filter.$program.smudge" cat
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Show help.
|
||||||
|
>&2 echo "Usage: $program [-r] <pattern>"
|
||||||
|
>&2 echo " or: $program -l"
|
||||||
|
exit 1
|
||||||
|
fi
|
|
@ -78,5 +78,3 @@ set -g mouse on
|
||||||
bind -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
|
bind -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
|
||||||
bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"
|
bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"
|
||||||
|
|
||||||
# Colorscheme file
|
|
||||||
source-file ~/.tmux/iceberg_dark.tmux.conf
|
|
||||||
|
|
Loading…
Reference in New Issue