+++ /dev/null
-"use strict";
-
-const cssSyntax = require("./css-syntax");
-const extname = {
- styl: "stylus",
- sss: "sugarss",
-};
-
-function defaultConfig (opts, lang) {
- let syntax;
- if (lang === "scss" || lang === "sass" || lang === "less") {
- syntax = require("postcss-" + lang);
- } else if (lang === "sugarss") {
- syntax = require("sugarss");
- } else {
- syntax = cssSyntax(opts);
- }
- return syntax;
-}
-
-function getSyntax (opts, lang) {
- if (!lang) {
- lang = opts.from && /\.(\w+)(?:\?.+)?$/.exec(opts.from);
- if (lang) {
- lang = lang[1].toLowerCase();
- lang = extname[lang] || lang;
- } else {
- lang = "css";
- }
- }
-
- let config = opts.syntax.config;
-
- if (!config) {
- return defaultConfig(opts, lang);
- }
-
- if (typeof config === "function") {
- config = config(opts, lang);
- }
-
- if (config) {
- config = config[lang] || config.css || config;
- if (typeof config === "string") {
- config = require(config);
- }
- } else {
- return defaultConfig(opts, lang);
- }
-
- return Object.assign(cssSyntax(opts), config);
-}
-
-module.exports = getSyntax;