Simple Linux Panel
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mdserver-web/static/codemirror/addon/hint/css-hint.js

1 line
1.2 KiB

7 years ago
(function(a){if(typeof exports=="object"&&typeof module=="object"){a(require("../../lib/codemirror"),require("../../mode/css/css"))}else{if(typeof define=="function"&&define.amd){define(["../../lib/codemirror","../../mode/css/css"],a)}else{a(CodeMirror)}}})(function(a){var b={link:1,visited:1,active:1,hover:1,focus:1,"first-letter":1,"first-line":1,"first-child":1,before:1,after:1,lang:1};a.registerHelper("hint","css",function(g){var h=g.getCursor(),e=g.getTokenAt(h);var m=a.innerMode(g.getMode(),e.state);if(m.mode.name!="css"){return}if(e.type=="keyword"&&"!important".indexOf(e.string)==0){return{list:["!important"],from:a.Pos(h.line,e.start),to:a.Pos(h.line,e.end)}}var d=e.start,f=h.ch,c=e.string.slice(0,f-d);if(/[^\w$_-]/.test(c)){c="";d=f=h.ch}var i=a.resolveMode("text/css");var l=[];function k(o){for(var n in o){if(!c||n.lastIndexOf(c,0)==0){l.push(n)}}}var j=m.state.state;if(j=="pseudo"||e.type=="variable-3"){k(b)}else{if(j=="block"||j=="maybeprop"){k(i.propertyKeywords)}else{if(j=="prop"||j=="parens"||j=="at"||j=="params"){k(i.valueKeywords);k(i.colorKeywords)}else{if(j=="media"||j=="media_parens"){k(i.mediaTypes);k(i.mediaFeatures)}}}}if(l.length){return{list:l,from:a.Pos(h.line,d),to:a.Pos(h.line,f)}}})});