mirror of
https://github.com/CoeJoder/lessfilter-pygmentize.git
synced 2025-11-08 13:13:48 -05:00
Simplify case statement
This commit is contained in:
201
.lessfilter
201
.lessfilter
@@ -11,118 +11,111 @@ for path in "$@"; do
|
||||
# shell lexer
|
||||
pygmentize -f 256 -O style="$PYGMENTIZE_STYLE" -l sh "$path"
|
||||
;;
|
||||
*Config.in*|*Spec.hs|.Renviron|.Rhistory|.Rprofile|.SRCINFO|.bashrc|\
|
||||
.editorconfig|.exrc|.gvimrc|.htaccess|.kshrc|.vimrc|.zshrc|BUCK|BUILD|\
|
||||
BUILD.bazel|CMakeLists.txt|Dockerfile|GNUmakefile|Gemfile|Kconfig*|\
|
||||
Makefile|Makefile.*|PKGBUILD|Pipfile|Pipfile.lock|Procfile|Rakefile|\
|
||||
SConscript|SConstruct|Singularity|Vagrantfile|WORKSPACE|apache.conf|\
|
||||
apache2.conf|autodelegate|autohandler|bashrc|control|dhandler|exrc|\
|
||||
external.in*|gvimrc|iddsa|idecdsa|idecdsask|ided25519|ided25519sk|\
|
||||
idrsa|kshrc|lighttpd.conf|makefile|meson.build|mesonoptions.txt|\
|
||||
nginx.conf|pacman.conf|poetry.lock|sources.list|squid.conf|\
|
||||
standard-modules.in|termcap|termcap.src|terminfo|terminfo.src|\
|
||||
todo.txt|vimrc|xorg.conf|zshrc)
|
||||
*.1p|*.3pm|*.6pl|*.6pm|*.ABAP|*.ASM|*.BAS|*.C|*.CBL|*.COB|*.CPP|*.CPY|\
|
||||
*.F|*.F03|*.F90|*.G|*.H|*.ICON|*.MIPS|*.P|*.PRG|*.R|*.Rd|*.Rout|*.S|\
|
||||
*.SAS|*.VBS|*.[1-9]|*.[gs]sed|*.abap|*.abnf|*.ada|*.adb|*.adl|*.adlf|\
|
||||
*.adls|*.adlx|*.ado|*.ads|*.aes|*.agda|*.aheui|*.ahk|*.ahkl|*.aj|\
|
||||
*.alg|*.als|*.ans|*.apl|*.aplc|*.aplf|*.apli|*.apln|*.aplo|\
|
||||
*.applescript|*.arexx|*.art|*.arw|*.as|*.asax|*.asc|*.ascx|*.ashx|\
|
||||
*.asm|*.asmx|*.aspx|*.asy|*.at|*.au3|*.aug|*.automount|*.aux|*.awk|\
|
||||
*.axd|*.b|*.bare|*.bas|*.bash|*.bat|*.bb|*.bbc|*.bc|*.be|*.befunge|\
|
||||
*.bf|*.bib|*.bmx|*.bnf|*.boa|*.boo|*.bpl|*.bro|*.bst|*.bug|*.bzl|*.c|\
|
||||
*.c++|*.c++-objdump|*.c-objdump|*.cadl|*.camkes|*.capnp|*.cbl|*.cc|\
|
||||
*.cddl|*.cdf|*.cdl|*.ceylon|*.cf|*.cfc|*.cfg|*.cfm|*.cfml|*.chai|\
|
||||
*.chpl|*.ci|*.cirru|*.cjs|*.cl|*.clay|*.clj|*.cljc|*.cljs|*.cls|\
|
||||
*.cmake|*.cmd|*.cml|*.cob|*.coffee|*.comal|*.cp|*.cpl|*.cpp|\
|
||||
*.cpp-objdump|*.cps|*.cpsa|*.cpy|*.cr|*.crmsh|*.croc|*.cry|*.cs|*.csd|\
|
||||
*.csh|*.css|*.css.in|*.css.j2|*.css.jinja2|*.cssul4|*.cu|*.cuh|*.cw|\
|
||||
*.cxx|*.cxx-objdump|*.cyp|*.cypher|*.d|*.d-objdump|*.darcspatch|\
|
||||
*.dart|*.dasm|*.dasm16|*.dcl|*.decls|*.def|*.device|*.dg|*.di|*.diff|\
|
||||
*.dmesg|*.do|*.docker|*.dot|*.dpatch|*.dpr|*.dtd|*.dts|*.dtsi|*.duby|\
|
||||
*.duel|*.dyalog|*.dyl|*.dylan|*.dylan-console|*.e|*.ebnf|*.ebuild|\
|
||||
*.ec|*.ecl|*.eclass|*.edp|*.eex|*.eg|*.eh|*.el|*.elm|*.elpi|*.eml|\
|
||||
*.eps|*.erl|*.erl-sh|*.es|*.escript|*.evoque|*.ex|*.exec|*.exheres-0|\
|
||||
*.exlib|*.exs|*.exw|*.ezt|*.f|*.f03|*.f90|*.factor|*.fan|*.fancypack|\
|
||||
*.fc|*.feature|*.fhtml|*.fif|*.fish|*.flo|*.flx|*.flxh|*.fnl|*.frag|\
|
||||
*.frt|*.fs|*.fsi|*.fst|*.fsti|*.fsx|*.fun|*.func|*.fut|*.fy|*.g|*.gap|\
|
||||
*.gcode|*.gd|*.gdc|*.gemspec|*.geo|*.gi|*.go|*.golo|*.gradle|*.graph|\
|
||||
*.groovy|*.gs|*.gsp|*.gsql|*.gst|*.gsx|*.gv|*.h|*.h++|*.haml|\
|
||||
*.handlebars|*.hbs|*.hdp|*.hh|*.hlsl|*.hlsli|*.hpp|*.hrl|*.hs|*.hsail|\
|
||||
*.htm|*.htm.j2|*.htm.jinja2|*.html|*.html.j2|*.html.jinja2|*.htmlul4|\
|
||||
*.hx|*.hxml|*.hxsl|*.hxx|*.hy|*.hyb|*.i|*.i6t|*.i7x|*.icl|*.icn|\
|
||||
*.icon|*.idc|*.idl|*.idl4|*.idr|*.ijs|*.ik|*.inc|*.inf|*.ini|*.ino|\
|
||||
*.instances|*.intr|*.io|*.ipf|*.isa|*.j|*.jade|*.jag|*.java|*.jbst|\
|
||||
*.jcl|*.jl|*.jp|*.js|*.js.in|*.js.j2|*.js.jinja2|*.jsgf|*.jslt|*.jsm|\
|
||||
*.json|*.jsonld|*.jsonnet|*.jsp|*.jsul4|*.juttle|*.jy|*.k|*.kal|*.kid|\
|
||||
*.kif|*.kk|*.kki|*.kmsg|*.kn|*.ksh|*.kt|*.kts|*.lagda|*.lasso|\
|
||||
*.lasso[89]|*.lcry|*.lean|*.leex|*.less|*.lgt|*.lhs|*.libsonnet|*.lid|\
|
||||
*.lidr|*.liquid|*.lisp|*.ll|*.load|*.logtalk|*.lpad|*.ls|*.lsl|*.lsp|\
|
||||
*.lua|*.ly|*.m|*.m2|*.ma|*.mac|*.mak|*.man|*.mao|*.maql|*.markdown|\
|
||||
*.mask|*.max|*.mc|*.mcfunction|*.mcschema|*.md|*.mhtml|*.mi|*.mips|\
|
||||
*.mir|*.mjs|*.mk|*.ml|*.mli|*.mll|*.mly|*.mm|*.mo|*.mod|*.monkey|\
|
||||
*.moo|*.moon|*.mos|*.mount|*.mq4|*.mq5|*.mqh|*.ms|*.msc|*.mt|*.mu|\
|
||||
*.mxml|*.myt|*.n|*.nasm|*.nb|*.nbp|*.nc|*.ncl|*.ng2|*.ni|*.nim|\
|
||||
*.nimrod|*.nit|*.nix|*.nl|*.nqp|*.ns2|*.nsh|*.nsi|*.nt|*.objdump|\
|
||||
*.objdump-intel|*.odin|*.ooc|*.opa|*.orc|*.p|*.p6|*.p6l|*.p6m|*.pan|\
|
||||
*.pas|*.patch|*.path|*.pc|*.pcmk|*.peg|*.pem|*.perl|*.php|*.php[345]|\
|
||||
*.phtml|*.pidl|*.pig|*.pike|*.pl|*.pl6|*.plot|*.plt|*.pm|*.pm6|*.pmod|\
|
||||
*.po|*.pony|*.portugol|*.pot|*.pov|*.pp|*.praat|*.prg|*.pro|*.proc|\
|
||||
*.prolog|*.promql|*.properties|*.proto|*.ps|*.ps1|*.psc|*.psi|*.psl|\
|
||||
*.psm1|*.ptls|*.pug|*.pwn|*.pxd|*.pxi|*.py|*.py2tb|*.py3tb|*.pyi|\
|
||||
*.pypylog|*.pytb|*.pyul4|*.pyw|*.pyx|*.q|*.qbs|*.qml|*.qvs|*.qvto|\
|
||||
*.qvw|*.r|*.r3|*.rake|*.raku|*.rakudoc|*.rakumod|*.rakutest|*.rb|\
|
||||
*.rbw|*.rbx|*.re|*.reb|*.red|*.reds|*.reg|*.rei|*.resource|*.rest|\
|
||||
*.rex|*.rexx|*.rhtml|*.ride|*.rita|*.rkt|*.rktd|*.rktl|*.rl|*.rnc|\
|
||||
*.robot|*.rpf|*.rq|*.rql|*.rs|*.rs.in|*.rsl|*.rss|*.rst|*.rts|*.run|\
|
||||
*.rvt|*.rx|*.s|*.sage|*.sarl|*.sas|*.sass|*.savi|*.sbl|*.sc|*.scala|\
|
||||
*.scaml|*.scd|*.scdoc|*.sce|*.sci|*.scm|*.sco|*.scope|*.scss|*.sed|\
|
||||
*.service|*.sgf|*.sh|*.sh-session|*.shell-session|*.shen|*.shex|\
|
||||
*.sieve|*.sig|*.sil|*.siv|*.sl|*.sla|*.slice|*.slim|*.sls|*.smali|\
|
||||
*.smithy|*.sml|*.smv|*.snbt|*.snobol|*.socket|*.sol|*.sp|*.sparql|\
|
||||
*.spec|*.spice|*.spt|*.sql|*.sql.j2|*.sql.jinja2|*.sqlite3-console|\
|
||||
*.ss|*.ssp|*.st|*.stan|*.sv|*.svh|*.swap|*.swg|*.swift|*.t|*.tac|\
|
||||
*.tal|*.tap|*.target|*.tasm|*.tcl|*.tcsh|*.tea|*.teal|*.tex|*.tf|\
|
||||
*.thrift|*.thy|*.ti|*.tid|*.timer|*.tlb|*.tmpl|*.tnt|*.toc|*.todotxt|\
|
||||
*.toml|*.tpl|*.tpp|*.treetop|*.ts|*.tst|*.tt|*.ttl|*.twig|*.txt|\
|
||||
*.typoscript|*.u|*.u1|*.u2|*.udo|*.ul4|*.usd|*.usda|*.v|*.vala|*.vapi|\
|
||||
*.vark|*.vb|*.vbs|*.vcl|*.vert|*.vhd|*.vhdl|*.vim|*.vm|*.vpr|*.wast|\
|
||||
*.wat|*.wdiff|*.webidl|*.weechatlog|*.whiley|*.wlua|*.wren|*.wsdl|\
|
||||
*.wsf|*.x|*.x10|*.x[bp]m|*.xhtml|*.xhtml.j2|*.xhtml.jinja2|*.xi|*.xm|\
|
||||
*.xmi|*.xml|*.xml.j2|*.xml.jinja2|*.xmlul4|*.xpl|*.xq|*.xql|*.xqm|\
|
||||
*.xquery|*.xqy|*.xsd|*.xsl|*.xslt|*.xtend|*.xtm|*.xul.in|*.yaml|\
|
||||
*.yaml.j2|*.yaml.jinja2|*.yang|*.yml|*.yml.j2|*.yml.jinja2|*.zeek|\
|
||||
*.zep|*.zig|*.zsh|*Config.in*|*Spec.hs|.Renviron|.Rhistory|.Rprofile|\
|
||||
.SRCINFO|.bashrc|.editorconfig|.exrc|.gvimrc|.htaccess|.kshrc|.vimrc|\
|
||||
.zshrc|BUCK|BUILD|BUILD.bazel|CMakeLists.txt|Dockerfile|GNUmakefile|\
|
||||
Gemfile|Kconfig*|Makefile|Makefile.*|PKGBUILD|Pipfile|Pipfile.lock|\
|
||||
Procfile|Rakefile|SConscript|SConstruct|Singularity|Vagrantfile|\
|
||||
WORKSPACE|apache.conf|apache2.conf|autodelegate|autohandler|bashrc|\
|
||||
control|dhandler|exrc|external.in*|gvimrc|iddsa|idecdsa|idecdsask|\
|
||||
ided25519|ided25519sk|idrsa|kshrc|lighttpd.conf|makefile|meson.build|\
|
||||
mesonoptions.txt|nginx.conf|pacman.conf|poetry.lock|sources.list|\
|
||||
squid.conf|standard-modules.in|termcap|termcap.src|terminfo|\
|
||||
terminfo.src|todo.txt|vimrc|xorg.conf|zshrc)
|
||||
# filename recognized
|
||||
pygmentize -f 256 -O style="$PYGMENTIZE_STYLE" "$path"
|
||||
;;
|
||||
*)
|
||||
ext=$([[ "$filename" = *.* ]] && echo ".${filename##*.}" || echo '')
|
||||
case "$ext" in
|
||||
.1p|.3pm|.6pl|.6pm|.ABAP|.ASM|.BAS|.C|.CBL|.COB|.CPP|.CPY|.F|\
|
||||
.F03|.F90|.G|.H|.ICON|.MIPS|.P|.PRG|.R|.Rd|.Rout|.S|.SAS|.VBS|\
|
||||
.[1-9]|.[gs]sed|.abap|.abnf|.ada|.adb|.adl|.adlf|.adls|.adlx|\
|
||||
.ado|.ads|.aes|.agda|.aheui|.ahk|.ahkl|.aj|.alg|.als|.ans|\
|
||||
.apl|.aplc|.aplf|.apli|.apln|.aplo|.applescript|.arexx|.art|\
|
||||
.arw|.as|.asax|.asc|.ascx|.ashx|.asm|.asmx|.aspx|.asy|.at|\
|
||||
.au3|.aug|.automount|.aux|.awk|.axd|.b|.bare|.bas|.bash|.bat|\
|
||||
.bb|.bbc|.bc|.be|.befunge|.bf|.bib|.bmx|.bnf|.boa|.boo|.bpl|\
|
||||
.bro|.bst|.bug|.bzl|.c|.c++|.c++-objdump|.c-objdump|.cadl|\
|
||||
.camkes|.capnp|.cbl|.cc|.cddl|.cdf|.cdl|.ceylon|.cf|.cfc|.cfg|\
|
||||
.cfm|.cfml|.chai|.chpl|.ci|.cirru|.cjs|.cl|.clay|.clj|.cljc|\
|
||||
.cljs|.cls|.cmake|.cmd|.cml|.cob|.coffee|.comal|.cp|.cpl|.cpp|\
|
||||
.cpp-objdump|.cps|.cpsa|.cpy|.cr|.crmsh|.croc|.cry|.cs|.csd|\
|
||||
.csh|.css|.css.in|.css.j2|.css.jinja2|.cssul4|.cu|.cuh|.cw|\
|
||||
.cxx|.cxx-objdump|.cyp|.cypher|.d|.d-objdump|.darcspatch|\
|
||||
.dart|.dasm|.dasm16|.dcl|.decls|.def|.device|.dg|.di|.diff|\
|
||||
.dmesg|.do|.docker|.dot|.dpatch|.dpr|.dtd|.dts|.dtsi|.duby|\
|
||||
.duel|.dyalog|.dyl|.dylan|.dylan-console|.e|.ebnf|.ebuild|.ec|\
|
||||
.ecl|.eclass|.edp|.eex|.eg|.eh|.el|.elm|.elpi|.eml|.eps|.erl|\
|
||||
.erl-sh|.es|.escript|.evoque|.ex|.exec|.exheres-0|.exlib|.exs|\
|
||||
.exw|.ezt|.f|.f03|.f90|.factor|.fan|.fancypack|.fc|.feature|\
|
||||
.fhtml|.fif|.fish|.flo|.flx|.flxh|.fnl|.frag|.frt|.fs|.fsi|\
|
||||
.fst|.fsti|.fsx|.fun|.func|.fut|.fy|.g|.gap|.gcode|.gd|.gdc|\
|
||||
.gemspec|.geo|.gi|.go|.golo|.gradle|.graph|.groovy|.gs|.gsp|\
|
||||
.gsql|.gst|.gsx|.gv|.h|.h++|.haml|.handlebars|.hbs|.hdp|.hh|\
|
||||
.hlsl|.hlsli|.hpp|.hrl|.hs|.hsail|.htm|.htm.j2|.htm.jinja2|\
|
||||
.html|.html.j2|.html.jinja2|.htmlul4|.hx|.hxml|.hxsl|.hxx|.hy|\
|
||||
.hyb|.i|.i6t|.i7x|.icl|.icn|.icon|.idc|.idl|.idl4|.idr|.ijs|\
|
||||
.ik|.inc|.inf|.ini|.ino|.instances|.intr|.io|.ipf|.isa|.j|\
|
||||
.jade|.jag|.java|.jbst|.jcl|.jl|.jp|.js|.js.in|.js.j2|\
|
||||
.js.jinja2|.jsgf|.jslt|.jsm|.json|.jsonld|.jsonnet|.jsp|\
|
||||
.jsul4|.juttle|.jy|.k|.kal|.kid|.kif|.kk|.kki|.kmsg|.kn|.ksh|\
|
||||
.kt|.kts|.lagda|.lasso|.lasso[89]|.lcry|.lean|.leex|.less|\
|
||||
.lgt|.lhs|.libsonnet|.lid|.lidr|.liquid|.lisp|.ll|.load|\
|
||||
.logtalk|.lpad|.ls|.lsl|.lsp|.lua|.ly|.m|.m2|.ma|.mac|.mak|\
|
||||
.man|.mao|.maql|.markdown|.mask|.max|.mc|.mcfunction|\
|
||||
.mcschema|.md|.mhtml|.mi|.mips|.mir|.mjs|.mk|.ml|.mli|.mll|\
|
||||
.mly|.mm|.mo|.mod|.monkey|.moo|.moon|.mos|.mount|.mq4|.mq5|\
|
||||
.mqh|.ms|.msc|.mt|.mu|.mxml|.myt|.n|.nasm|.nb|.nbp|.nc|.ncl|\
|
||||
.ng2|.ni|.nim|.nimrod|.nit|.nix|.nl|.nqp|.ns2|.nsh|.nsi|.nt|\
|
||||
.objdump|.objdump-intel|.odin|.ooc|.opa|.orc|.p|.p6|.p6l|.p6m|\
|
||||
.pan|.pas|.patch|.path|.pc|.pcmk|.peg|.pem|.perl|.php|\
|
||||
.php[345]|.phtml|.pidl|.pig|.pike|.pl|.pl6|.plot|.plt|.pm|\
|
||||
.pm6|.pmod|.po|.pony|.portugol|.pot|.pov|.pp|.praat|.prg|.pro|\
|
||||
.proc|.prolog|.promql|.properties|.proto|.ps|.ps1|.psc|.psi|\
|
||||
.psl|.psm1|.ptls|.pug|.pwn|.pxd|.pxi|.py|.py2tb|.py3tb|.pyi|\
|
||||
.pypylog|.pytb|.pyul4|.pyw|.pyx|.q|.qbs|.qml|.qvs|.qvto|.qvw|\
|
||||
.r|.r3|.rake|.raku|.rakudoc|.rakumod|.rakutest|.rb|.rbw|.rbx|\
|
||||
.re|.reb|.red|.reds|.reg|.rei|.resource|.rest|.rex|.rexx|\
|
||||
.rhtml|.ride|.rita|.rkt|.rktd|.rktl|.rl|.rnc|.robot|.rpf|.rq|\
|
||||
.rql|.rs|.rs.in|.rsl|.rss|.rst|.rts|.run|.rvt|.rx|.s|.sage|\
|
||||
.sarl|.sas|.sass|.savi|.sbl|.sc|.scala|.scaml|.scd|.scdoc|\
|
||||
.sce|.sci|.scm|.sco|.scope|.scss|.sed|.service|.sgf|.sh|\
|
||||
.sh-session|.shell-session|.shen|.shex|.sieve|.sig|.sil|.siv|\
|
||||
.sl|.sla|.slice|.slim|.sls|.smali|.smithy|.sml|.smv|.snbt|\
|
||||
.snobol|.socket|.sol|.sp|.sparql|.spec|.spice|.spt|.sql|\
|
||||
.sql.j2|.sql.jinja2|.sqlite3-console|.ss|.ssp|.st|.stan|.sv|\
|
||||
.svh|.swap|.swg|.swift|.t|.tac|.tal|.tap|.target|.tasm|.tcl|\
|
||||
.tcsh|.tea|.teal|.tex|.tf|.thrift|.thy|.ti|.tid|.timer|.tlb|\
|
||||
.tmpl|.tnt|.toc|.todotxt|.toml|.tpl|.tpp|.treetop|.ts|.tst|\
|
||||
.tt|.ttl|.twig|.txt|.typoscript|.u|.u1|.u2|.udo|.ul4|.usd|\
|
||||
.usda|.v|.vala|.vapi|.vark|.vb|.vbs|.vcl|.vert|.vhd|.vhdl|\
|
||||
.vim|.vm|.vpr|.wast|.wat|.wdiff|.webidl|.weechatlog|.whiley|\
|
||||
.wlua|.wren|.wsdl|.wsf|.x|.x10|.x[bp]m|.xhtml|.xhtml.j2|\
|
||||
.xhtml.jinja2|.xi|.xm|.xmi|.xml|.xml.j2|.xml.jinja2|.xmlul4|\
|
||||
.xpl|.xq|.xql|.xqm|.xquery|.xqy|.xsd|.xsl|.xslt|.xtend|.xtm|\
|
||||
.xul.in|.yaml|.yaml.j2|.yaml.jinja2|.yang|.yml|.yml.j2|\
|
||||
.yml.jinja2|.zeek|.zep|.zig|.zsh)
|
||||
# extension recognized
|
||||
pygmentize -f 256 -O style="$PYGMENTIZE_STYLE" "$path"
|
||||
# attempt to parse the lexer from the shebang if it exists
|
||||
lexer=$(head -n 1 "$path" | grep '^#\!' | awk -F" " \
|
||||
'{ if (/env/) { print $2 } else { sub( /.*\//, ""); print $1;} }')
|
||||
case "$lexer" in
|
||||
node|nodejs)
|
||||
# use `js` lexer for nodejs
|
||||
pygmentize -f 256 -O style="$PYGMENTIZE_STYLE" \
|
||||
-l js "$path"
|
||||
;;
|
||||
"")
|
||||
# fall-back to plain text
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
# unrecognized filename/extension
|
||||
# attempt to parse the lexer from the shebang if it exists
|
||||
lexer=$(head -n 1 "$path" | grep '^#\!' | awk -F" " \
|
||||
'{ if (/env/) { print $2 } else { sub( /.*\//, ""); print $1;} }')
|
||||
case "$lexer" in
|
||||
node|nodejs)
|
||||
# workaround for lack of Node.js lexer alias
|
||||
pygmentize -f 256 -O style="$PYGMENTIZE_STYLE" \
|
||||
-l js "$path"
|
||||
;;
|
||||
"")
|
||||
# fall-back to plain text
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
# use lexer alias parsed from the shebang
|
||||
pygmentize -f 256 -O style="$PYGMENTIZE_STYLE" \
|
||||
-l "$lexer" "$path"
|
||||
;;
|
||||
esac
|
||||
# use lexer alias parsed from the shebang
|
||||
pygmentize -f 256 -O style="$PYGMENTIZE_STYLE" \
|
||||
-l "$lexer" "$path"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
done
|
||||
exit 0
|
||||
exit 0
|
||||
Reference in New Issue
Block a user