Skip to content

Latest commit

 

History

History
87 lines (66 loc) · 2.08 KB

README.org

File metadata and controls

87 lines (66 loc) · 2.08 KB

Quicklisp-XREF

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.

Inspired by

https://en.wikipedia.org/wiki/LXR_Cross_Referencer

Essential Lisp code

http:https://www.cs.cmu.edu/Groups/AI/util/lang/lisp/code/tools/xref/0.html

Needed Features

  • 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.

Linux xref example

http:https://lxr.free-electrons.com/source

Running HTMLizer

This will generate a static html file with cross reference quicklisp information.

CL-USER> (ql:quickload :quicklisp-xref)
CL-USER> (in-package :quicklisp-xref)
QUICKLISP-XREF> (htmlizer)

Running sample web app

  • 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

http:https://localhost:5000/

Relevant projects

finding relevant info

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")