-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.lessfilter
executable file
·127 lines (127 loc) · 7.94 KB
/
.lessfilter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#!/bin/bash
# uses Pygments v2.18.0 for syntax highlighting on applicable file types
for path in "$@"; do
# match by known filenames
filename=$(basename "$path")
case "$filename" in
.bash_aliases|.bash_completion|.bash_environment|.bash_history|\
.bash_login|.bash_logout|.bash_profile|.cshdirs|.cshrc|.profile|\
.tcshrc|.zlogin|.zlogout|.zprofile|.zshenv|bash.bashrc|csh.cshrc|\
csh.login|csh.logout|ksh.kshrc.kshrc|zlogin|zlogout|zprofile)
# shell lexer
pygmentize -f 256 -O style="$PYGMENTIZE_STYLE" -l sh "$path"
;;
*.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|*.asn1|*.aspx|*.asy|*.at|*.au3|*.aug|*.automount|*.aux|\
*.awk|*.axd|*.b|*.bare|*.bas|*.bash|*.bat|*.bb|*.bbc|*.bc|*.be|\
*.befunge|*.bf|*.bib|*.blp|*.bmx|*.bnf|*.boa|*.boo|*.bpl|*.bqn|*.bro|\
*.bst|*.bug|*.bzl|*.c|*.c++|*.c++-objdump|*.c-objdump|*.cadl|*.camkes|\
*.capnp|*.carbon|*.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|*.dax|*.dcl|*.decls|*.def|\
*.desktop|*.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|*.explain|*.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|*.graphql|\
*.groovy|*.gs|*.gsp|*.gsql|*.gst|*.gsx|*.gv|*.h|*.h++|*.haml|\
*.handlebars|*.hbs|*.hcl|*.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|*.janet|\
*.java|*.jbst|*.jcl|*.jdn|*.jl|*.jp|*.js|*.js.in|*.js.j2|*.js.jinja2|\
*.jsgf|*.jslt|*.jsm|*.json|*.jsonl|*.jsonld|*.jsonnet|*.jsp|*.jsul4|\
*.jsx|*.juttle|*.jy|*.k|*.kal|*.kid|*.kif|*.kk|*.kki|*.kmsg|*.kn|\
*.kql|*.ksh|*.kt|*.kts|*.kusto|*.lagda|*.lasso|*.lasso[89]|*.lcry|\
*.ldif|*.lean|*.leex|*.less|*.lgt|*.lhs|*.libsonnet|*.lid|*.lidr|\
*.liquid|*.lisp|*.ll|*.load|*.logtalk|*.lpad|*.ls|*.lsl|*.lsp|*.lua|\
*.luau|*.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|*.mojo|\
*.monkey|*.moo|*.moon|*.mos|*.mount|*.mq4|*.mq5|*.mqh|*.ms|*.msc|*.mt|\
*.mu|*.mxml|*.myt|*.n|*.nasm|*.nb|*.nbp|*.nc|*.ncl|*.ndjson|*.ng2|\
*.ni|*.nim|*.nimrod|*.nit|*.nix|*.nl|*.nqp|*.ns2|*.nsh|*.nsi|*.nt|\
*.objdump|*.objdump-intel|*.odin|*.ooc|*.opa|*.orc|*.org|*.p|*.p6|\
*.p6l|*.p6m|*.pack|*.pan|*.pas|*.patch|*.path|*.pc|*.pcmk|*.peg|*.pem|\
*.perl|*.ph|*.php|*.php[345]|*.phtml|*.pidl|*.pig|*.pike|*.pl|*.pl6|\
*.plot|*.plt|*.pm|*.pm6|*.pml|*.pmod|*.po|*.pony|*.portugol|*.pot|\
*.pov|*.pp|*.pr|*.praat|*.prg|*.prm|*.pro|*.proc|*.prolog|*.prom|\
*.promela|*.promql|*.properties|*.proto|*.prql|*.ps|*.ps1|*.psc|*.psi|\
*.psl|*.psm1|*.ptls|*.ptx|*.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|*.react|*.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|*.scad|*.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|*.tact|*.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|*.typ|*.typoscript|*.u|\
*.u1|*.u2|*.udo|*.ul4|*.usd|*.usda|*.v|*.vala|*.vapi|*.vark|*.vb|\
*.vbs|*.vcl|*.vert|*.vhd|*.vhdl|*.vim|*.vipgrm|*.vm|*.vp|*.vpr|*.vy|\
*.wast|*.wat|*.wdiff|*.webidl|*.weechatlog|*.wgsl|*.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|*.xpp|*.xq|*.xql|*.xqm|*.xquery|*.xqy|*.xsd|*.xsl|*.xslt|\
*.xtend|*.xtm|*.xul.in|*.yaml|*.yaml.j2|*.yaml.jinja2|*.yang|*.yar|\
*.yml|*.yml.j2|*.yml.jinja2|*.zeek|*.zep|*.zig|*.zone|*.zsh|*.🔥|\
*Config.in*|*Spec.hs|.Renviron|.Rhistory|.Rprofile|.SRCINFO|.bashrc|\
.csl|.editorconfig|.exrc|.gvimrc|.htaccess|.kshrc|.ldaprc|.vimrc|\
.zshrc|Android.bp|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|ldap.conf|ldaprc|\
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"
;;
*)
# 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
;;
*)
# use lexer alias parsed from the shebang
pygmentize -f 256 -O style="$PYGMENTIZE_STYLE" \
-l "$lexer" "$path"
;;
esac
;;
esac
done
exit 0