aboutsummaryrefslogtreecommitdiff
path: root/system/Sl/sl.tcl.example
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2020-11-20 15:39:29 +0000
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2020-11-22 01:14:20 +0700
commit9cffe6a94560d0874e4c72bae16de065ecdfccab (patch)
treeadebaa07586cbdd2ae3df4724b3b622b8c014a8d /system/Sl/sl.tcl.example
parent7eec2a29897a61406ebf1ff3dd8da9b3506d3f1e (diff)
system/Sl: Added (ls with enhancements)
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/Sl/sl.tcl.example')
-rw-r--r--system/Sl/sl.tcl.example110
1 files changed, 110 insertions, 0 deletions
diff --git a/system/Sl/sl.tcl.example b/system/Sl/sl.tcl.example
new file mode 100644
index 000000000000..d5e0adf99d3e
--- /dev/null
+++ b/system/Sl/sl.tcl.example
@@ -0,0 +1,110 @@
+#
+# runtime configuration file for sl (http://www.PracticalThought.com/sl/)
+#
+
+
+
+# 1. override variables
+
+# turn off color
+#set COLORIZE 0
+
+# if your terminal supports Unicode characters, use them
+set I18N(...) "\u2026"
+
+set SWITCH(title) 1 ;# turn on prettyname
+set SWITCH(nosfx) 1 ;# once you know it's audio or video, don't care what arcane file format it is
+set SWITCH(prefix) 3 ;# turn on prefix elision
+
+# if your terminal supports 256 colors, these may be preferable
+# For other color codes, see colortest (http://www.vim.org/scripts/script.php?script_id=1349).
+array set STYLE {
+ file ";38;5;28" dir ";38;5;20"
+ relrec,file ";38;5;202" relrec,dir ";38;5;202"
+ warning ";38;5;196"
+ post ";38;5;232"
+}
+
+
+# add names to highlight or not show at all
+#append NOTABLE {|TODO$|notes|TOSORT}
+#append IGNORE {|^(tmp|old|obsolete|ignore|bkup)$}
+
+#set K 1000; # set K/M/G/T size suffixes to base 10 vs base 2
+
+# set TIME(recent) [expr $TIME(DAY)*2]
+
+#set COLSEP 4
+#set NAMEMIN 1000; # turn off name shortening
+
+# see supporting files like C .h and .o
+#set SWITCH(ignore) 2
+
+# consider .xml a document, not data
+#set EQ(.xml) doc
+
+# some Linux file systems do not update atime, so turn off to avoid stale information
+#set SWITCH(relread) 0
+
+# L10N
+set I18N(file) fecho
+
+
+
+# 2. per file hook to override properties
+# startup file gets tuple for each file fully loaded with data, just before display, to modify as he pleases
+proc perfile {dir tuple} {
+ global EQ
+
+ # a. unpack
+ lassign $tuple tail sfx type group sortkey style pre display warning post size mtime atime
+
+
+ # b. your changes here
+
+ # example: negate dir reclassification
+ if {$type=="directory"} {set group "dir"}
+
+ # example: show #lines of selected file
+ if {$tail=="sl" && $type=="file"} {
+ append post " [lindex [exec wc sl] 0]l"
+
+ # example: on Ant build.xml, show date and number of last build (<buildnumber /> task)
+ } elseif {$tail=="build.xml" && [file readable [set f "$dir/build.number"]]} {
+ set fid [open $f]; set txt [read $fid]; close $fid
+#puts $txt
+ regexp {build.number=(\d+)} $txt all num
+ if {$num!=""} {append post " #$num"}
+ append post "[reltime [file mtime $f]]"
+ }
+
+ # example: auto search for filename matching regexp and highlight (show in black on magenta background)
+ #if {[regexp -nocase {license|password} $tail]} {set style ";30;46"}
+
+ # example: local naming convention that puts date at start of file in form yyyymmdd-filename,
+ # but problematic for sorting by Tcl lsort -dictionary, so reformat
+ regsub {^(19|20)(\d\d)(\d\d)(\d\d\D)} $sortkey {\1\2.\3.\4} sortkey
+ regsub {^(19|20)(\d\d)(\d\d\D)} $sortkey {\1\2.\3} sortkey
+
+
+ # c. repack
+ return [list $tail $sfx $type $group $sortkey $style $pre $display $warning $post $size $mtime $atime]
+}
+
+
+
+# 3. redefine procs
+
+#proc vc {} ...
+
+# turn off series construction
+#set SWITCH(series) 0
+
+# change how names are shortened
+#proc shorten {txt w} {}
+
+# classify dir as plain dir, not audio/video and not separate uppercase/lowercase
+#proc classifydir {dir tail l} {return "dir"}
+
+# change evaluation of what constitutes a distinctive file for -only
+#proc distinctive {tuple} {return 1}