Add function list ability for CSS

Close #17006
This commit is contained in:
Don Ho 2025-09-18 14:44:32 +02:00
parent be59048c5e
commit 03d1268b44
4 changed files with 212 additions and 0 deletions

View File

@ -0,0 +1,183 @@
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript&plugins=line-numbers */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
pre[class*="language-"].line-numbers {
position: relative;
padding-left: 3.8em;
counter-reset: linenumber;
}
pre[class*="language-"].line-numbers > code {
position: relative;
white-space: inherit;
}
.line-numbers .line-numbers-rows {
position: absolute;
pointer-events: none;
top: 0;
font-size: 100%;
left: -3.8em;
width: 3em; /* works for line-numbers below 1000 lines */
letter-spacing: -1px;
border-right: 1px solid #999;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.line-numbers-rows > span {
pointer-events: none;
display: block;
counter-increment: linenumber;
}
.line-numbers-rows > span:before {
content: counter(linenumber);
color: #999;
display: block;
padding-right: 0.8em;
text-align: right;
}

View File

@ -0,0 +1 @@
{"leaves":["pre[class*=\"language-\"] ","code[class*=\"language-\"]::-moz-selection, code[class*=\"language-\"] ::-moz-selection ","code[class*=\"language-\"]::selection, code[class*=\"language-\"] ::selection ","@media print ","\tpre[class*=\"language-\"] ","pre[class*=\"language-\"] ","pre[class*=\"language-\"] ",":not(pre) > code[class*=\"language-\"] ",".token.cdata ",".token.punctuation ",".namespace ",".token.deleted ",".token.inserted ",".style .token.string ",".token.keyword ",".token.class-name ",".token.variable ",".token.bold ",".token.italic ",".token.entity ","pre[class*=\"language-\"].line-numbers ","pre[class*=\"language-\"].line-numbers > code ",".line-numbers .line-numbers-rows ","\t.line-numbers-rows > span ","\t\t.line-numbers-rows > span:before "],"root":"unitTest"}

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- ==========================================================================\
|
| To learn how to make your own language parser, please check the following
| link:
| https://npp-user-manual.org/docs/function-list/
|
\=========================================================================== -->
<NotepadPlus>
<functionList>
<parser id="css_function" displayName="CSS">
<function mainExpr="^([^\n\{]+)\s*\{">
<functionName>
<nameExpr expr="[^\n\{]+"/>
</functionName>
</function>
</parser>
</functionList>
</NotepadPlus>

View File

@ -38,6 +38,11 @@ SectionGroup "Function List Files" functionListComponent
File ".\functionList\cs.xml"
${MementoSectionEnd}
${MementoSection} "CSS" CSS_FL
SetOutPath "$INSTDIR\functionList"
File ".\functionList\css.xml"
${MementoSectionEnd}
${MementoSection} "Assembly" Assembly_FL
SetOutPath "$INSTDIR\functionList"
File ".\functionList\asm.xml"
@ -283,6 +288,10 @@ SectionGroup un.functionListComponent
Delete "$INSTDIR\functionList\cs.xml"
SectionEnd
Section un.CSS_FL
Delete "$INSTDIR\functionList\css.xml"
SectionEnd
Section un.JavaScript_FL
Delete "$INSTDIR\functionList\javascript.js.xml"
SectionEnd