Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Developing a Clojure IDE with Xtext
1. Developing an IDE for
Clojure with Xtext
Matthias Köster, matthas.koester@gmail.com
07.12.10, Eclipse DemoCamp Berlin
2. Which features are
working?
Syntax highlighting
Semantic highlighting
Rainbow parens (like (this ()))
Highlighting of calls
Content assist for functions and java types
Java integration via Xtext JDT adapter
Content assist for functions and java types
3. How did you do it?
Developed grammar for Clojure
Much harder than it sounds ;-)
Implemented Scope Providers
Asked a lot of questions in the newsgroup
Browsed source code and bugzilla
4. What I liked about
Xtext
Great community
Quick responese via newsgroup from
developers
Source code nice and easy to understand
...at least if you know EMF ;-)
Google Guice makes customization of
generated code very easy
5. Which obstacles did I
encounter?
Performance of my IDE is not aceptable
Patch found in bugzilla didn‘t improve
performance
Profiling revealed some problems in my
scope providers, already fixed
Unexpected behavior of Xtext degrades
performance, needs to be investigated
6. General problems with
developing a Clojure IDE
Clojure Macros are code generators
Macros can easily be expanded by the
Clojure runtime, but can this be integrated
into Xtext?
Xtext targets statically typed languages