diet-complete ~master

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


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

DietComplete

Join the chat: Join on Discord

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.3 2019-Jul-09
0.0.2 2019-Jul-09
0.0.1 2018-Sep-11
~master 2020-Jan-13
Show all 4 versions
Download Stats:
  • 8 downloads today

  • 54 downloads this week

  • 220 downloads this month

  • 14353 downloads total

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