diet-complete ~master

Error correcting diet parser with integrated auto-completion and neat AST tools


To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

DietComplete

An error correcting diet parser based on the diet-ng spec. See SPEC.md for the added grammar by this repository.

Example

import std.algorithm;
import std.conv;
import std.stdio;

import dietc.complete;

void main()
{
	// Create completion engine from filename
	// You can also pass a parsed document with a callback for other files in the future (from extend tags)
	auto complete = new DietComplete("views/filename.dt");

	size_t offset = 12;
	// Use completeAt to get completion results for a specific byte offset in the code
	auto completion = complete.completeAt(offset);
	if (completion is Completion.completeD)
	{
		size_t dOffset;
		string dCode;
		complete.extractD(offset, /*out*/ dCode, /*out*/ dOffset);
		// special instruction that D code should be completed here
		writeln("Complete D code ", dCode, " at ", dOffset);
	}
	else
		completion.map!(a => text(a.type, ": ", a.text)).each!writeln;
}
Dependencies:
none
Versions:
0.0.1 2018-Sep-11
~master 2018-Sep-11
Show all 2 versions
Download Stats:
  • 2 downloads today

  • 22 downloads this week

  • 44 downloads this month

  • 44 downloads total

Score:
0.9
Short URL:
diet-complete.dub.pm