diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/config.ld | 8 | ||||
| -rw-r--r-- | doc/index.html | 598 | ||||
| -rw-r--r-- | doc/ldoc.css | 304 |
3 files changed, 910 insertions, 0 deletions
diff --git a/doc/config.ld b/doc/config.ld new file mode 100644 index 0000000..e6121b8 --- /dev/null +++ b/doc/config.ld @@ -0,0 +1,8 @@ +project = 'Fuzzel' +description = 'String matching library' +full_description = 'A few functions to do fuzzy string matching' +title = 'Penlight Documentation' +dir = 'doc' +use_markdown_titles = true +format = 'markdown' +file = '../src/fuzzel.lua' diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..d2fab8f --- /dev/null +++ b/doc/index.html @@ -0,0 +1,598 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<head> + <title>Penlight Documentation</title> + <link rel="stylesheet" href="ldoc.css" type="text/css" /> +</head> +<body> + +<div id="container"> + +<div id="product"> + <div id="product_logo"></div> + <div id="product_name"><big><b></b></big></div> + <div id="product_description"></div> +</div> <!-- id="product" --> + + +<div id="main"> + + +<!-- Menu --> + +<div id="navigation"> +<br/> +<h1>Fuzzel</h1> + + +<h2>Contents</h2> +<ul> +<li><a href="#Functions">Functions</a></li> +<li><a href="#Fields">Fields</a></li> +</ul> + + +<h2>Modules</h2> +<ul class="$(kind=='Topics' and '' or 'nowrap'"> + <li><strong>fuzzel</strong></li> +</ul> + +</div> + +<div id="content"> + +<h1>Module <code>fuzzel</code></h1> +<p>A collection of methods for finding edit distance between two strings</p> +<p> + +</p> + + +<h2><a href="#Functions">Functions</a></h2> +<table class="function_list"> + <tr> + <td class="name" nowrap><a href="#LevenshteinDistance_extended">LevenshteinDistance_extended (str1, str2, addcost, subcost, delcost)</a></td> + <td class="summary">Finds edit distance between two strings with custom costs.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#LevenshteinDistance">LevenshteinDistance (str1, str2)</a></td> + <td class="summary">Finds simple Levenshtein distance.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#LevenshteinRatio">LevenshteinRatio (str1, str2)</a></td> + <td class="summary">Finds edit ratio between two strings</td> + </tr> + <tr> + <td class="name" nowrap><a href="#DamerauLevenshteinDistance_extended">DamerauLevenshteinDistance_extended (str1, str2, addcost, subcost, delcost, trncost)</a></td> + <td class="summary">Finds edit distance between two strings, with custom values.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#DamerauLevenshteinDistance">DamerauLevenshteinDistance (str1, str2)</a></td> + <td class="summary">Finds simple Damerau-Levenshtein distance.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#DamerauLevenshteinRatio">DamerauLevenshteinRatio (str1, str2)</a></td> + <td class="summary">Finds edit ratio between two strings</td> + </tr> + <tr> + <td class="name" nowrap><a href="#HammingDistance">HammingDistance (str1, str2)</a></td> + <td class="summary">Finds the nubmer of subtitutions needed to turn one string into another.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#HammingRatio">HammingRatio (str1, str2)</a></td> + <td class="summary">Calculates the Hamming distance between two strings, divided by the length of the first string.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzyFindDistance">FuzzyFindDistance (str, ...)</a></td> + <td class="summary">Finds the closest argument to the first argument.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzyFindRatio">FuzzyFindRatio (str, ...)</a></td> + <td class="summary">Finds the closest argument to the first argument.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzySortDistance">FuzzySortDistance (str, ...)</a></td> + <td class="summary">Sorts inputed strings by distance.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzySortRatio">FuzzySortRatio (str, ...)</a></td> + <td class="summary">Sorts inputed strings by ratio.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzyAutocompleteDistance">FuzzyAutocompleteDistance (str, ...)</a></td> + <td class="summary">Sorts truncated versions of inputed strings by distance.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzyAutocompleteRatio">FuzzyAutocompleteRatio (str, ...)</a></td> + <td class="summary">Sorts truncated versions of inputed strings by ratio.</td> + </tr> +</table> +<h2><a href="#Fields">Fields</a></h2> +<table class="function_list"> + <tr> + <td class="name" nowrap><a href="#VERSION">VERSION</a></td> + <td class="summary">The current version (1.4).</td> + </tr> +</table> + +<br/> +<br/> + + + <h2 class="section-header "><a name="Functions"></a>Functions</h2> + + <dl class="function"> + <dt> + <a name = "LevenshteinDistance_extended"></a> + <strong>LevenshteinDistance_extended (str1, str2, addcost, subcost, delcost)</strong> + </dt> + <dd> + Finds edit distance between two strings with custom costs. + The levenshtein distance is the minimum number of additions, deletions, and substitutions that are needed to turn one string into another. This methods allows custom costs for addition, deletion, and substitution. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + <li><span class="parameter">addcost</span> + <span class="types"><span class="type">number</span></span> + the custom cost to add one character + </li> + <li><span class="parameter">subcost</span> + <span class="types"><span class="type">number</span></span> + the custom cost to subtitute one character for another + </li> + <li><span class="parameter">delcost</span> + <span class="types"><span class="type">number</span></span> + the custom cost to delete one character + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the distance from the first string to the second (which will always be the same as the distance from the second string to the first) + </ol> + + + + +</dd> + <dt> + <a name = "LevenshteinDistance"></a> + <strong>LevenshteinDistance (str1, str2)</strong> + </dt> + <dd> + Finds simple Levenshtein distance. + The levenshtein distance is the minimum number of additions, deletions, and substitutions that are needed to turn one string into another. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the distance between the two input strings + </ol> + + + + +</dd> + <dt> + <a name = "LevenshteinRatio"></a> + <strong>LevenshteinRatio (str1, str2)</strong> + </dt> + <dd> + Finds edit ratio between two strings + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string, and the string to use for the ratio + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the distance between the two strings divided by the length of the first string + </ol> + + + + +</dd> + <dt> + <a name = "DamerauLevenshteinDistance_extended"></a> + <strong>DamerauLevenshteinDistance_extended (str1, str2, addcost, subcost, delcost, trncost)</strong> + </dt> + <dd> + Finds edit distance between two strings, with custom values. + The minimum number of additions, deletions, substitutions, or transpositions to turn str1 into str2 with the given weights + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + <li><span class="parameter">addcost</span> + <span class="types"><span class="type">number</span></span> + the cost of insterting a character + </li> + <li><span class="parameter">subcost</span> + <span class="types"><span class="type">number</span></span> + the cost of substituteing one character for another + </li> + <li><span class="parameter">delcost</span> + <span class="types"><span class="type">number</span></span> + the cost of removeing a character + </li> + <li><span class="parameter">trncost</span> + <span class="types"><span class="type">number</span></span> + the cost of transposeing two adjacent characters. + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the edit distance between the two strings + </ol> + + + + +</dd> + <dt> + <a name = "DamerauLevenshteinDistance"></a> + <strong>DamerauLevenshteinDistance (str1, str2)</strong> + </dt> + <dd> + Finds simple Damerau-Levenshtein distance. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the fist string + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the minimum number of additions, deletions, substitutions, or transpositions to turn str1 into str2 + </ol> + + + + +</dd> + <dt> + <a name = "DamerauLevenshteinRatio"></a> + <strong>DamerauLevenshteinRatio (str1, str2)</strong> + </dt> + <dd> + Finds edit ratio between two strings + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the fist string, and number to use for ratio + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the Damerau-Levenshtein distance divided by the length of the first string. + </ol> + + + + +</dd> + <dt> + <a name = "HammingDistance"></a> + <strong>HammingDistance (str1, str2)</strong> + </dt> + <dd> + Finds the nubmer of subtitutions needed to turn one string into another. + Hamming distance can only be calculated on two strings of equal length. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the edit distance between str1 and str2 + </ol> + + + + +</dd> + <dt> + <a name = "HammingRatio"></a> + <strong>HammingRatio (str1, str2)</strong> + </dt> + <dd> + Calculates the Hamming distance between two strings, divided by the length of the first string. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string, and string to use for the ratio + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the edit distance between the two strings + </ol> + + + + +</dd> + <dt> + <a name = "FuzzyFindDistance"></a> + <strong>FuzzyFindDistance (str, ...)</strong> + </dt> + <dd> + Finds the closest argument to the first argument. + Finds the closest argument to the first argument useing Damerau-Levenshtein distance + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare to + </li> + <li><span class="parameter">...</span> + A 1-indexed array of strings, or a list of strings to campare str against + </li> + </ul> + + + + + +</dd> + <dt> + <a name = "FuzzyFindRatio"></a> + <strong>FuzzyFindRatio (str, ...)</strong> + </dt> + <dd> + Finds the closest argument to the first argument. + Finds the closest argument to the first argument useing Damerau-Levenshtein ratio + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare to + </li> + <li><span class="parameter">...</span> + A 1-indexed array of strings, or a list of strings to campare str against + </li> + </ul> + + + + + +</dd> + <dt> + <a name = "FuzzySortDistance"></a> + <strong>FuzzySortDistance (str, ...)</strong> + </dt> + <dd> + Sorts inputed strings by distance. + Finds the Damerau-Levenshtein distance of each string to the first argument, and sorts them into a table accordingly + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare each result to + </li> + <li><span class="parameter">...</span> + either a 1-indexed table, or a list of strings to sort + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + a 1-indexed table of the input strings, in the order of closest-to str to farthest-from str + </ol> + + + + +</dd> + <dt> + <a name = "FuzzySortRatio"></a> + <strong>FuzzySortRatio (str, ...)</strong> + </dt> + <dd> + Sorts inputed strings by ratio. + Finds the Damerau-Levenshtein ratio of each string to the first argument, and sorts them into a table accordingly + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare each result to + </li> + <li><span class="parameter">...</span> + either a 1-indexed table, or a list of strings to sort + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + a 1-indexed table of the input strings, in the order of closest-to str to farthest-from str + </ol> + + + + +</dd> + <dt> + <a name = "FuzzyAutocompleteDistance"></a> + <strong>FuzzyAutocompleteDistance (str, ...)</strong> + </dt> + <dd> + Sorts truncated versions of inputed strings by distance. + truncates each input string, and finds the Damerau-Levenshtein distance of each string to the first argument, and sorts them into a table accordingly. Useful for auto-complete functions + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare each result to + </li> + <li><span class="parameter">...</span> + either a 1-indexed table, or a list of strings to sort + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + a 1-indexed table of the input strings, in the order of closest-to str to farthest-from str + </ol> + + + + +</dd> + <dt> + <a name = "FuzzyAutocompleteRatio"></a> + <strong>FuzzyAutocompleteRatio (str, ...)</strong> + </dt> + <dd> + Sorts truncated versions of inputed strings by ratio. + truncates each input string, and finds the Damerau-Levenshtein ratio of each string to the first argument, and sorts them into a table accordingly. Useful for auto-complete functions + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare each result to + </li> + <li><span class="parameter">...</span> + either a 1-indexed table, or a list of strings to sort + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + a 1-indexed table of the input strings, in the order of closest-to str to farthest-from str + </ol> + + + + +</dd> +</dl> + <h2 class="section-header "><a name="Fields"></a>Fields</h2> + + <dl class="function"> + <dt> + <a name = "VERSION"></a> + <strong>VERSION</strong> + </dt> + <dd> + The current version (1.4). + + + + + + + +</dd> +</dl> + + +</div> <!-- id="content" --> +</div> <!-- id="main" --> +<div id="about"> +<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.3</a></i> +<i style="float:right;">Last updated 2016-06-27 18:24:14 </i> +</div> <!-- id="about" --> +</div> <!-- id="container" --> +</body> +</html> diff --git a/doc/ldoc.css b/doc/ldoc.css new file mode 100644 index 0000000..ce77ac8 --- /dev/null +++ b/doc/ldoc.css @@ -0,0 +1,304 @@ +/* BEGIN RESET + +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.2r1 +*/ +html { + color: #000; + background: #FFF; +} +body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td { + margin: 0; + padding: 0; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +fieldset,img { + border: 0; +} +address,caption,cite,code,dfn,em,strong,th,var,optgroup { + font-style: inherit; + font-weight: inherit; +} +del,ins { + text-decoration: none; +} +li { + list-style: disc; + margin-left: 20px; +} +caption,th { + text-align: left; +} +h1,h2,h3,h4,h5,h6 { + font-size: 100%; + font-weight: bold; +} +q:before,q:after { + content: ''; +} +abbr,acronym { + border: 0; + font-variant: normal; +} +sup { + vertical-align: baseline; +} +sub { + vertical-align: baseline; +} +legend { + color: #000; +} +input,button,textarea,select,optgroup,option { + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; +} +input,button,textarea,select {*font-size:100%; +} +/* END RESET */ + +body { + margin-left: 1em; + margin-right: 1em; + font-family: arial, helvetica, geneva, sans-serif; + background-color: #ffffff; margin: 0px; +} + +code, tt { font-family: monospace; font-size: 1.1em; } +span.parameter { font-family:monospace; } +span.parameter:after { content:":"; } +span.types:before { content:"("; } +span.types:after { content:")"; } +.type { font-weight: bold; font-style:italic } + +body, p, td, th { font-size: .95em; line-height: 1.2em;} + +p, ul { margin: 10px 0 0 0px;} + +strong { font-weight: bold;} + +em { font-style: italic;} + +h1 { + font-size: 1.5em; + margin: 0 0 20px 0; +} +h2, h3, h4 { margin: 15px 0 10px 0; } +h2 { font-size: 1.25em; } +h3 { font-size: 1.15em; } +h4 { font-size: 1.06em; } + +a:link { font-weight: bold; color: #004080; text-decoration: none; } +a:visited { font-weight: bold; color: #006699; text-decoration: none; } +a:link:hover { text-decoration: underline; } + +hr { + color:#cccccc; + background: #00007f; + height: 1px; +} + +blockquote { margin-left: 3em; } + +ul { list-style-type: disc; } + +p.name { + font-family: "Andale Mono", monospace; + padding-top: 1em; +} + +pre { + background-color: rgb(245, 245, 245); + border: 1px solid #C0C0C0; /* silver */ + padding: 10px; + margin: 10px 0 10px 0; + overflow: auto; + font-family: "Andale Mono", monospace; +} + +pre.example { + font-size: .85em; +} + +table.index { border: 1px #00007f; } +table.index td { text-align: left; vertical-align: top; } + +#container { + margin-left: 1em; + margin-right: 1em; + background-color: #f0f0f0; +} + +#product { + text-align: center; + border-bottom: 1px solid #cccccc; + background-color: #ffffff; +} + +#product big { + font-size: 2em; +} + +#main { + background-color: #f0f0f0; + border-left: 2px solid #cccccc; +} + +#navigation { + float: left; + width: 14em; + vertical-align: top; + background-color: #f0f0f0; + overflow: visible; +} + +#navigation h2 { + background-color:#e7e7e7; + font-size:1.1em; + color:#000000; + text-align: left; + padding:0.2em; + border-top:1px solid #dddddd; + border-bottom:1px solid #dddddd; +} + +#navigation ul +{ + font-size:1em; + list-style-type: none; + margin: 1px 1px 10px 1px; +} + +#navigation li { + text-indent: -1em; + display: block; + margin: 3px 0px 0px 22px; +} + +#navigation li li a { + margin: 0px 3px 0px -1em; +} + +#content { + margin-left: 14em; + padding: 1em; + width: 700px; + border-left: 2px solid #cccccc; + border-right: 2px solid #cccccc; + background-color: #ffffff; +} + +#about { + clear: both; + padding: 5px; + border-top: 2px solid #cccccc; + background-color: #ffffff; +} + +@media print { + body { + font: 12pt "Times New Roman", "TimeNR", Times, serif; + } + a { font-weight: bold; color: #004080; text-decoration: underline; } + + #main { + background-color: #ffffff; + border-left: 0px; + } + + #container { + margin-left: 2%; + margin-right: 2%; + background-color: #ffffff; + } + + #content { + padding: 1em; + background-color: #ffffff; + } + + #navigation { + display: none; + } + pre.example { + font-family: "Andale Mono", monospace; + font-size: 10pt; + page-break-inside: avoid; + } +} + +table.module_list { + border-width: 1px; + border-style: solid; + border-color: #cccccc; + border-collapse: collapse; +} +table.module_list td { + border-width: 1px; + padding: 3px; + border-style: solid; + border-color: #cccccc; +} +table.module_list td.name { background-color: #f0f0f0; min-width: 200px; } +table.module_list td.summary { width: 100%; } + + +table.function_list { + border-width: 1px; + border-style: solid; + border-color: #cccccc; + border-collapse: collapse; +} +table.function_list td { + border-width: 1px; + padding: 3px; + border-style: solid; + border-color: #cccccc; +} +table.function_list td.name { background-color: #f0f0f0; min-width: 200px; } +table.function_list td.summary { width: 100%; } + +ul.nowrap { + overflow:auto; + white-space:nowrap; +} + +dl.table dt, dl.function dt {border-top: 1px solid #ccc; padding-top: 1em;} +dl.table dd, dl.function dd {padding-bottom: 1em; margin: 10px 0 0 20px;} +dl.table h3, dl.function h3 {font-size: .95em;} + +/* stop sublists from having initial vertical space */ +ul ul { margin-top: 0px; } +ol ul { margin-top: 0px; } +ol ol { margin-top: 0px; } +ul ol { margin-top: 0px; } + +/* make the target distinct; helps when we're navigating to a function */ +a:target + * { + background-color: #FF9; +} + + +/* styles for prettification of source */ +pre .comment { color: #558817; } +pre .constant { color: #a8660d; } +pre .escape { color: #844631; } +pre .keyword { color: #aa5050; font-weight: bold; } +pre .library { color: #0e7c6b; } +pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; } +pre .string { color: #8080ff; } +pre .number { color: #f8660d; } +pre .operator { color: #2239a8; font-weight: bold; } +pre .preprocessor, pre .prepro { color: #a33243; } +pre .global { color: #800080; } +pre .user-keyword { color: #800080; } +pre .prompt { color: #558817; } +pre .url { color: #272fc2; text-decoration: underline; } + |
