Navigating source code with HyperKWIC

Arjen Markus (1 march 2018) Yesterday I saw an announcement of a tool called HyperKWIC. It is meant to allow you to navigate your source code, though it is advertised as a documentation tool - as it is neutral wrt the programming language (you can declare a small set of properties for the programming language you're using) it may not be the smartest tool, but it does look useful. I merely extended the language configuration file a bit and it already was able to handle Tcl code. See the screenshot below.

If you are interested, you can find it here: http://www.hyperkwic.com . It is also freely available for non-commercial use.

Here is the addition I made to the configuration file (KWIC_reserved.txt). Whether all the commands need to be reserved, I do not know, but this works for me.

Language: Tcl
Extensions: .tcl
EOLComment: #
CaseSensitive: Yes
CPreProcessor: No
EscapeCharacter: \
Reserved: after           errorInfo       load
Reserved: append          eval            lrange          read
Reserved: apply           exec            lrepeat         refchan         tcl_traceCompile
Reserved: argc            exit            lreplace        regexp          tcl_traceExec
Reserved: argv            expr            lreverse        registry        tcl_version
Reserved: argv0           fblocked        lsearch         regsub          tcl_wordBreakAfter
Reserved: array           fconfigure      lset            rename          tcl_wordBreakBefore
Reserved: auto_execok     fcopy           lsort           return          tcl_wordchars
Reserved: auto_import     file            mathfunc        safe            tcltest
Reserved: auto_load       fileevent       mathop          scan            tell
Reserved: auto_mkindex    filename        memory          seek            throw
Reserved: auto_path       flush           msgcat          self            time
Reserved: auto_qualify    for             my              set             tm
Reserved: auto_reset      foreach         namespace       socket          trace
Reserved: bgerror         format          next            source          transchan
Reserved: binary          gets            nextto          split           try
Reserved: break           glob            oo::class       string          unknown
Reserved: catch           global          oo::copy        subst           unload
Reserved: cd              history         oo::define      switch          unset
Reserved: chan            http            oo::objdefine   tailcall        update
Reserved: clock           if              oo::object      Tcl             uplevel
Reserved: close           incr            open            tcl::prefix     upvar
Reserved: concat          info            package         tcl_endOfWord   variable
Reserved: continue        interp          parray          tcl_findLibrary         vwait
Reserved: coroutine       join            pid             tcl_interactive         while
Reserved: dde             lappend         pkg::create     tcl_library     yield
Reserved: dict            lassign         pkg_mkIndex     tcl_nonwordchars        yieldto
Reserved: encoding        lindex          platform        tcl_patchLevel  zlib
Reserved: env             linsert         platform::shell tcl_pkgPath
Reserved: eof             list            proc            tcl_platform
Reserved: error           llength         puts            tcl_precision
Reserved: errorCode       lmap            pwd             tcl_rcFileName

Screenshot HyperKWIC