Skip to content

bigos/quicklisp-xref

Repository files navigation

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

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

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

Running HTMLizer

This will generate a static html file.

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

https://localhost:5000/

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

About

cross referencing tool for Quicklisp

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published