diff --git a/.lessfilter b/.lessfilter index 94a99be..203c52a 100644 --- a/.lessfilter +++ b/.lessfilter @@ -1,5 +1,5 @@ #!/bin/bash -# uses Pygments v2.12.0 for syntax highlighting on applicable file types +# uses Pygments v2.13.0 for syntax highlighting on applicable file types for path in "$@"; do # match by known filenames filename=$(basename "$path") @@ -29,71 +29,72 @@ for path in "$@"; do 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|.P|.PRG|.R|.Rd|.Rout|.S|.SAS|.VBS|\ + .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|.als|.ans|.apl|\ - .aplc|.aplf|.apli|.apln|.aplo|.applescript|.arexx|.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|\ + .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|.cob|.coffee|.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|.ezt|.f|\ - .f03|.f90|.factor|.fan|.fancypack|.feature|.fhtml|.fish|.flo|\ - .flx|.flxh|.fnl|.frag|.frt|.fs|.fsi|.fst|.fsti|.fun|.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|.js|\ - .js.in|.js.j2|.js.jinja2|.jsgf|.jslt|.jsm|.json|.jsonld|.jsp|\ + .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|.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|.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|.md|.mhtml|.mi|.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|.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|.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|.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|.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|\ - .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*) + .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|.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|.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|.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|.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*) # extension recognized pygmentize -f 256 -O style="$PYGMENTIZE_STYLE" "$path" ;; diff --git a/README.md b/README.md index 558d87b..f71bda0 100644 --- a/README.md +++ b/README.md @@ -49,14 +49,11 @@ export LESSOPEN='|~/.lessfilter %s' ### 4. Create ~/.lessfilter Run [main.py](main.py) to generate the latest `.lessfilter` file and place it in your home directory. -Or you can download a pre-generated [.lessfilter](.lessfilter) which is currently at version `2.12.0`. +Or you can download a pre-generated [.lessfilter](.lessfilter) which is currently at version `2.13.0`. Check your program version by running `pygmentize -V` to ensure that it is this version or newer. ### 5. Make ~/.lessfilter executable ```shell chmod +x ~/.lessfilter ``` -All set! Test it out by running `less ~/.lessfilter` - -## Notes -The first time `pygmentize` is run in a shell session, you'll likely experience a cold-start delay. Subsequent invocations are much faster. +Done. Test it out by running `less ~/.lessfilter`