Incs/codemirror/mode/stylus/stylus.js
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
// Stylus mode created by Dmitry Kiselyov http://git.io/AaRB
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("stylus", function(config) {
var indentUnit = config.indentUnit,
indentUnitString = '',
tagKeywords = keySet(tagKeywords_),
tagVariablesRegexp = /^(a|b|i|s|col|em)$/i,
propertyKeywords = keySet(propertyKeywords_),
nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_),
valueKeywords = keySet(valueKeywords_),
colorKeywords = keySet(colorKeywords_),
documentTypes = keySet(documentTypes_),
documentTypesRegexp = wordRegexp(documentTypes_),
mediaFeatures = keySet(mediaFeatures_),
mediaTypes = keySet(mediaTypes_),
fontProperties = keySet(fontProperties_),
operatorsRegexp = /^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,
wordOperatorKeywordsRegexp = wordRegexp(wordOperatorKeywords_),
blockKeywords = keySet(blockKeywords_),
vendorPrefixesRegexp = new RegExp(/^\-(moz|ms|o|webkit)-/i),
commonAtoms = keySet(commonAtoms_),
firstWordMatch = "",
states = {},
ch,
style,
type,
override;
while (indentUnitString.length < indentUnit) indentUnitString += ' ';
/**
* Tokenizers
*/
function tokenBase(stream, state) {
firstWordMatch = stream.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/);
state.context.line.firstWord = firstWordMatch ? firstWordMatch[0].replace(/^\s*/, "") : "";
state.context.line.indent = stream.indentation();
ch = stream.peek();
// Line comment
if (stream.match("//")) {
stream.skipToEnd();
return ["comment", "comment"];
}
// Block comment
if (stream.match("/*")) {
state.tokenize = tokenCComment;
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
