Skip to content

Commit 4336aac

Browse files
committed
Initial commit
0 parents  commit 4336aac

File tree

185 files changed

+8171
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

185 files changed

+8171
-0
lines changed

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*]
4+
indent_style = space
5+
indent_size = 2
6+
end_of_line = lf
7+
charset = utf-8
8+
trim_trailing_whitespace = true
9+
insert_final_newline = true

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.DS_Store
2+
*.log
3+
.nyc_output/
4+
coverage/
5+
node_modules/
6+
refractor.js
7+
refractor.min.js

.travis.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
language: node_js
2+
node_js:
3+
- '4.0'
4+
- '8.0'
5+
after_script: bash <(curl -s https://codecov.io/bash)
6+
deploy:
7+
- provider: npm
8+
9+
api_key:
10+
secure: B0ZiauJ9MMDTktd3jWewguqDvDw769cV+BQn1zYctCZKazPBSFBVghEBp4XRdoZbDnNYlE+z4Rac4vpA02LrMokuMt+dcDgvOcm4AsPPUuJiFItWvRiATOBId2UzXBGzcld7CPfl0rYZwzI6qBjWkbK52MwgbKWdqKjJ0yG5OZmByG8VED02FpxTD0kfvQV+McI44tndhgyIsQHyD3ivxjxWEwnF/M2PgAXFSOqX6z47Nl04WWKhiXcLjy+0oLEWg4Rvjfl1jVNB+swN9/ZrC7V8CfenBo9z+FbuHLR6BYidWhPg3bi1UqvN1bfONA7d4hWQWrDVKW5b3qW0oroZj8k26Cn2KbuBjuOjB4/g7XPQWPq0l/fqsiqA32qdkE7FHourftoTkFMv56YqEDp5fMK2ioBGmRiJfwl2AcdkFyA5pGjs/C2yObSO59cu4yGeyhOSRDZ9HmSa8uDWRD3nlesST6MTmYt1J0+OsDtECEMJ9E87z4x7cAAwLCoxJhqNppDT7zDwxBWaNJW6dPUm8zz/WWInajXojR8tW3UarURIJVDk4lny+lKY4G+ePWdIZguFHzUNmRAGQiVF8cBkRNKA/1o3uUP/5RTeJcGT+vQVywGSRkWGwqDmnz81odUoFSityg20A/n6g/wkwLxJZnblzq/eGUoEKjqlHJ0cvio=
11+
on:
12+
tags: true
13+
node: '8.0'
14+
- provider: releases
15+
api_key:
16+
secure: iuNBBlbV4ETEU4mTX4JSZKC2dYezIUDoMe8r4zu1sKoVP6hxs4xoFa8Xy5nGr+QjIhOGmPnNOv/cGYUeZoDLSdWNRiliVzg0OMUSBVaxkAQHKtEssBPJNXNWMhP7APXgu2Iq5Jb5jqYk/igrot7q1KBTqRJKZmaa5iamU1Hn+sVMovhU5qHy4eZFwExy/oQaSuhnT967UerA05L56Rn0KQRpf3rMeT9rnaeAQNOosyY5agQWGN2JfHyBcf+DSCETqJB6DlDIpDkIulyYH8vT0MAjoV08+HRBM+lopq8CyJs4FpAKNiWJcjSLEiQBQtIPAfeG2AZlpYphNBlXqwIO9WQLsSeWWxwtMpDeJ+sIgkxBjOV2nKCrc5g90s28wMC0x9gDCuxpSAolFv8kW6gDiIdGWyh1VJE2ch4EZxUZ+/J19PJPCAWJOSEKig3g20PsPwJ6wCG0n3cTB+QY7994pPN4oQZEvLrcDmylfd2go9dyjBvuGYUIaoTfUVHHsYN42gM8KR0EfYqh71sUqvPZaXbR/vhFHn4Bdm6kVK6/n8be5IGWRi5cthblEfVR8reVqBVPvqHnET7yszKu51HoUMKncD1akVNmlpXjg9GCNPqYsaY8cRTh0S2RJj9hwcD1tCN4e7rOzH52lAsK/tYxt24A/yQB5psyubMxRZCnGq8=
17+
file:
18+
- "refractor.js"
19+
- "refractor.min.js"
20+
on:
21+
tags: true
22+
node: '8.0'

LICENSE

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
(The MIT License)
2+
3+
Copyright (c) 2017 Titus Wormer <[email protected]>
4+
5+
Permission is hereby granted, free of charge, to any person obtaining
6+
a copy of this software and associated documentation files (the
7+
'Software'), to deal in the Software without restriction, including
8+
without limitation the rights to use, copy, modify, merge, publish,
9+
distribute, sublicense, and/or sell copies of the Software, and to
10+
permit persons to whom the Software is furnished to do so, subject to
11+
the following conditions:
12+
13+
The above copyright notice and this permission notice shall be
14+
included in all copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

core.js

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
'use strict';
2+
3+
var restore = capture();
4+
5+
/* Load all stuff in `prism.js` itself, except for
6+
* `prism-file-highlight.js`.
7+
* The wrapped non-leaky grammars are loaded instead of
8+
* Prism’s originals. */
9+
var h = require('hastscript');
10+
var Prism = require('prismjs/components/prism-core');
11+
var markup = require('./lang/markup');
12+
var css = require('./lang/css');
13+
var clike = require('./lang/clike');
14+
var js = require('./lang/javascript');
15+
16+
restore();
17+
18+
var own = {}.hasOwnProperty;
19+
20+
/* Inherit. */
21+
function Refractor() {}
22+
23+
Refractor.prototype = Prism;
24+
25+
/* Construct. */
26+
var refract = new Refractor();
27+
28+
/* Expose. */
29+
module.exports = refract;
30+
31+
/* Create. */
32+
refract.highlight = highlight;
33+
refract.register = register;
34+
35+
/* Register bundled grammars. */
36+
register(markup);
37+
register(css);
38+
register(clike);
39+
register(js);
40+
41+
refract.util.encode = encode;
42+
refract.Token.stringify = stringify;
43+
44+
function register(grammar) {
45+
if (typeof grammar !== 'function' || !grammar.displayName) {
46+
throw new Error('Expected `function` for `grammar`, got `' + grammar + '`');
47+
}
48+
49+
/* Do not duplicate registrations. */
50+
if (refract.languages[grammar.displayName] === undefined) {
51+
grammar(refract);
52+
}
53+
}
54+
55+
function highlight(value, name, language) {
56+
var sup = Prism.highlight;
57+
var syntax;
58+
59+
if (typeof value !== 'string') {
60+
throw new Error('Expected `string` for `value`, got `' + value + '`');
61+
}
62+
63+
if (typeof name !== 'string') {
64+
throw new Error('Expected `string` for `name`, got `' + name + '`');
65+
}
66+
67+
if (!own.call(refract.languages, name)) {
68+
throw new Error('Unknown language: `' + name + '` is not registered');
69+
}
70+
71+
syntax = refract.languages[name];
72+
73+
return sup.call(this, value, syntax, language);
74+
}
75+
76+
function stringify(value, language, parent) {
77+
var env;
78+
79+
if (typeof value === 'string') {
80+
return {type: 'text', value: value};
81+
}
82+
83+
if (refract.util.type(value) === 'Array') {
84+
return stringifyAll(value, language);
85+
}
86+
87+
env = {
88+
type: value.type,
89+
content: refract.Token.stringify(value.content, language, parent),
90+
tag: 'span',
91+
classes: ['token', value.type],
92+
attributes: {},
93+
language: language,
94+
parent: parent
95+
};
96+
97+
if (env.type === 'comment') {
98+
env.attributes.spellcheck = 'true';
99+
}
100+
101+
if (value.alias) {
102+
env.classes = env.classes.concat(value.alias);
103+
}
104+
105+
refract.hooks.run('wrap', env);
106+
107+
return h(
108+
env.tag + '.' + env.classes.join('.'),
109+
env.attributes,
110+
env.content
111+
);
112+
}
113+
114+
function stringifyAll(values, language) {
115+
var result = [];
116+
var length = values.length;
117+
var index = -1;
118+
var value;
119+
120+
while (++index < length) {
121+
value = values[index];
122+
123+
if (value !== '' && value !== null && value !== undefined) {
124+
result.push(value);
125+
}
126+
}
127+
128+
index = -1;
129+
length = result.length;
130+
131+
while (++index < length) {
132+
value = result[index];
133+
result[index] = refract.Token.stringify(value, language, result);
134+
}
135+
136+
return result;
137+
}
138+
139+
function encode(tokens) {
140+
return tokens;
141+
}
142+
143+
function capture() {
144+
var defined = 'Prism' in global;
145+
/* istanbul ignore next */
146+
var current = defined ? global.Prism : undefined;
147+
148+
return restore;
149+
150+
function restore() {
151+
/* istanbul ignore else - Clean leaks after Prism. */
152+
if (defined) {
153+
global.Prism = current;
154+
} else {
155+
delete global.Prism;
156+
}
157+
158+
defined = undefined;
159+
current = undefined;
160+
}
161+
}

index.js

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
'use strict';
2+
3+
var refractor = require('./core.js');
4+
5+
module.exports = refractor;
6+
7+
refractor.register(require('./lang/abap.js'));
8+
refractor.register(require('./lang/actionscript.js'));
9+
refractor.register(require('./lang/ada.js'));
10+
refractor.register(require('./lang/apacheconf.js'));
11+
refractor.register(require('./lang/apl.js'));
12+
refractor.register(require('./lang/applescript.js'));
13+
refractor.register(require('./lang/asciidoc.js'));
14+
refractor.register(require('./lang/aspnet.js'));
15+
refractor.register(require('./lang/autohotkey.js'));
16+
refractor.register(require('./lang/autoit.js'));
17+
refractor.register(require('./lang/bash.js'));
18+
refractor.register(require('./lang/basic.js'));
19+
refractor.register(require('./lang/batch.js'));
20+
refractor.register(require('./lang/bison.js'));
21+
refractor.register(require('./lang/brainfuck.js'));
22+
refractor.register(require('./lang/bro.js'));
23+
refractor.register(require('./lang/c.js'));
24+
refractor.register(require('./lang/coffeescript.js'));
25+
refractor.register(require('./lang/cpp.js'));
26+
refractor.register(require('./lang/crystal.js'));
27+
refractor.register(require('./lang/csharp.js'));
28+
refractor.register(require('./lang/css-extras.js'));
29+
refractor.register(require('./lang/d.js'));
30+
refractor.register(require('./lang/dart.js'));
31+
refractor.register(require('./lang/diff.js'));
32+
refractor.register(require('./lang/docker.js'));
33+
refractor.register(require('./lang/eiffel.js'));
34+
refractor.register(require('./lang/elixir.js'));
35+
refractor.register(require('./lang/erlang.js'));
36+
refractor.register(require('./lang/fortran.js'));
37+
refractor.register(require('./lang/fsharp.js'));
38+
refractor.register(require('./lang/gherkin.js'));
39+
refractor.register(require('./lang/git.js'));
40+
refractor.register(require('./lang/glsl.js'));
41+
refractor.register(require('./lang/go.js'));
42+
refractor.register(require('./lang/graphql.js'));
43+
refractor.register(require('./lang/groovy.js'));
44+
refractor.register(require('./lang/haml.js'));
45+
refractor.register(require('./lang/handlebars.js'));
46+
refractor.register(require('./lang/haskell.js'));
47+
refractor.register(require('./lang/haxe.js'));
48+
refractor.register(require('./lang/http.js'));
49+
refractor.register(require('./lang/icon.js'));
50+
refractor.register(require('./lang/inform7.js'));
51+
refractor.register(require('./lang/ini.js'));
52+
refractor.register(require('./lang/j.js'));
53+
refractor.register(require('./lang/jade.js'));
54+
refractor.register(require('./lang/java.js'));
55+
refractor.register(require('./lang/jolie.js'));
56+
refractor.register(require('./lang/json.js'));
57+
refractor.register(require('./lang/jsx.js'));
58+
refractor.register(require('./lang/julia.js'));
59+
refractor.register(require('./lang/keyman.js'));
60+
refractor.register(require('./lang/kotlin.js'));
61+
refractor.register(require('./lang/latex.js'));
62+
refractor.register(require('./lang/less.js'));
63+
refractor.register(require('./lang/livescript.js'));
64+
refractor.register(require('./lang/lolcode.js'));
65+
refractor.register(require('./lang/lua.js'));
66+
refractor.register(require('./lang/makefile.js'));
67+
refractor.register(require('./lang/markdown.js'));
68+
refractor.register(require('./lang/matlab.js'));
69+
refractor.register(require('./lang/mel.js'));
70+
refractor.register(require('./lang/mizar.js'));
71+
refractor.register(require('./lang/monkey.js'));
72+
refractor.register(require('./lang/nasm.js'));
73+
refractor.register(require('./lang/nginx.js'));
74+
refractor.register(require('./lang/nim.js'));
75+
refractor.register(require('./lang/nix.js'));
76+
refractor.register(require('./lang/nsis.js'));
77+
refractor.register(require('./lang/objectivec.js'));
78+
refractor.register(require('./lang/ocaml.js'));
79+
refractor.register(require('./lang/oz.js'));
80+
refractor.register(require('./lang/parigp.js'));
81+
refractor.register(require('./lang/parser.js'));
82+
refractor.register(require('./lang/pascal.js'));
83+
refractor.register(require('./lang/perl.js'));
84+
refractor.register(require('./lang/php-extras.js'));
85+
refractor.register(require('./lang/php.js'));
86+
refractor.register(require('./lang/powershell.js'));
87+
refractor.register(require('./lang/processing.js'));
88+
refractor.register(require('./lang/prolog.js'));
89+
refractor.register(require('./lang/properties.js'));
90+
refractor.register(require('./lang/protobuf.js'));
91+
refractor.register(require('./lang/puppet.js'));
92+
refractor.register(require('./lang/pure.js'));
93+
refractor.register(require('./lang/python.js'));
94+
refractor.register(require('./lang/q.js'));
95+
refractor.register(require('./lang/qore.js'));
96+
refractor.register(require('./lang/r.js'));
97+
refractor.register(require('./lang/reason.js'));
98+
refractor.register(require('./lang/rest.js'));
99+
refractor.register(require('./lang/rip.js'));
100+
refractor.register(require('./lang/roboconf.js'));
101+
refractor.register(require('./lang/ruby.js'));
102+
refractor.register(require('./lang/rust.js'));
103+
refractor.register(require('./lang/sas.js'));
104+
refractor.register(require('./lang/sass.js'));
105+
refractor.register(require('./lang/scala.js'));
106+
refractor.register(require('./lang/scheme.js'));
107+
refractor.register(require('./lang/scss.js'));
108+
refractor.register(require('./lang/smalltalk.js'));
109+
refractor.register(require('./lang/smarty.js'));
110+
refractor.register(require('./lang/sql.js'));
111+
refractor.register(require('./lang/stylus.js'));
112+
refractor.register(require('./lang/swift.js'));
113+
refractor.register(require('./lang/tcl.js'));
114+
refractor.register(require('./lang/textile.js'));
115+
refractor.register(require('./lang/twig.js'));
116+
refractor.register(require('./lang/typescript.js'));
117+
refractor.register(require('./lang/verilog.js'));
118+
refractor.register(require('./lang/vhdl.js'));
119+
refractor.register(require('./lang/vim.js'));
120+
refractor.register(require('./lang/wiki.js'));
121+
refractor.register(require('./lang/xojo.js'));
122+
refractor.register(require('./lang/yaml.js'));

0 commit comments

Comments
 (0)