diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..8464e0a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,24 @@ +name: 'Release' +on: + pull_request: + branches: [master] + +jobs: + release: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - name: 'Check out Git repository' + uses: actions/checkout@v2 + + - name: 'Generate shell files' + run: make generate + + - name: 'Commit generated files' + if: ${{ success() }} + run: | + git config user.name 'github-actions' + git config user.email 'github-actions@github.com' + git add lscolors.sh lscolors.csh + git commit -m "Update shell files" || echo "No changes to commit" + git push diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5fc1096 --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +FILE_NAME=lscolors +export XDG_DATA_HOME ?= $${$$HOME/.local/share} + +all: generate + +clean: + @command rm ${FILE_NAME}.sh 2>/dev/null || true + @command rm ${FILE_NAME}.csh 2>/dev/null || true + +generate: clean + @dircolors -b LS_COLORS > ${FILE_NAME}.sh + @dircolors -b LS_COLORS > ${FILE_NAME}.csh + +install: generate + @command cp ${FILE_NAME}.sh ${FILE_NAME}.csh ${XDG_DATA_HOME} + @echo "To enable the colors, add the following line to your shell's start-up script:" + @echo "" + @echo "For Bourne shell (e.g. ~/.bashrc or ~/.zshrc):" + @echo " source ${XDG_DATA_HOME}/${FILE_NAME}.sh" + @echo "" + @echo "For C shell (e.g. ~/.cshrc):" + @echo " source ${XDG_DATA_HOME}/${FILE_NAME}.csh" diff --git a/README.markdown b/README.markdown index 9447f26..88f5cb6 100644 --- a/README.markdown +++ b/README.markdown @@ -42,18 +42,32 @@ You need GNU `dircolors` and a compatible directory listing tool, such as GNU # Installation -An installation script is provided with this repository: +The repo contains two compiled scripts `lscolors.sh` & `lscolors.csh`, which you can download & source directly or point your plugin manager to pick up one of them. + +To enable the colors, add the following line to your shell's start-up script: + +For Bourne shell (e.g. `~/.bashrc` or `~/.zshrc`): +``` +source ~/path/to/lscolors.sh +``` + +For C shell (e.g. `~/.cshrc`): +``` +source ~/path/to/lscolors.csh +``` + +If you prefer to manually generate these files, an installation script is provided with this repository: ```console $ mkdir /tmp/LS_COLORS && curl -L https://api.github.com/repos/trapd00r/LS_COLORS/tarball/master | tar xzf - --directory=/tmp/LS_COLORS --strip=1 -$ ( cd /tmp/LS_COLORS && sh install.sh ) +$ ( cd /tmp/LS_COLORS && make install ) To enable the colors, add the following line to your shell's start-up script: For Bourne shell (e.g. ~/.bashrc or ~/.zshrc): - . "~/.local/share/lscolors.sh" + source "~/.local/share/lscolors.sh" For C shell (e.g. ~/.cshrc): - . "~/.local/share/lscolors.csh" + source "~/.local/share/lscolors.csh" $ ``` diff --git a/install.sh b/install.sh deleted file mode 100755 index a6099de..0000000 --- a/install.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env sh -# - -lscolors_data_dir="${XDG_DATA_HOME:-$HOME/.local/share}" - -if dircolors -b LS_COLORS > lscolors.sh && dircolors -c LS_COLORS > lscolors.csh ; then - if mv -t "$lscolors_data_dir" lscolors.sh lscolors.csh ; then - cat <