Odpowiedzi:
Wygląda na to, że pakiet GNU, source-highlight , (ale nie używa cat - jak zauważa John T, nie jest to możliwe w przypadku cat). Jest dostępny przez apt-get na Ubuntu i wymaga biblioteki wyrażeń regularnych Boost. Sprawdź w swoim menedżerze pakietów, czy oba są dostępne, w przeciwnym razie możesz pobrać je z Internetu. Myślę, że strona GNU, do której odsyłano wcześniej, zawiera link do Boost.
Po instalacji utworzyłem na swojej ścieżce nowy skrypt o nazwie ccat . Skrypt wygląda następująco:
#!/bin/bash
src-hilite-lesspipe.sh $1
Nic szczególnego, po prostu upraszczając mniejszą liczbę skryptów, które zawierają dzięki podświetleniu źródła. Zachowuje się jak kot, gdy jest wywoływany w ten sposób.
Jednak dołączony skrypt mniej jest również przyjemny w użyciu. Właśnie dodałem następujące .bashrc :
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '
Ten skrypt jest również zawarty w podręczniku online dotyczącym podświetlania źródła.
Wydaje mi się, że możesz nazwać cat alias src-hilite-lesspipe.sh 1 USD, jeśli masz ochotę całkowicie zignorować kota, ale to może nie być pożądane.
$1
:).
brew install source-highlight
. Nie można pokolorować yaml :(
Aby wyprowadzić podświetlony kod składni za pomocą czegoś podobnego cat
, utworzyłem ccat
polecenie, postępując zgodnie z instrukcjami na stronie http://scott.sherrillmix.com/blog/programmer/syntax-highlighting-in-terminal/ .
#!/bin/bash
if [ ! -t 0 ];then
file=/dev/stdin
elif [ -f $1 ];then
file=$1
else
echo "Usage: $0 code.c"
echo "or e.g. head code.c|$0"
exit 1
fi
pygmentize -f terminal -g $file
Aby wyprowadzić podświetlony kod składni za pomocą czegoś takiego less
, używam vima jako mniejszego zamiennika.
alias less='/usr/share/vim/vim72/macros/less.sh'
.functions
jakocolorize(){...}
Aby rozwiązać ten problem, użyłem wyróżnienia . Stworzyłem funkcję, która próbuje wydrukować plik z podświetlaniem składni, a jeśli zawiedzie, wraca do zwykłego użycia cat do wydrukowania pliku. Możesz zmienić motyw podświetlania składni na cokolwiek chcesz.
function hl { # Overrides the cat command to use syntax highlighting
# Highlight with 'moria' theme to terminal, and suppress errors
highlight $1 -s moria -O xterm256 2> /dev/null
if (($? != 0)); then # If the command had errors
cat $1 # Just cat the file out instead
fi
}
Jeśli korzystasz z komputera Mac i używasz Homebrew (wysoce zalecane!), Możesz zainstalować podświetlanie, uruchamiając brew install highlight
. W przeciwnym razie powinien być dostępny na większości innych menedżerów pakietów i można go pobrać tutaj .
Stworzyłem również funkcję drukowania pliku z podświetlaniem składni jako html i otwierania go w przeglądarce, aby wydrukować (polega na open
poleceniu w OS X):
function hlprint {
# Print with line numbers and 'moria' theme
highlight $1 -l -o print.html -s moria
open print.html # Open in browser
sleep 5 # Give the browser time to open
rm print.html highlight.css # Remove output files
}
Cieszyć się!
Nie, kot nie ma zdolności podświetlania składni. Jeśli chcesz zobaczyć kod źródłowy z podświetlaniem składni, włóż go do vima lub wybranego edytora (który ma podświetlanie składni). W ten sposób możesz nawet przewijać dane wyjściowe, jeśli jest to długi plik, używając Ctrl+ F(do przodu) i Ctrl+ B(do tyłu).
bat
ostechnix.com/...