coala/KDevelop/Kate

Lasse Schuirmann lasse.schuirmann at gmail.com
Mon Feb 22 13:50:03 UTC 2016


Hi,

> Can you please elaborate a bit on coala? I for one am completely ignorant
> about it so far. What would be the benefit for us from a coala integration?
> I.e. what languages does coala support already, and to what degree? While your
> website is shiny, I could not find any useful information on a quick glance.
>
> Also, what exactly does coala provide? Just a unified language agnostic AST?
> Or also the semantic analysis? What about language specific code completion?

coala is language independent. It does not feature any AST but more a
framework that makes it easy to create new code analysis - language
dependent and independent - without worrying about user interaction
and some performance aspects. (Though we have a concept in the making
for a unified AST.) coala can provide any kind of analysis and you
don't need to rewrite something like checking for invalid links in
comments and docs for each language.

It's always hard to explain what coala is but the short version is we
try to remove redundancy in static code analysis and coala is totally
language agnostic while still useful.

coala supports all languages through some generic algorithm - spacing,
linelength, invalid links, simple stuff like that. We have language
dependent support through a lot of linters for the following
languages:

- Natural Language (Spelling, Grammar, "Good Writing") *
- C, C++, Obj. C *
- CSS
- C#
- Java
- DockerFile
- CoffeeScript
- Go *
- HTML
- Haskell *
- JS
- JSON *
- LaTeX
- Markdown *
- Matlab *
- Python *
- PHP
- R
- Ruby
- SQL
- RST *

For languages marked with a star we have the ability to automatically
correct stuff. That can range from indentation to semantic things
(e.g. clang provides some fixits we pick up.) The list of bears i.e.
analysis routines grows every two days currently.

Of course the degree of integration varies from basic linting to being
able to do semantic corrections.

It is important to note that coala is not indented for code completion
but for code analysis and correction. I think it's neat for people to
get all that analysis functionality without needing to worry about
configuring all those tools - they can just configure coala once and
use it in their favourite editor, e.g. KDevelop.

> Overall, how do you imagine coala being integrated into KDevelop?

So we have e.g. a plugin for Atom that provides hints about possible
problems in the lines and automatically does some formatting and other
corrections on save if configured that way. A deeper integration would
e.g. include a way to configure code analysis in KDevelop itself so it
feels natively and the user doesn't have to edit the config or use our
CLI to do that.

I hope this helps.

Lasse


More information about the KDevelop-devel mailing list