Skip to content

Commit 67a1505

Browse files
committed
Commit a now working version using highlights
1 parent 3e36b58 commit 67a1505

File tree

7 files changed

+337
-71
lines changed

7 files changed

+337
-71
lines changed

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33
html: bigpage
44
perl6 htmlify.p6 --parallel=1
55

6+
html-highlights: bigpage
7+
perl6 htmlify.p6 --parallel=1 --use-highlights
8+
9+
init-highlights:
10+
git clone https://github.com/atom/highlights.git ./highlights/highlights
11+
git clone https://github.com/perl6/atom-language-perl6 ./highlights/atom-language-perl6
12+
cd highlights/highlights; npm install .
13+
614
html-nohighlight:
715
perl6 htmlify.p6 --no-highlight
816

highlights/highlight-file.coffee

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!highlights/node_modules/coffee-script/bin/coffee
2+
3+
Highlights = require 'highlights'
4+
fs = require 'fs'
5+
path = require 'path'
6+
highlighter = new Highlights()
7+
highlighter.requireGrammarsSync
8+
modulePath: require.resolve('./atom-language-perl6/package.json')
9+
10+
file_to_hl = path.resolve(process.argv[2])
11+
console.error "Highlights is reading #{file_to_hl}"
12+
foo = ->
13+
fs.readFileSync file_to_hl, 'utf8'
14+
15+
html = highlighter.highlightSync
16+
fileContents: foo()
17+
scopeName: 'source.perl6fe'
18+
19+
console.log html
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!highlights/node_modules/coffee-script/bin/coffee
2+
3+
Highlights = require 'highlights'
4+
fs = require 'fs'
5+
path = require 'path'
6+
split = require 'split'
7+
highlighter = new Highlights()
8+
highlighter.requireGrammarsSync
9+
modulePath: require.resolve('./atom-language-perl6/package.json')
10+
11+
12+
stdin = process.openStdin()
13+
stdin.setEncoding 'utf8'
14+
15+
stdin.on 'data', (input) ->
16+
name = input.trim()
17+
process.exit() if name == 'exit'
18+
file_to_hl = path.resolve(name)
19+
console.error "Highlights is reading #{file_to_hl}"
20+
foo = ->
21+
fs.readFileSync file_to_hl, 'utf8'
22+
23+
html = highlighter.highlightSync
24+
fileContents: foo()
25+
scopeName: 'source.perl6fe'
26+
27+
console.log html

highlights/package.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"name": "perl6-highlights",
3+
"version": "1.0.0",
4+
"description": "Perl 6 Highlighter using Highlights",
5+
"main": "index.js",
6+
"scripts": {
7+
"test": "echo \"Error: no test specified\" && exit 1"
8+
},
9+
"author": "Samantha McVey",
10+
"license": "Artistic-2.0",
11+
"homepage": "https://github.com/samcv/perl6-highlights",
12+
"dependencies": {
13+
"highlights": "latest",
14+
"less": "latest",
15+
}
16+
}

html/css/pygments.css

Lines changed: 177 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,177 @@
1-
td.linenos { background-color: #f0f0f0; padding-right: 10px; }
2-
span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
3-
pre { line-height: 125%; }
4-
body .hll { background-color: #ffffcc }
5-
body { background: #f8f8f8; }
6-
body .c { color: #408080; font-style: italic } /* Comment */
7-
body .c-Singleline { color: #408080; font-style: italic } /* Comment */
8-
body .err { border: 1px solid #FF0000 } /* Error */
9-
body .k { color: #008000; font-weight: bold } /* Keyword */
10-
body .o { color: #666666 } /* Operator */
11-
body .cm { color: #408080; font-style: italic } /* Comment.Multiline */
12-
body .cp { color: #BC7A00 } /* Comment.Preproc */
13-
body .c1 { color: #408080; font-style: italic } /* Comment.Single */
14-
body .cs { color: #408080; font-style: italic } /* Comment.Special */
15-
body .gd { color: #A00000 } /* Generic.Deleted */
16-
body .ge { font-style: italic } /* Generic.Emph */
17-
body .gr { color: #FF0000 } /* Generic.Error */
18-
body .gh { color: #000080; font-weight: bold } /* Generic.Heading */
19-
body .gi { color: #00A000 } /* Generic.Inserted */
20-
body .go { color: #888888 } /* Generic.Output */
21-
body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
22-
body .gs { font-weight: bold } /* Generic.Strong */
23-
body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
24-
body .gt { color: #0044DD } /* Generic.Traceback */
25-
body .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
26-
body .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
27-
body .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
28-
body .kp { color: #008000 } /* Keyword.Pseudo */
29-
body .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
30-
body .kt { color: #B00040 } /* Keyword.Type */
31-
body .m { color: #666666 } /* Literal.Number */
32-
body .s { color: #BA2121 } /* Literal.String */
33-
body .na { color: #7D9029 } /* Name.Attribute */
34-
body .nb { color: #008000 } /* Name.Builtin */
35-
body .nc { color: #0000FF; font-weight: bold } /* Name.Class */
36-
body .no { color: #880000 } /* Name.Constant */
37-
body .nd { color: #AA22FF } /* Name.Decorator */
38-
body .ni { color: #999999; font-weight: bold } /* Name.Entity */
39-
body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
40-
body .nf { color: #0000FF } /* Name.Function */
41-
body .nl { color: #A0A000 } /* Name.Label */
42-
body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
43-
body .nt { color: #008000; font-weight: bold } /* Name.Tag */
44-
body .nv { color: #19177C } /* Name.Variable */
45-
body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
46-
body .w { color: #bbbbbb } /* Text.Whitespace */
47-
body .mb { color: #666666 } /* Literal.Number.Bin */
48-
body .mf { color: #666666 } /* Literal.Number.Float */
49-
body .mh { color: #666666 } /* Literal.Number.Hex */
50-
body .mi { color: #666666 } /* Literal.Number.Integer */
51-
body .mo { color: #666666 } /* Literal.Number.Oct */
52-
body .sb { color: #BA2121 } /* Literal.String.Backtick */
53-
body .sc { color: #BA2121 } /* Literal.String.Char */
54-
body .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
55-
body .s2 { color: #BA2121 } /* Literal.String.Double */
56-
body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
57-
body .sh { color: #BA2121 } /* Literal.String.Heredoc */
58-
body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
59-
body .sx { color: #008000 } /* Literal.String.Other */
60-
body .sr { color: #BB6688 } /* Literal.String.Regex */
61-
body .s1 { color: #BA2121 } /* Literal.String.Single */
62-
body .ss { color: #19177C } /* Literal.String.Symbol */
63-
body .bp { color: #008000 } /* Name.Builtin.Pseudo */
64-
body .vc { color: #19177C } /* Name.Variable.Class */
65-
body .vg { color: #19177C } /* Name.Variable.Global */
66-
body .vi { color: #19177C } /* Name.Variable.Instance */
67-
body .il { color: #666666 } /* Literal.Number.Integer.Long */
68-
1+
atom-text-editor {
2+
background-color: white;
3+
color: #555;
4+
}
5+
atom-text-editor .invisible-character {
6+
color: rgba(85, 85, 85, 0.2);
7+
}
8+
atom-text-editor .indent-guide {
9+
color: rgba(85, 85, 85, 0.2);
10+
}
11+
atom-text-editor .wrap-guide {
12+
background-color: rgba(85, 85, 85, 0.2);
13+
}
14+
atom-text-editor .gutter {
15+
color: #555;
16+
background: white;
17+
}
18+
atom-text-editor .gutter .line-number.folded,
19+
atom-text-editor .gutter .line-number:after,
20+
atom-text-editor .fold-marker:after {
21+
color: #e87b00;
22+
}
23+
atom-text-editor .invisible {
24+
color: #555;
25+
}
26+
atom-text-editor .selection .region {
27+
background-color: #e1e1e1;
28+
}
29+
atom-text-editor .bracket-matcher .region {
30+
background-color: #C9C9C9;
31+
opacity: .7;
32+
border-bottom: 0 none;
33+
}
34+
atom-text-editor.is-focused .cursor {
35+
border-color: black;
36+
}
37+
atom-text-editor.is-focused .selection .region {
38+
background-color: #afc4da;
39+
}
40+
atom-text-editor.is-focused .line-number.cursor-line-no-selection,
41+
atom-text-editor.is-focused .line.cursor-line {
42+
background-color: rgba(255, 255, 134, 0.34);
43+
}
44+
.comment {
45+
color: #999988;
46+
font-style: italic;
47+
}
48+
.string {
49+
color: #D14;
50+
}
51+
.string .source,
52+
.string .meta.embedded.line {
53+
color: #5A5A5A;
54+
}
55+
.string .punctuation.section.embedded {
56+
color: #920B2D;
57+
}
58+
.string .punctuation.section.embedded .source {
59+
color: #920B2D;
60+
}
61+
.constant.numeric {
62+
color: #D14;
63+
}
64+
.constant.language {
65+
color: #606aa1;
66+
}
67+
.constant.character,
68+
.constant.other {
69+
color: #606aa1;
70+
}
71+
.constant.symbol {
72+
color: #990073;
73+
}
74+
.constant.numeric.line-number.find-in-files .match {
75+
color: rgba(143, 190, 0, 0.63);
76+
}
77+
.variable {
78+
color: #008080;
79+
}
80+
.variable.parameter {
81+
color: #606aa1;
82+
}
83+
.keyword {
84+
color: #222;
85+
font-weight: bold;
86+
}
87+
.keyword.unit {
88+
color: #445588;
89+
}
90+
.keyword.special-method {
91+
color: #0086B3;
92+
}
93+
.storage {
94+
color: #222;
95+
}
96+
.storage.type {
97+
color: #222;
98+
}
99+
.entity.name.class {
100+
text-decoration: underline;
101+
color: #606aa1;
102+
}
103+
.entity.other.inherited-class {
104+
text-decoration: underline;
105+
color: #606aa1;
106+
}
107+
.entity.name.function {
108+
color: #900;
109+
}
110+
.entity.name.tag {
111+
color: #008080;
112+
}
113+
.entity.other.attribute-name {
114+
color: #458;
115+
font-weight: bold;
116+
}
117+
.entity.name.filename.find-in-files {
118+
color: #E6DB74;
119+
}
120+
.support.constant,
121+
.support.function,
122+
.support.type {
123+
color: #458;
124+
}
125+
.support.class {
126+
color: #008080;
127+
}
128+
.invalid {
129+
color: #F8F8F0;
130+
background-color: #00A8C6;
131+
}
132+
.invalid.deprecated {
133+
color: #F8F8F0;
134+
background-color: #8FBE00;
135+
}
136+
.meta.structure.dictionary.json > .string.quoted.double.json,
137+
.meta.structure.dictionary.json > .string.quoted.double.json .punctuation.string {
138+
color: #000080;
139+
}
140+
.meta.structure.dictionary.value.json > .string.quoted.double.json {
141+
color: #d14;
142+
}
143+
.meta.diff,
144+
.meta.diff.header {
145+
color: #75715E;
146+
}
147+
.css.support.property-name {
148+
font-weight: bold;
149+
color: #333;
150+
}
151+
.css.constant {
152+
color: #099;
153+
}
154+
.source.gfm {
155+
color: #444;
156+
}
157+
.gfm .markup.heading {
158+
color: #111;
159+
}
160+
.gfm .link {
161+
color: #888;
162+
}
163+
.gfm .variable.list {
164+
color: #888;
165+
}
166+
.markdown .paragraph {
167+
color: #444;
168+
}
169+
.markdown .heading {
170+
color: #111;
171+
}
172+
.markdown .link {
173+
color: #888;
174+
}
175+
.markdown .link .string {
176+
color: #888;
177+
}

html/css/pygments.css.bak

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
td.linenos { background-color: #f0f0f0; padding-right: 10px; }
2+
span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
3+
pre { line-height: 125%; }
4+
body .hll { background-color: #ffffcc }
5+
body { background: #f8f8f8; }
6+
body .c { color: #408080; font-style: italic } /* Comment */
7+
body .c-Singleline { color: #408080; font-style: italic } /* Comment */
8+
body .err { border: 1px solid #FF0000 } /* Error */
9+
body .k { color: #008000; font-weight: bold } /* Keyword */
10+
body .o { color: #666666 } /* Operator */
11+
body .cm { color: #408080; font-style: italic } /* Comment.Multiline */
12+
body .cp { color: #BC7A00 } /* Comment.Preproc */
13+
body .c1 { color: #408080; font-style: italic } /* Comment.Single */
14+
body .cs { color: #408080; font-style: italic } /* Comment.Special */
15+
body .gd { color: #A00000 } /* Generic.Deleted */
16+
body .ge { font-style: italic } /* Generic.Emph */
17+
body .gr { color: #FF0000 } /* Generic.Error */
18+
body .gh { color: #000080; font-weight: bold } /* Generic.Heading */
19+
body .gi { color: #00A000 } /* Generic.Inserted */
20+
body .go { color: #888888 } /* Generic.Output */
21+
body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
22+
body .gs { font-weight: bold } /* Generic.Strong */
23+
body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
24+
body .gt { color: #0044DD } /* Generic.Traceback */
25+
body .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
26+
body .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
27+
body .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
28+
body .kp { color: #008000 } /* Keyword.Pseudo */
29+
body .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
30+
body .kt { color: #B00040 } /* Keyword.Type */
31+
body .m { color: #666666 } /* Literal.Number */
32+
body .s { color: #BA2121 } /* Literal.String */
33+
body .na { color: #7D9029 } /* Name.Attribute */
34+
body .nb { color: #008000 } /* Name.Builtin */
35+
body .nc { color: #0000FF; font-weight: bold } /* Name.Class */
36+
body .no { color: #880000 } /* Name.Constant */
37+
body .nd { color: #AA22FF } /* Name.Decorator */
38+
body .ni { color: #999999; font-weight: bold } /* Name.Entity */
39+
body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
40+
body .nf { color: #0000FF } /* Name.Function */
41+
body .nl { color: #A0A000 } /* Name.Label */
42+
body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
43+
body .nt { color: #008000; font-weight: bold } /* Name.Tag */
44+
body .nv { color: #19177C } /* Name.Variable */
45+
body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
46+
body .w { color: #bbbbbb } /* Text.Whitespace */
47+
body .mb { color: #666666 } /* Literal.Number.Bin */
48+
body .mf { color: #666666 } /* Literal.Number.Float */
49+
body .mh { color: #666666 } /* Literal.Number.Hex */
50+
body .mi { color: #666666 } /* Literal.Number.Integer */
51+
body .mo { color: #666666 } /* Literal.Number.Oct */
52+
body .sb { color: #BA2121 } /* Literal.String.Backtick */
53+
body .sc { color: #BA2121 } /* Literal.String.Char */
54+
body .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
55+
body .s2 { color: #BA2121 } /* Literal.String.Double */
56+
body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
57+
body .sh { color: #BA2121 } /* Literal.String.Heredoc */
58+
body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
59+
body .sx { color: #008000 } /* Literal.String.Other */
60+
body .sr { color: #BB6688 } /* Literal.String.Regex */
61+
body .s1 { color: #BA2121 } /* Literal.String.Single */
62+
body .ss { color: #19177C } /* Literal.String.Symbol */
63+
body .bp { color: #008000 } /* Name.Builtin.Pseudo */
64+
body .vc { color: #19177C } /* Name.Variable.Class */
65+
body .vg { color: #19177C } /* Name.Variable.Global */
66+
body .vi { color: #19177C } /* Name.Variable.Instance */
67+
body .il { color: #666666 } /* Literal.Number.Integer.Long */
68+

0 commit comments

Comments
 (0)