On 17/12/2014 09:13, Kingsley wrote:
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 :)

Also, if you have questions about the DDT parser/lexer, or if there are changes that might help your project, let me know, I'll be glad to add such changes (assuming they also fit well with the way DDT uses the parser/lexer).


--
Bruno Medeiros
https://twitter.com/brunodomedeiros

Reply via email to