On 30 March 2017 at 21:52, Bill Page <[email protected]> wrote: > > What I have so far is a package for Atom that installs, recognizes > Spad source code and highlights a few things. I will be glad to share > it once I get a bit more time to make it do something a bit more > interesting. But I was kind of disappointed that in Atom defining this > sort of package is not the route to being able to display and navigate > symbols in source nicely. https://github.com/atom/symbols-view That > actually requires an external tool called ctags > http://ctags.sourceforge.net/ >
Here is a very priliminary first version of my Spad syntax highlighting package for Atom: https://atom.io/packages/language-spad Also the following preliminary .ctags configuration seems to work pretty well to add symbols from in the FriCAS source tree. --langdef=spad --langmap=spad:.spad --regex-spad=/^\)abbrev domain ([a-zA-Z_\?]+) ([a-zA-Z_\?]+)/\2/d,domain/ --regex-spad=/^\)abbrev package ([a-zA-Z_\?]+) ([a-zA-Z_\?]+)/\2/p,packages/ --regex-spad=/^\)abbrev category ([a-zA-Z_\?]+) ([a-zA-Z_\?]+)/\2/c,category/ --regex-spad=/\W([a-zA-Z_\?]+)[ ]*\:[^\:=].*\:=/\1/v,variable/ --regex-spad=/\W([a-zA-Z_\?]+)( *\(.*\) *)?==/\1/f,function/ I have successfully used "Go to Declaration" and the Atom symbols-tree-view package for navigation. In principle this configuration should also work with emacs https://www.emacswiki.org/emacs/BuildTags . I tried it but I am not sufficiently fluent in emacs to say whether it is really useful. If anyone else has a better .ctags specification for FriCAS I would be glad to here about it. Let me know if you have any questions/suggestions. Bill Page. -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.
