Получать цвета меньше или больше

Когда я читаю файл в Linux с less или less командой, как я могу получить контент в цветах?

  • Меньше прерывать меньше
  • Меньше: быстрый переход к номеру строки в большом файле
  • Машина времени на Ubuntu?
  • Добавление файла jar в CLASSPATH по-прежнему не выполняется
  • Почему гость VirtualBox не может подключиться к сети?
  • Что такое команда unix, чтобы узнать, какой исполняемый файл соответствует данной команде?
  • Установка имени хоста как IP для Linux для Hadoop VM
  • Как я могу исправить уязвимость shellshock в устаревшей системе Ubuntu, которую я не могу обновить?
  • 13 Solutions collect form web for “Получать цвета меньше или больше”

    Вы можете использовать силу pygmentize с меньшим – автоматически! (Не нужно трубить вручную).

    Создать файл ~ / .lessfilter

     #!/bin/sh case "$1" in *.awk|*.groff|*.java|*.js|*.m4|*.php|*.pl|*.pm|*.pod|*.sh|\ *.ad[asb]|*.asm|*.inc|*.[ch]|*.[ch]pp|*.[ch]xx|*.cc|*.hh|\ *.lsp|*.l|*.pas|*.p|*.xml|*.xps|*.xsl|*.axp|*.ppd|*.pov|\ *.diff|*.patch|*.py|*.rb|*.sql|*.ebuild|*.eclass) pygmentize -f 256 "$1";; .bashrc|.bash_aliases|.bash_environment) pygmentize -f 256 -l sh "$1" ;; *) grep "#\!/bin/bash" "$1" > /dev/null if [ "$?" -eq "0" ]; then pygmentize -f 256 -l sh "$1" else exit 1 fi esac exit 0 

    В вашем .bashrc add

     export LESS='-R' export LESSOPEN='|~/.lessfilter %s' 

    Кроме того, вам нужно сделать исполняемый файл ~/.lessfilter , выполнив

     chmod u+x ~/.lessfilter 

    Протестировано на debian.

    Идея исходит отсюда с помощью Pygments с меньшим .

    Попробуйте следующее:

     less -R 

    От man less :

    -r или --raw-control-chars

    Вызывает «сырые» контрольные символы для отображения. (…)

    -R или --RAW-CONTROL-CHARS

    Подобно -r , но только «ANSI« цветовые »escape-последовательности выводятся в« сырой »форме. (…)

    Я получил ответ в другом сообщении: Less and Grep: получение цветных результатов при использовании трубы от grep до менее

    Когда вы просто запускаете grep --color это означает, что grep --color=auto определяет, является ли вывод терминалом, и если да, то он включает цвета. Однако, когда он обнаруживает трубку, она отключает окраску. Следующая команда:

     grep --color=always "search string" * | less -R 

    Всегда будет включать окраску и отменять автоматическое обнаружение, и вы получите подсветку цвета меньше.

    Предупреждение. Не помещайте --color=always как псевдоним, иногда это прерывает. Вот почему есть опция --color=auto .

    Вместо этого используйте view . Он открывает файл с vim в режиме readonly.

    Это практически цвет less : пейджер, где вы можете искать с / (и более). Единственным недостатком является то, что вы не можете выйти с q, но вам нужно :q

    Кроме того, вы получаете ту же окраску, что и vim (поскольку вы фактически используете vim ).

    Используйте VIM в качестве подсветки синтаксиса .

    Вы не сказали, что должен означать этот цвет, например, какие цвета должны быть для текстового файла?

    Если вы хотите выделить синтаксис для исходного кода, вам понадобится подсветка исходного кода. Иногда я использую pygmentize

     pygmentize file.cpp | less 

    или

     pygmentize file.cpp | more 

    Есть другие маркеры вокруг.

    Это довольно быстро. Если вы не возражаете против запуска vim существует режим только для чтения, который может дать вам подсветку синтаксиса, если у вас есть это в vim .

     view file.cpp 

    Или, альтернативно, см. Ответ churnd.

    pygmentize поддерживает параметр -g чтобы автоматически угадывать используемый лексер, который полезен для файлов, считанных с STDIN без проверки какого-либо типа расширения.

    Используя это, вам нужно только установить следующие 2 экспорта в ваш .bashrc без каких-либо дополнительных скриптов:

     export LESS='-R' export LESSOPEN='|pygmentize -g %s' 

    Используйте подсветку источника GNU ; Вы можете установить его с помощью apt если он у вас есть, или иным образом установить его из источника. Затем настройте «входной препроцессор» на меньшее, с помощью документации Source-highligh для настройки с меньшим :

    Это было предложено Константином Серебрийским. Сценарий src-hilite -lesspipe.sh будет установлен вместе с источником-подсветкой. Вы можете использовать следующие переменные среды:

      export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s" export LESS=' -R ' 

    Таким образом, когда вы используете меньше для просмотра файла, если это исходный файл, обработанный источником-подсветкой, он будет автоматически подсвечиваться.

    Xavier-Emmanuel Vincent недавно предоставил альтернативную версию цветовой схемы ANSI, esc256.style: некоторые терминалы могут обрабатывать 256 цветов. Xavier также предоставил скрипт, который проверяет, сколько цветов может обрабатывать ваш терминал, и в случае использования варианта 256. Сценарий называется source-highlight-esc.sh, и он будет установлен вместе с другими двоичными файлами.

    Чтобы расширить другой ответ, вы можете заставить его работать для большинства, если не для всех ваших скриптов, у которых нет расширений, просто изменив файл .lessfilter:

     #!/bin/sh case "$1" in *.awk|*.groff|*.java|*.js|*.m4|*.php|*.pl|*.pm|*.pod|*.sh|\ *.ad[asb]|*.asm|*.inc|*.[ch]|*.[ch]pp|*.[ch]xx|*.cc|*.hh|\ *.lsp|*.l|*.pas|*.p|*.xml|*.xps|*.xsl|*.axp|*.ppd|*.pov|\ *.diff|*.patch|*.py|*.rb|*.sql|*.ebuild|*.eclass) pygmentize -f 256 "$1";; .bashrc|.bash_aliases|.bash_environment) pygmentize -f 256 -l sh "$1" ;; *) scriptExec=$(head -1 "$1" |grep "^#\!" |awk -F" " '{print $1}') scriptExecStatus=$? if [ "$scriptExecStatus" -eq "0" ]; then lexer=$(echo $scriptExec |awk -F/ '{print $NF}') pygmentize -f 256 -l $lexer "$1" else exit 1 fi esac exit 0 

    Вам все равно нужно добавить две переменные в .bashrc:

     export LESS='-R' export LESSOPEN='|~/.lessfilter %s' 

    И вам все равно нужно сделать исполняемый файл .lessfilter:

     $ chmod 700 ~/.lessfilter 

    Также я хотел добавить, что под debian пакет pygments называется python-pygments. Сначала мне не удалось найти его, потому что очевидного написания «пигментов» как «пигментов» было недостаточно для подсказки, что это пакет, который может быть префикс «python-» менеджером пакетов.

    Чтобы показать меньше, чтобы показать цвета, вызовите его с помощью -R:

     less -R 

    К сожалению, некоторые программы обнаруживают, что их stdout не является терминалом и отключает цвета – например, pacman (менеджер пакетов Arch Linux).

    В этих случаях его можно использовать unbuffer :

     unbuffer <command> | less -R 

    Пример использования pacman

     unbuffer pacman -Ss firefox | less -R 

    Команда unbuffer обычно входит в пакет expect-dev (Debian / Ubuntu) или expect (Arch Linux).

    Чтобы ответить на вопрос о полноте:

    Как уже pygmentize другие, pygmentize подходит для раскраски исходного кода. Это не требует unbuffer . Самый простой вызов:

     pygmentize someSource.cpp | less -R 

    Вы можете использовать most полезности, которая является альтернативой, удобной для цветов, для less и more .

    Снято с моего полного сообщения в блоге об улучшении опыта: https://www.topbug.net/blog/2016/09/27/make-gnu-less-more-powerful/

    Для ярких manpages добавьте следующее к вашим .bashrc или .zshrc :

     export LESS_TERMCAP_mb=$'\E[1;31m' # begin bold export LESS_TERMCAP_md=$'\E[1;36m' # begin blink export LESS_TERMCAP_me=$'\E[0m' # reset bold/blink export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video export LESS_TERMCAP_se=$'\E[0m' # reset reverse video export LESS_TERMCAP_us=$'\E[1;32m' # begin underline export LESS_TERMCAP_ue=$'\E[0m' # reset underline 

    Для подсветки синтаксиса с использованием существующего мощного lesspipe.sh для его обработки вместо написания собственного: https://github.com/wofr06/lesspipe

    Это еще один ответ, основанный на пигментах , с несколькими существенными улучшениями:

    • Не lesspipe фильтры lesspipe или lessfile
    • Работает с несколькими входами
    • Правильно разбирает тип скрипта из заголовка shebang
    • Работает для всех 434 типов файлов lexable by Pygments
    • Цветовая схема параметризуется как переменная среды

    Установка пигментов

     sudo apt-get install python-pygments python3-pygments 

    Установка переменных среды

    Проверьте, lesspipe ли lesspipe или lessfile :

     echo $LESSOPEN 

    Если вы не видите ни одну из lesspipe там программ, убедитесь, что lesspipe установлен (большинство дистрибутивов поставляется с ним).

    Добавьте в ~/.bashrc :

     # sets LESSOPEN and LESSCLOSE variables eval "$(SHELL=/bin/sh lesspipe)" # interpret color characters export LESS='-R' # to list available styles: `pygmentize -L styles` export PYGMENTIZE_STYLE='paraiso-dark' # optional alias ls='ls --color=always' alias grep='grep --color=always' 

    Если вы не хотите использовать lesspipe , замените оператор eval :

     export LESSOPEN='|~/.lessfilter %s' 

    Создать ~/.lessfilter

    Добавьте следующий код и сделайте исполняемый файл: chmod u+x ~/.lessfilter

     #!/bin/bash for path in "$@"; do # match by known filenames filename=$(basename "$path") case "$filename" in .bashrc|bash.bashrc|.bash_aliases|.bash_environment|.bash_profile|\ .bash_login|.bash_logout|.profile|.zshrc|.zprofile|.zshrc|.zlogin|\ .zlogout|zshrc|zprofile|zshrc|zlogin|zlogout|.cshrc|.cshdirs|\ csh.cshrc|csh.login|csh.logout|.tcshrc|.kshrc|ksh.kshrc) # shell lexer pygmentize -f 256 -O style=$PYGMENTIZE_STYLE -l sh "$path" ;; .htaccess|apache.conf|apache2.conf|Dockerfile|Kconfig|external.in*|\ standard-modules.in|nginx.conf|pacman.conf|squid.conf|termcap|\ termcap.src|terminfo|terminfo.src|control|sources.list|CMakeLists.txt|\ Makefile|makefile|Makefile.*|GNUmakefile|SConstruct|SConscript|\ .Rhistory|.Rprofile|.Renviron|Rakefile|Gemfile|PKGBUILD|autohandler|\ dhandler|autodelegate|.vimrc|.exrc|.gvimrc|vimrc|exrc|gvimrc|todo.txt) # filename recognized pygmentize -f 256 -O style=$PYGMENTIZE_STYLE "$path" ;; *) ext=$([[ "$filename" = *.* ]] && echo ".${filename##*.}" || echo '') case "$ext" in .as|.mxml|.bc|.g|.gd|.gi|.gap|.nb|.cdf|.nbp|.ma|.mu|.at|.run|\ .apl|.adl|.adls|.adlf|.adlx|.cadl|.odin|.c-objdump|.s|\ .cpp-objdump|.c++-objdump|.cxx-objdump|.d-objdump|.S|.hsail|\ .ll|.asm|.ASM|.objdump-intel|.objdump|.tasm|.au3|.ahk|.ahkl|\ .bb|.decls|.bmx|.bas|.monkey|.BAS|.bst|.bib|.abap|.ABAP|.cbl|\ .CBL|.cob|.COB|.cpy|.CPY|.gdc|.maql|.p|.cls|.c|.h|.idc|.cpp|\ .hpp|.c++|.h++|.cc|.hh|.cxx|.hxx|.C|.H|.cp|.CPP|.ino|.clay|\ .cu|.cuh|.ec|.eh|.mq4|.mq5|.mqh|.nc|.pike|.pmod|.swg|.i|.vala|\ .vapi|.capnp|.chpl|.icl|.dcl|.cf|.docker|.ini|.cfg|.inf|\ .pc|.properties|.reg|.tf|.pypylog|.cr|.csd|.orc|.sco|.css|\ .less|.sass|.scss|.croc|.d|.di|.smali|.jsonld|.json|.yaml|\ .yml|.dpatch|.darcspatch|.diff|.patch|.wdiff|.boo|.aspx|.asax|\ .ascx|.ashx|.asmx|.axd|.cs|.fs|.fsi|.n|.vb|.als|.bro|.crmsh|\ .pcmk|.msc|.pan|.proto|.pp|.rsl|.sbl|.thrift|.rpf|\ .dylan-console|.dylan|.dyl|.intr|.lid|.hdp|.ecl|.e|.elm|.ex|\ .exs|.erl|.hrl|.es|.escript|.erl-sh|.aheui|.befunge|.bf|.b|\ .camkes|.idl4|.cdl|.cw|.factor|.fan|.flx|.flxh|.frt|.f|.F|\ .f03|.f90|.F03|.F90|.PRG|.prg|.go|.abnf|.bnf|.jsgf|.cyp|\ .cypher|.asy|.vert|.frag|.geo|.plot|.plt|.ps|.eps|.pov|.inc|\ .agda|.cry|.hs|.idr|.kk|.kki|.lagda|.lcry|.lhs|.lidr|.hx|\ .hxsl|.hxml|.sv|.svh|.v|.vhdl|.vhd|.dtd|.haml|.html|.htm|\ .xhtml|.xslt|.pug|.jade|.scaml|.xml|.xsl|.rss|.xsd|.wsdl|\ .wsf|.xpl|.pro|.ipf|.nsi|.nsh|.spec|.i6t|.ni|.i7x|.t|.io|\ .ijs|.coffee|.dart|.eg|.js|.jsm|.juttle|.kal|.lasso|\ .lasso[89]|.ls|.mask|.j|.ts|.tsx|.jl|.aj|.ceylon|.clj|\ .cljs|.golo|.gs|.gsx|.gsp|.vark|.gst|.groovy|.gradle|.ik|\ .java|.kt|.pig|.scala|.xtend|.cpsa|.cl|.lisp|.el|.hy|.lsp|.nl|\ .kif|.rkt|.rktd|.rktl|.scm|.ss|.shen|.xtm|.cmake|.mak|.mk|\ .[1234567]|.man|.md|.css.in|.js.in|.xul.in|.rst|.rest|.tex|\ .aux|.toc|.m|.sci|.sce|.tst|.ml|.mli|.mll|.mly|.opa|.sml|.sig|\ .fun|.bug|.jag|.mo|.stan|.def|.mod|.mt|.ncl|.nim|.nimrod|.nit|\ .nix|.cps|.x|.xi|.xm|.xmi|.mm|.swift|.ooc|.psi|.psl|.G|.ebnf|\ .rl|.treetop|.tt|.adb|.ads|.ada|.pas|.dpr|.pwn|.sp|.pl|.pm|\ .nqp|.p6|.6pl|.p6l|.pl6|.6pm|.p6m|.pm6|.php|.php[345]|.zep|\ .praat|.proc|.psc|.lgt|.logtalk|.prolog|.pyx|.pxd|.pxi|.dg|\ .py3tb|.py|.pyw|.sc|.tac|.sage|.pytb|.qvto|.Rout|.Rd|.R|.rq|\ .sparql|.ttl|.r|.r3|.reb|.red|.reds|.txt|.rnc|.graph|\ .instances|.robot|.fy|.fancypack|.rb|.rbw|.rake|.gemspec|\ .rbx|.duby|.rs|.rs.in|.SAS|.sas|.applescript|.chai|.ezt|\ .mac|.hyb|.jcl|.lsl|.lua|.wlua|.moo|.moon|.rexx|.rex|.rx|\ .arexx|.sh|.ksh|.bash|.ebuild|.eclass|.exheres-0|.exlib|.zsh|\ .sh-session|.shell-session|.bat|.cmd|.fish|.load|.ps1|.psm1|\ .tcsh|.csh|.ns2|.st|.smv|.snobol|.rql|.sql|.sqlite3-console|\ .do|.ado|.scd|.tcl|.rvt|.ng2|.tmpl|.spt|.cfc|.cfm|.cfml|\ .evoque|.kid|.handlebars|.hbs|.phtml|.jsp|.liquid|.mao|.mhtml|\ .mc|.mi|.myt|.rhtml|.tpl|.ssp|.tea|.twig|.vm|.fhtml|.sls|\ .feature|.tap|.awk|.vim|.pot|.po|.weechatlog|.todotxt|.thy|\ .lean|.rts|.u|.vcl|.bpl|.sil|.vpr|.cirru|.duel|.jbst|.qml|\ .qbs|.slim|.xqy|.xquery|.xq|.xql|.xqm|.whiley|.x10) # extension recognized pygmentize -f 256 -O style=$PYGMENTIZE_STYLE "$path" ;; *) # parse the shebang script header if it exists lexer=$(head -n 1 "$path" |grep "^#\!" |awk -F" " \ 'match($1, /\/(\w*)$/, a) {if (a[1]!="env") {print a[1]} else {print $2}}') case "$lexer" in node|nodejs) # workaround for lack of Node.js lexer alias pygmentize -f 256 -O style=$PYGMENTIZE_STYLE \ -l js "$path" ;; "") exit 1 ;; *) pygmentize -f 256 -O style=$PYGMENTIZE_STYLE \ -l $lexer "$path" ;; esac ;; esac ;; esac done exit 0 - #!/bin/bash for path in "$@"; do # match by known filenames filename=$(basename "$path") case "$filename" in .bashrc|bash.bashrc|.bash_aliases|.bash_environment|.bash_profile|\ .bash_login|.bash_logout|.profile|.zshrc|.zprofile|.zshrc|.zlogin|\ .zlogout|zshrc|zprofile|zshrc|zlogin|zlogout|.cshrc|.cshdirs|\ csh.cshrc|csh.login|csh.logout|.tcshrc|.kshrc|ksh.kshrc) # shell lexer pygmentize -f 256 -O style=$PYGMENTIZE_STYLE -l sh "$path" ;; .htaccess|apache.conf|apache2.conf|Dockerfile|Kconfig|external.in*|\ standard-modules.in|nginx.conf|pacman.conf|squid.conf|termcap|\ termcap.src|terminfo|terminfo.src|control|sources.list|CMakeLists.txt|\ Makefile|makefile|Makefile.*|GNUmakefile|SConstruct|SConscript|\ .Rhistory|.Rprofile|.Renviron|Rakefile|Gemfile|PKGBUILD|autohandler|\ dhandler|autodelegate|.vimrc|.exrc|.gvimrc|vimrc|exrc|gvimrc|todo.txt) # filename recognized pygmentize -f 256 -O style=$PYGMENTIZE_STYLE "$path" ;; *) ext=$([[ "$filename" = *.* ]] && echo ".${filename##*.}" || echo '') case "$ext" in .as|.mxml|.bc|.g|.gd|.gi|.gap|.nb|.cdf|.nbp|.ma|.mu|.at|.run|\ .apl|.adl|.adls|.adlf|.adlx|.cadl|.odin|.c-objdump|.s|\ .cpp-objdump|.c++-objdump|.cxx-objdump|.d-objdump|.S|.hsail|\ .ll|.asm|.ASM|.objdump-intel|.objdump|.tasm|.au3|.ahk|.ahkl|\ .bb|.decls|.bmx|.bas|.monkey|.BAS|.bst|.bib|.abap|.ABAP|.cbl|\ .CBL|.cob|.COB|.cpy|.CPY|.gdc|.maql|.p|.cls|.c|.h|.idc|.cpp|\ .hpp|.c++|.h++|.cc|.hh|.cxx|.hxx|.C|.H|.cp|.CPP|.ino|.clay|\ .cu|.cuh|.ec|.eh|.mq4|.mq5|.mqh|.nc|.pike|.pmod|.swg|.i|.vala|\ .vapi|.capnp|.chpl|.icl|.dcl|.cf|.docker|.ini|.cfg|.inf|\ .pc|.properties|.reg|.tf|.pypylog|.cr|.csd|.orc|.sco|.css|\ .less|.sass|.scss|.croc|.d|.di|.smali|.jsonld|.json|.yaml|\ .yml|.dpatch|.darcspatch|.diff|.patch|.wdiff|.boo|.aspx|.asax|\ .ascx|.ashx|.asmx|.axd|.cs|.fs|.fsi|.n|.vb|.als|.bro|.crmsh|\ .pcmk|.msc|.pan|.proto|.pp|.rsl|.sbl|.thrift|.rpf|\ .dylan-console|.dylan|.dyl|.intr|.lid|.hdp|.ecl|.e|.elm|.ex|\ .exs|.erl|.hrl|.es|.escript|.erl-sh|.aheui|.befunge|.bf|.b|\ .camkes|.idl4|.cdl|.cw|.factor|.fan|.flx|.flxh|.frt|.f|.F|\ .f03|.f90|.F03|.F90|.PRG|.prg|.go|.abnf|.bnf|.jsgf|.cyp|\ .cypher|.asy|.vert|.frag|.geo|.plot|.plt|.ps|.eps|.pov|.inc|\ .agda|.cry|.hs|.idr|.kk|.kki|.lagda|.lcry|.lhs|.lidr|.hx|\ .hxsl|.hxml|.sv|.svh|.v|.vhdl|.vhd|.dtd|.haml|.html|.htm|\ .xhtml|.xslt|.pug|.jade|.scaml|.xml|.xsl|.rss|.xsd|.wsdl|\ .wsf|.xpl|.pro|.ipf|.nsi|.nsh|.spec|.i6t|.ni|.i7x|.t|.io|\ .ijs|.coffee|.dart|.eg|.js|.jsm|.juttle|.kal|.lasso|\ .lasso[89]|.ls|.mask|.j|.ts|.tsx|.jl|.aj|.ceylon|.clj|\ .cljs|.golo|.gs|.gsx|.gsp|.vark|.gst|.groovy|.gradle|.ik|\ .java|.kt|.pig|.scala|.xtend|.cpsa|.cl|.lisp|.el|.hy|.lsp|.nl|\ .kif|.rkt|.rktd|.rktl|.scm|.ss|.shen|.xtm|.cmake|.mak|.mk|\ .[1234567]|.man|.md|.css.in|.js.in|.xul.in|.rst|.rest|.tex|\ .aux|.toc|.m|.sci|.sce|.tst|.ml|.mli|.mll|.mly|.opa|.sml|.sig|\ .fun|.bug|.jag|.mo|.stan|.def|.mod|.mt|.ncl|.nim|.nimrod|.nit|\ .nix|.cps|.x|.xi|.xm|.xmi|.mm|.swift|.ooc|.psi|.psl|.G|.ebnf|\ .rl|.treetop|.tt|.adb|.ads|.ada|.pas|.dpr|.pwn|.sp|.pl|.pm|\ .nqp|.p6|.6pl|.p6l|.pl6|.6pm|.p6m|.pm6|.php|.php[345]|.zep|\ .praat|.proc|.psc|.lgt|.logtalk|.prolog|.pyx|.pxd|.pxi|.dg|\ .py3tb|.py|.pyw|.sc|.tac|.sage|.pytb|.qvto|.Rout|.Rd|.R|.rq|\ .sparql|.ttl|.r|.r3|.reb|.red|.reds|.txt|.rnc|.graph|\ .instances|.robot|.fy|.fancypack|.rb|.rbw|.rake|.gemspec|\ .rbx|.duby|.rs|.rs.in|.SAS|.sas|.applescript|.chai|.ezt|\ .mac|.hyb|.jcl|.lsl|.lua|.wlua|.moo|.moon|.rexx|.rex|.rx|\ .arexx|.sh|.ksh|.bash|.ebuild|.eclass|.exheres-0|.exlib|.zsh|\ .sh-session|.shell-session|.bat|.cmd|.fish|.load|.ps1|.psm1|\ .tcsh|.csh|.ns2|.st|.smv|.snobol|.rql|.sql|.sqlite3-console|\ .do|.ado|.scd|.tcl|.rvt|.ng2|.tmpl|.spt|.cfc|.cfm|.cfml|\ .evoque|.kid|.handlebars|.hbs|.phtml|.jsp|.liquid|.mao|.mhtml|\ .mc|.mi|.myt|.rhtml|.tpl|.ssp|.tea|.twig|.vm|.fhtml|.sls|\ .feature|.tap|.awk|.vim|.pot|.po|.weechatlog|.todotxt|.thy|\ .lean|.rts|.u|.vcl|.bpl|.sil|.vpr|.cirru|.duel|.jbst|.qml|\ .qbs|.slim|.xqy|.xquery|.xq|.xql|.xqm|.whiley|.x10) # extension recognized pygmentize -f 256 -O style=$PYGMENTIZE_STYLE "$path" ;; *) # parse the shebang script header if it exists lexer=$(head -n 1 "$path" |grep "^#\!" |awk -F" " \ 'match($1, /\/(\w*)$/, a) {if (a[1]!="env") {print a[1]} else {print $2}}') case "$lexer" in node|nodejs) # workaround for lack of Node.js lexer alias pygmentize -f 256 -O style=$PYGMENTIZE_STYLE \ -l js "$path" ;; "") exit 1 ;; *) pygmentize -f 256 -O style=$PYGMENTIZE_STYLE \ -l $lexer "$path" ;; esac ;; esac ;; esac done exit 0 
    Давайте будем гением компьютера.