On Wednesday, 17 December 2014 at 03:03:59 UTC, Rikki Cattermole wrote:
On 17/12/2014 1:35 p.m., Kingsley wrote:
On Tuesday, 16 December 2014 at 23:25:02 UTC, Kingsley wrote:
On Monday, 27 October 2014 at 22:40:20 UTC, landaire wrote:
On Monday, 27 October 2014 at 22:35:16 UTC, Jeremy Powers via
Digitalmars-d wrote:
This looks eerily familiar...

I took a stab at an Intellij plugin a long time ago, and happened to
pick
the same name:

https://github.com/elendel-/intelliD

Been meaning to pick back up again, but haven't had the chance... was waiting for the Eclipse plugin code to mature, then got distracted.
Feel
free to take anything that looks useful.


Brian Schott (Hackerpilot) has done a lot of useful work grammar
wise.  See:

https://github.com/Hackerpilot/DGrammar

An interesting path to take for an intellij plugin would be to use his DCD/libdparse for all the heavy lifting, with the plugin just
farming out
the work to external daemon process(es). That would avoid having yet
another lexer/parser implementation to keep up to date.


I actually forked yours originally to get it running in IDEA 14, then decided to mess with the lexer since it was causing some problems and
went off from there. I saw it was somewhat inactive and tried
contacting you, but couldn't find any of your contact info anywhere!
Glad to see you turned up here.

Hi guys,

I have been working on an intellij plugin which is here:
https://github.com/kingsleyh/DLanguage

I only started learning D a couple of weeks ago and I haven't written an intellij plugin before - and also I'm not very familiar with
parsing/lexing.

On my first pass - I got all the infrastructure working - e.g. run configurations, project creation, file creation etc. And I'm working on a BNF and JFlex by hand - but I realise it will take some time - so I have a branch which implements the DDT parser/lexer so I could get something working while I work on the bnf - however it breaks the contextual run configurations - which is pretty much essential for the
plugin to be useful.

I'd like to get the DDT parser/lexer working but I'm not really sure where to go from where I am now. My DDT branch is called with_ddt.

If anyone has any pointers to what I need to do next that would be very helpful - even in terms of reading or reference material. I guess it all comes down to the DParserDefinition class - as my master branch uses a FlexAdapter which gives access to the context. But in the with_ddt branch its just using the DParser - which I think needs to have the hooks into the AST tree implemented or something like that.

Anyway let me know if you have any pointers or offers of help :)

--K

Actually I guess what I need is a way to make the PSI structure. I'm not
sure how I would do that with the DDT code I have imported.

I've sent you an email reguarding my own work on getting a plugin together using Dscanner. As well as the source code.
Feel free to use it.

I've successfully integrated the Psi generation stuff with the DDT parser/lexer now with a huge thanks to Rikki. So now I think I can add all the other ps related stuff - code insight, refactoring, completion etc etc

Of course its the first cut - so I'll have to do some code cleanup once I understand what I'm doing!

Thanks for your help and support :)

Reply via email to