[Geany-Users] Lisp improvements

James Brierley jmb8710 at xxxxx
Thu Mar 19 22:16:47 UTC 2015


Hi Matthew.

 > BTW, it sounds like you have the right idea WRT adding a parser.

Relieved to hear my C source reading skills have improved.

> What would it show, just a flat sequence of Lists with a Symbol in the
> car position? Syntactically it should be the most trivial parser in
> CTags to write, but it might be more challenging to show a meaningful
> symbols tree for it (ex. should it handle quoting? show non-alpha
> symbols like !@#$%^&? functions in `cond` branches, etc).

I think that tagging functions and macros at global scope would be a 
start — I had a poke around the DocBook (of all things) parser and from 
a skim through the way it marks out chapters and sections using their id 
attributes it looks like a similar strategy would work for Common Lisp. 
If you have something at global scope like:

(defmacro my-cool-macro (...) (...))

it shouldn’t be too hard to write parsing functionality to gulp the next 
word as the name of the macro (or ‘the symbol to which the macro is 
bound’ to be pedantic) and create a tag reflecting it. Of course, things 
get a heck of a lot more complex with some Lisps (one of my current pet 
projects makes heavy use of CL’s packaging functionality, for instance) 
but it would be a decent place to start making meaningful contributions 
to Geany. :)

Take care,

James

-- 
James Brierley
http://slippy.dynu.net/~james/

Hate democracy? All the more reason to vote: http://bit.ly/1ErcOTx
7th May 2015 | #AnyoneButUkip | Save Britain, save yourself!


More information about the Users mailing list