+zsh-syntax-highlighting (#2000)

* +zsh-syntax-highlighting

* Removed $HOME

You'd still have to run a command yourself post installation.

* added test

* missing fixture

* no executable

* clean up

* comment out user message in build script

* don't need gum

---------

Co-authored-by: Jacob Heider <jacob@tea.xyz>
This commit is contained in:
Sanchit Ram Arvind 2023-05-25 08:09:40 +05:30 committed by GitHub
parent 4438bc96db
commit 2e21805050
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 61 additions and 0 deletions

View file

@ -0,0 +1,30 @@
#!/bin/bash
# Receive the directory as the first command-line argument
directory="$1"
# Check if the directory is provided
if [ -z "$directory" ]; then
echo "Directory parameter is missing."
exit 1
fi
# Change to the specified directory
cd "$directory" || { echo "Failed to change to the specified directory."; exit 1; }
# Run the test & read the lines
output=$(zsh tests/test-highlighting.zsh main)
lines=()
while IFS= read -r line; do
lines+=("$line")
done <<< "$output"
# If line has 'not ok', with no '#TODO' --> fail & exit
for line in "${lines[@]}"; do
if [[ $line =~ ^(.*\bnot ok\b)(.*)$ && ! $line =~ "#TODO" ]]; then
echo "Fail"
exit 1
fi
done
echo "Pass"

View file

@ -0,0 +1,31 @@
distributable:
url: https://github.com/zsh-users/zsh-syntax-highlighting/archive/refs/tags/{{version}}.tar.gz
strip-components: 1
versions:
github: zsh-users/zsh-syntax-highlighting/tags
build:
dependencies:
tea.xyz/gx/cc: c99
tea.xyz/gx/make: '*'
#charm.sh/gum: '*'
script:
- make --jobs {{ hw.concurrency }} install
# Users need to source this in their zsh configs
# - export ZSH_HIGHLIGHTING={{prefix}}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# TODO: #2008
# - gum format "# *Finish the install by running*" '## `echo "source '$ZSH_HIGHLIGHTING'" >> $HOME/.zshrc`' | gum format
# Use tests provided by the highlighter for test
- |
mkdir {{prefix}}/share/zsh-syntax-highlighting/tests {{prefix}}/share/zsh-syntax-highlighting/highlighters/main/test-data
cp -r ./tests/* {{prefix}}/share/zsh-syntax-highlighting/tests
cp ./highlighters/main/test-data/alias-basic.zsh {{prefix}}/share/zsh-syntax-highlighting/highlighters/main/test-data
env:
ARGS:
- --prefix="{{prefix}}"
test: |
chmod +x ./fixture.sh
./fixture.sh {{prefix}}/share/zsh-syntax-highlighting