package prettify.lang;

import java.util.Arrays;
import java.util.List;
import prettify.Lang;

public class LangWiki extends Lang {

    public LangWiki() {
    }

    public static List<String> getExtensions() {
        return Arrays.asList(new String[]{});
    }
}
