Search in sources :

Example 1 with FieldReference

use of org.activityinfo.analysis.FieldReference in project activityinfo by bedatadriven.

the class Linter method applyMarks.

private void applyMarks(ParsedFormula formula) {
    if (!formula.isValid()) {
        for (FormulaError error : formula.getErrors()) {
            if (error.hasSourceRange()) {
                SourceRange range = error.getSourceRange();
                MarkOptions options = MarkOptions.create();
                options.setClassName("CodeMirror-lint-mark-error");
                options.setTitle(error.getMessage());
                TextMarker marker = editor.getDoc().markText(pos(range.getStart()), pos(range.getEnd()), options);
                markers.add(marker);
            }
        }
    } else {
        for (FieldReference fieldReference : formula.getReferences()) {
            SourceRange range = fieldReference.getSourceRange();
            MarkOptions options = MarkOptions.create();
            options.setClassName(FormulaResources.INSTANCE.styles().fieldAnnotation());
            options.setTitle(fieldReference.getDescription());
            TextMarker marker = editor.getDoc().markText(pos(range.getStart()), pos(range.getEnd()), options);
            markers.add(marker);
        }
    }
}
Also used : FieldReference(org.activityinfo.analysis.FieldReference) FormulaError(org.activityinfo.model.formula.FormulaError) SourceRange(org.activityinfo.model.formula.SourceRange)

Aggregations

FieldReference (org.activityinfo.analysis.FieldReference)1 FormulaError (org.activityinfo.model.formula.FormulaError)1 SourceRange (org.activityinfo.model.formula.SourceRange)1