www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Lumen - KTextEditor/Kate/KDevelop Autocompletion Plugin

reply David <d dav1d.de> writes:
Lumen
=====

Lumen is a KTextEditor autocompletion plugin for the D programming
language, which works e.g. in Kate or KDevelop, based on the DCD
autocompletion server.

Lumen: https://github.com/Dav1dde/lumen
DCD: https://github.com/Hackerpilot/DCD

With this Plugin KDevelop finally evolves to the most awesome D IDE out
there (as DCD improves). You've got autocompletion(, semantic analysis,
something I want to add to DCD overtime) and an amazing GDB integration,
which works for D out of the be box!

Would be great if some of you could test it, it should work flawlessly.

TODO (lumen only):
 * Add include-paths UI
 * Get rid of dcd-client and implement its functionallity in pure C++

TODO (as DCD progresses):
 * "Best matches", e.g. `void foo(int x);` when completing `foo(`
display every local/function which returns an integer in a "best
matches" group
 * Sorting by inheritance
 * Sorting by scopes
Aug 19 2013
next sibling parent reply "Kiith-Sa" <kiithsacmp gmail.com> writes:
On Monday, 19 August 2013 at 17:59:13 UTC, David wrote:
 Lumen
 =====

 Lumen is a KTextEditor autocompletion plugin for the D 
 programming
 language, which works e.g. in Kate or KDevelop, based on the DCD
 autocompletion server.

 Lumen: https://github.com/Dav1dde/lumen
 DCD: https://github.com/Hackerpilot/DCD

 With this Plugin KDevelop finally evolves to the most awesome D 
 IDE out
 there (as DCD improves). You've got autocompletion(, semantic 
 analysis,
 something I want to add to DCD overtime) and an amazing GDB 
 integration,
 which works for D out of the be box!

 Would be great if some of you could test it, it should work 
 flawlessly.

 TODO (lumen only):
  * Add include-paths UI
  * Get rid of dcd-client and implement its functionallity in 
 pure C++

 TODO (as DCD progresses):
  * "Best matches", e.g. `void foo(int x);` when completing 
 `foo(`
 display every local/function which returns an integer in a "best
 matches" group
  * Sorting by inheritance
  * Sorting by scopes
This is awesome. I've tried KDevelop recently and good D support might make me consider using it instead of Vim (especially if Vim mode improves further). Is it viable, in longer-term future, to have features similar to what KDevelop can do for C++? (semantic highlighting, esp. the color variation based on similarity of variable names, automatic creation of a stub of a nonexistent function based on a function call, etc.).
Aug 19 2013
parent reply David <d dav1d.de> writes:
 Is it viable, in longer-term future, to have features similar to what
 KDevelop
 can do for C++? (semantic highlighting, esp. the color variation based
 on similarity of variable names, automatic creation of a stub of a
 nonexistent function based on a function call, etc.).
I don't think the semantic highlighting is possible. Creating a stub based on a function call, would be possible if the completion server would share this information with the plugin.
Aug 20 2013
parent reply David <d dav1d.de> writes:
Am 20.08.2013 11:59, schrieb David:
 Is it viable, in longer-term future, to have features similar to what
 KDevelop
 can do for C++? (semantic highlighting, esp. the color variation based
 on similarity of variable names, automatic creation of a stub of a
 nonexistent function based on a function call, etc.).
I don't think the semantic highlighting is possible. Creating a stub based on a function call, would be possible if the completion server would share this information with the plugin.
I am currently looking into "semantic highlighting" according to some KDevelop guys that isn't that big of a deal. I hope I don't need to implement a D parser for that...
Aug 20 2013
parent David <d dav1d.de> writes:
Am 20.08.2013 12:13, schrieb David:
 Am 20.08.2013 11:59, schrieb David:
 Is it viable, in longer-term future, to have features similar to what
 KDevelop
 can do for C++? (semantic highlighting, esp. the color variation based
 on similarity of variable names, automatic creation of a stub of a
 nonexistent function based on a function call, etc.).
I don't think the semantic highlighting is possible. Creating a stub based on a function call, would be possible if the completion server would share this information with the plugin.
I am currently looking into "semantic highlighting" according to some KDevelop guys that isn't that big of a deal. I hope I don't need to implement a D parser for that...
Ok ... turns out, quote: "but be aware that if the completion thing you did was a one-week-project, this is at least a five-month-project" I might still look into it and use Dscanner instead of implementing my own parser, lexer n' stuff (C-API).
Aug 20 2013
prev sibling parent "Ilya Yaroshenko" <ilyayaroshenko gmail.com> writes:
Great job!
I really like kate =)
Aug 20 2013