This is work in progress. At the moment I can only cross reference quicklisp metadata.
The next step would be getting recursive list of files for each system and generating relevant cross referenced, annotated file views.
It is going to be a difficult job.
https://en.wikipedia.org/wiki/LXR_Cross_Referencer
https://www.cs.cmu.edu/Groups/AI/util/lang/lisp/code/tools/xref/0.html
- cross referencing and indexing
- Good htmlization
- Something so you can see where and how a project is used in the wild.
- Beautiful display and clickable everything.
- Good index and cross reference UI.
- Something you can explore and enjoy.
https://lxr.free-electrons.com/source
https://linux.die.net/man/3/xref
This will generate a static html file.
CL-USER> (ql:quickload :quicklisp-xref) CL-USER> (in-package :quicklisp-xref) QUICKLISP-XREF> (htmlizer)
- git clone the repo
- add it to your quicklisp local projects
- edit folder paths in the config.lisp file
- start slime and run following
CL-USER> (ql:quickload :quicklisp-xref) To load "quicklisp-xref": Load 1 ASDF system: quicklisp-xref ; Loading "quicklisp-xref" ............... (:QUICKLISP-XREF) CL-USER> (in-package :quicklisp-xref) #<PACKAGE "QUICKLISP-XREF"> QUICKLISP-XREF> (run)
- and visit
https://localhost:5000/
all systems
(quicklisp:system-list)
systems not installed locally
CL-USER> (ql:where-is-system :1am) NIL
systems installed locally
CL-USER> (ql:where-is-system :md5) #P"/home/user/quicklisp/dists/quicklisp/software/md5-20150804-git/"
system files
QUICKLISP-XREF> (slot-value (slot-value (nth 31 (ql:system-list)) 'ql-dist:release) 'ql-dist:system-files) ("anaphora.asd")