Commit Graph

962 Commits

Author SHA1 Message Date
Liam Newman
e60611044b Add templating language config option
1.9.x added better support for templating and turned it on for
Javascript by default. This caused formatting problems for code bases that
included template markers inside strings.

This change adds a templating option to control which languages are
recognized.  This setting defaults to "auto".  For JavaScript
"auto" means no templating languages, for HTML (and embedded script),
"auto" means all of them.  This basically preserves the existing
behavior before 1.9.x.

Fixes #1647
2019-04-30 10:11:52 -07:00
Liam Newman
caac81e7fb Do not repeat comments with indented empty line
Fixes #1663
2019-04-28 23:14:21 -07:00
Liam Newman
0cea554f21
Merge pull request #1664 from HanabishiRecca/master
LESS mixin fix
2019-04-27 19:51:10 -07:00
Liam Newman
12c476d997 Fix paren indenting 2019-04-27 19:14:13 -07:00
Liam Newman
737b425ad2 Add tests 2019-04-23 10:19:50 -07:00
Hanabishi
abbf06e13f CSS non-negative 'parenLevel' 2019-04-23 00:03:18 +05:00
Hanabishi
ed7138e598 LESS pseudoclass inside a mixin fix 2019-04-22 17:59:35 +05:00
Hanabishi
c374263b5a LESS mixin fix 2019-04-21 02:07:29 +05:00
Liam Newman
ff25fa565c Only recognize html comments as wrappers for javascript 2019-04-16 12:27:06 -07:00
Liam Newman
3296dd0d85 Support wrapping script and style content
Content inside style and script tags can be wrapped in comment or
cdata to allow the text to contain characters and string that
would otherwise not be allowed in html.

Before this change the html beautifier would not see the wrappers.
This meant that it could incorrectly terminate script or style
tags. It also meant that the wrapper would be passed to child
beautifiers and they would have to handle them.

This change makes the html beautfier recognize the wrappers and
correctly handle formatting of them itself. The child beautifiers
see only the content not the wrapper.

Fixes #1641
2019-04-16 12:27:05 -07:00
Hanabishi
a5237a7036 Declare 'indent_empty_lines' in default_options 2019-04-12 08:35:45 -07:00
Hanabishi
a94020125c Changed css tests to use 4 space indenting instead of tabs 2019-04-12 08:35:45 -07:00
asteinha
7400264bf3 Fixing test sources. 2019-04-12 02:09:37 +02:00
Avery Bloom
7111267cf8 stop reformatting valid css \! into invalid \ ! 2019-04-07 13:30:10 +09:00
HanabishiRecca
3dea2824bf CLI option & readme update 2019-03-25 13:21:45 -07:00
HanabishiRecca
3470ea5013 CSS & HTML tests 2019-03-25 13:21:06 -07:00
HanabishiRecca
212fe615e6 Additional tests 2019-03-25 13:21:06 -07:00
HanabishiRecca
8f9d86947f Option renamed
preserve_empty_lines_indent -> indent_empty_lines
2019-03-25 13:21:06 -07:00
Liam Newman
6db4a03841 Add initial tests 2019-03-25 13:21:06 -07:00
HanabishiRecca
09d92c0e67 New option: preserve_empty_lines_indent
This option allows to keep indentation on empty lines.
2019-03-25 13:21:06 -07:00
Liam Newman
1f7af59468 Limit tag auto-close for td and th tags
Fixes #1649
2019-03-25 13:20:15 -07:00
Liam Newman
bbc0e8e3d4 Fix newline insertion for optional end tags
Fixes #1213
2019-01-30 10:35:18 +01:00
Liam Newman
f6ed35d9c7 Fix identifier unicode escape recognition
Fixed #1211
2019-01-30 09:51:10 +01:00
e2tha-e
33db5b548a comment referring to issue which new inverted section test addresses 2019-01-29 13:30:13 -05:00
e2tha-e
3ccb604cb8 added test for indenting handlebars/mustache inverted sections 2019-01-29 12:11:47 -05:00
e2tha-e
d5500ca646 correctly indenting handlebars/mustache inverted sections 2019-01-29 11:16:04 -05:00
Liam Newman
f57eaff4de Template handling in JavaScript
Fixes #1377
2019-01-25 19:11:21 -08:00
Liam Newman
a6c908bd61 Add minimal support for django and other templating
Fixes #993
2019-01-17 21:51:35 -08:00
Liam Newman
91052d964d Streamline templating 2019-01-17 21:51:35 -08:00
Liam Newman
0b0d97c167 Streamline templating 2019-01-17 21:51:35 -08:00
Liam Newman
797aa8e998 Template handling in HTML 2019-01-17 00:17:32 -08:00
Liam Newman
fe3e18acfe Clean up html tag settings 2019-01-15 12:25:53 -08:00
Liam Newman
579ea06ca1 Add unformatted_content_delimiter
Fixes #1560
2019-01-13 12:54:27 -08:00
Liam Newman
8131d2713f Complete conversion to new line wrapping
Fixes #284
2019-01-13 10:38:19 -08:00
Liam Newman
17aa974e90 Move more tests to data files 2019-01-13 10:04:43 -08:00
Liam Newman
9a9c4f5358 Move Javascript to new line wrapping 2019-01-12 14:30:48 -08:00
Liam Newman
c6562be40a Enable strong line wrapping on html
Fixes #1324
2019-01-12 11:56:45 -08:00
Liam Newman
27e1dd33c5 Refactor indent setting
This change prepares us to support better line wrapping logic.
2019-01-12 11:56:45 -08:00
Liam Newman
1c1784798f Improve attribute wrapping
Fixes #1238
2019-01-10 12:18:46 -08:00
Liam Newman
83b65645cd Enable ignore directive in css 2019-01-09 14:35:51 -08:00
Liam Newman
f9d40dc5d1 Remove loop from html comment reader 2019-01-09 11:59:55 -08:00
Liam Newman
312bce9fd9 Switch to non-unicode string literals
This switches the regular expression string to use ascii representations of the unicode chars.

Fixes #1608
2019-01-08 10:10:16 -08:00
Liam Newman
68f6494dd0 Correctly handle type attribute on non-script tags
Fixes #1606
2019-01-07 23:38:59 -08:00
Liam Newman
b18e1fdeeb
Add test for -f -
vim beautify requires -f - to work
2019-01-07 16:47:03 -08:00
Liam Newman
e7a35c97c3
Merge branch 'master' into fix-ignore-stdin-marker 2019-01-07 10:29:12 -08:00
Qs-F
841de29d2f
Fix stdin marker "-" is ignored error 2019-01-08 03:18:32 +09:00
Liam Newman
71d52d50d7 Move MODE use to after definition
Fixes #1604
2018-12-19 14:14:37 -08:00
Liam Newman
8a853f9857 Code clean up
Code climate complained. Improved further.
2018-12-09 00:41:02 -08:00
Liam Newman
bdf611c671 Fix null beautifier and add tests
Fixes #1590
2018-12-08 18:43:50 -08:00
Liam Newman
f79082e441 Add html/text support to script tag
Fixes #1591

NOTE: This is a potentially breaking change to existing behavior.
Whitespace at the start of html used to be ignored.
Now it will be used as the base indent for the rest of the input.
This makes it consistent with the other beautifiers but may change
the behaviors of libraries that use the beautifier.
2018-12-08 17:20:19 -08:00
Liam Newman
b2a4313171
Merge pull request #1572 from MacKLess/tab_wrap
Tab and space alignment correction
2018-12-06 14:10:19 -08:00
Liam Newman
c0702721ee Fix globs and tests
Also fixes #1583
2018-12-06 13:47:22 -08:00
Liam Newman
5bc3776a5e Fix indenting 2018-12-06 08:37:01 -08:00
Liam Newman
4412cc970c
Merge branch 'master' into tab_wrap 2018-12-05 20:22:12 -08:00
Liam Newman
e1c147d8fa Add glob support to python 2018-12-05 20:11:47 -08:00
Stefan Koenen
4cb57d5c26 Added support for globs. 2018-12-05 18:25:47 -08:00
Liam Newman
d7d901ad56 Fixed up method shorthand 2018-11-29 09:41:05 -08:00
于涛
a715e0da86 in the .vue file space_after_anon_function is invalid #1425 2018-11-29 08:47:36 -08:00
Liam Newman
c9eabb912b
Merge branch 'master' into tab_wrap 2018-11-24 00:52:35 -08:00
Liam Newman
ca482d5399 Set up CI with Azure Pipelines 2018-11-24 00:19:53 -08:00
Liam Newman
97342b11c1
Merge branch 'master' into js-default-options 2018-10-23 03:13:43 -07:00
Diego Zilioti
5e5280010a defaultOptions as a function 2018-10-20 19:13:48 -03:00
Liam Newman
e0a31991dc Add arrow function async test 2018-10-18 01:46:31 -07:00
Liam Newman
7ed4a773be
Merge branch 'master' into js-default-options 2018-10-17 15:23:41 -07:00
Liam Newman
a2ba20bb87 Fix object literal async indenting
Fixes #1573
2018-10-12 18:17:25 -07:00
L. D. MacKrell
0bedb9961c Update python with space and tab adjustment 2018-10-12 00:37:14 -07:00
Liam Newman
a75fa68367 Translate options to python 2018-10-11 23:08:41 -07:00
Liam Newman
fa0705414d Use alignment in javascript beautifier 2018-10-11 20:36:48 -07:00
Liam Newman
586ffae417 IndentStringCache WIP 2018-10-10 20:59:32 -07:00
L. D. MacKrell
e799ab20c6 Fix tab vs space alignment for attributes WIP 2018-10-10 14:47:09 -07:00
Liam Newman
79dbee4851 Merge remote-tracking branch 'beautify-web/master' into js-default-options 2018-10-10 11:20:42 -07:00
L. D. MacKrell
c413de0ef7 Add preserve and preserve_align to html 2018-10-10 11:04:40 -07:00
Liam Newman
96a0f67cee Minor tweaks 2018-10-08 10:29:47 -07:00
Liam Newman
28019526cb Merge remote-tracking branch 'beautify-web/master' into core-options-test 2018-10-08 10:27:12 -07:00
Liam Newman
9418c9eafb
Merge branch 'master' into js-default-options 2018-10-08 10:22:36 -07:00
Liam Newman
ab85ff6554 Added newlines to end of files 2018-10-08 10:10:39 -07:00
Diego Zilioti
88fd75760e Draft for defaultOptions 2018-10-06 19:31:10 -03:00
Diego Zilioti
58d339ae10 Add unit tests for core options in python 2018-10-06 17:20:28 -03:00
Diego Zilioti
bdc7701ab1 Fix core options tests after running make ci 2018-10-05 01:37:18 -03:00
Diego Zilioti
bfdea6ee6b Add unit tests for core options 2018-10-05 01:22:51 -03:00
L. D. MacKrell
096a070ab3 Add tests for indent scripts option
*Add indent_scripts to README
2018-09-27 15:01:08 -07:00
Liam Newman
74009348f2
Merge branch 'master' into add-tests 2018-09-27 13:15:25 -07:00
Liam Newman
c748b9597a Change shebang tokenizing to use inputscanner.read
The point of inputscanner is to avoid having the tokenizer
looping over input and use patterns instead.

This commit switches tokenizing of shebangs to from looping to pattern reading.
2018-09-27 12:32:49 -07:00
Liam Newman
ab7c9f9c51 Fixed alternate newline handling
The previous implmentation only handle slash-n.
Added tests with more inputs revealed issues with slash-rn.
Fixed up regex to handle them.
2018-09-27 12:13:32 -07:00
L. D. MacKrell
52ce863275 Update inputscanner tests
* fixed js tests
* wrote python equivalent tests
* found and fixed bug in inputscanner.py for test_Char
2018-09-27 12:04:36 -07:00
MacKLess
1e99b57827
Merge branch 'master' into add-tests 2018-09-27 09:32:29 -07:00
L. D. MacKrell
b32ef2d705 Fix extendscript #include 2018-09-26 17:36:26 -07:00
L. D. MacKrell
fe0006ae0f Fix dynamic import arrow support 2018-09-26 16:46:26 -07:00
L. D. MacKrell
cd49403caf Add option for space before named function 2018-09-26 15:32:51 -07:00
L. D. MacKrell
677b0dc762 Fix formatting for Typescript declare 2018-09-10 14:39:51 -07:00
Liam Newman
6469217c8d
Merge branch 'master' into io-move 2018-09-10 12:54:00 -07:00
Liam Newman
5aec460246
Merge pull request #1540 from bitwiseman/uri
Fixed support for data URI with test
2018-09-10 12:53:43 -07:00
Liam Newman
ee99c9b829
Merge branch 'master' into io-move 2018-09-10 12:53:17 -07:00
Liam Newman
2d48af82f3 Move all references to beautifier.io 2018-09-09 13:57:13 -07:00
Liam Newman
aadec2b867 Preserve new line at start of handlebars contents
Fixes #1469
2018-09-08 17:01:56 -07:00
Liam Newman
ac6450f425 Fixed support for data URI with test
Fixes #1535
2018-09-08 13:37:05 -07:00
Liam Newman
0ef7b81973 Fix for unformatted and content_unformatted
Fixes #1534
2018-09-04 14:56:01 -07:00
Liam Newman
886f6d315c Fixed unindent chained methods under-indent 2018-09-04 13:24:56 -07:00
L. D. MacKrell
b5ef9b4727 Refactor _flags.last_text to _flags.last_token.text 2018-09-02 19:21:12 -07:00
L. D. MacKrell
e849cb905c Refactor TOKEN.RESERVED to reserved_word and reserved_array functions 2018-09-02 16:46:20 -07:00
Liam Newman
418fc7a6b9 Refactor end_with_newline in Output settings 2018-09-01 14:42:41 -07:00
Liam Newman
a46d717eb3 Refactor indent_string calculation into Output 2018-09-01 14:35:46 -07:00
Liam Newman
02d89694af Added single selection options 2018-09-01 14:08:00 -07:00
Liam Newman
f46c4f341e
Merge branch 'master' into level 2018-08-31 18:39:40 -07:00
L. D. MacKrell
79717afda4 Add level options functionality with tests 2018-08-31 18:26:00 -07:00
L. D. MacKrell
8bc8d4355a Update unindent method for each else blocks 2018-08-31 14:07:55 -07:00
Liam Newman
75f38d907d Fixed await indenting
Fixes #1519
Fixes #1517
2018-08-30 13:22:47 -07:00
Liam Newman
e333ae52de Fix css perf tests 2018-08-30 13:21:46 -07:00
Liam Newman
4807865f02 Run more perf tests and on larger files 2018-08-28 23:44:08 -07:00
Liam Newman
698dd05fc2 Move acorn to javascript module 2018-08-28 14:55:55 -07:00
Liam Newman
4383295024 Cleanup 2018-08-28 14:55:55 -07:00
Liam Newman
486da48247 indent_inner_html defaults to false 2018-08-28 14:55:55 -07:00
Liam Newman
fb36163332 Move css beautifier to prototype 2018-08-28 14:55:55 -07:00
Liam Newman
81d3177bff Add core Options class 2018-08-28 14:55:54 -07:00
Liam Newman
d210b6381e Refactor js beautifier 2018-08-28 14:31:01 -07:00
Liam Newman
cca8bcae81 Fix indent_inner_html
Fixes #1514
2018-08-27 14:54:47 -07:00
Liam Newman
f225157557 Re-add test 2018-08-27 14:54:47 -07:00
Liam Newman
498a5504e6
Merge pull request #1513 from MacKLess/hbs
Add test for handlebars with wrap attributes
2018-08-25 16:45:29 -07:00
L. D. MacKrell
2fd78a68e6 Add test for handlebars with wrap attributes 2018-08-25 16:34:01 -07:00
Liam Newman
f6e38be762
Merge pull request #1512 from MacKLess/svg
Add test for SVG formatting
2018-08-25 16:05:18 -07:00
L. D. MacKrell
8d6bf68ee8 Add test for SVG formatting 2018-08-25 15:56:46 -07:00
Liam Newman
d9b36ad054
Merge pull request #1511 from MacKLess/media
Add test for newlines in css @media blocks
2018-08-25 15:45:47 -07:00
L. D. MacKrell
9bedbe1dc8 Add test for newlines in css @media blocks 2018-08-25 15:40:12 -07:00
L. D. MacKrell
e3979f51fd Add test for wrapping negative expressions that end a line 2018-08-25 15:12:23 -07:00
Liam Newman
a1bfc0589d Add CLI values 2018-08-24 13:33:19 -07:00
Liam Newman
47231ba0ee Add tests 2018-08-24 13:33:19 -07:00
Liam Newman
f97b8f8f90
Merge pull request #1509 from MacKLess/test
Add test for expressions inside handlebars
2018-08-24 01:06:08 -07:00
L. D. MacKrell
be723b152e Add test for expressions inside handlebars 2018-08-24 00:49:44 -07:00
L. D. MacKrell
5ea52424e4 Add test for wrap attributes force aligned 2018-08-24 00:40:24 -07:00
Liam Newman
e01e0db993 Tests for closed issues
Closes #645
Closes #1122
2018-08-23 22:40:51 -07:00
Liam Newman
fe3f3a7bcc Test for dl-dt-dd optional tags 2018-08-23 20:48:41 -07:00
Liam Newman
d2e8f40f2c Roll back strict on CLI just in case 2018-08-23 18:11:54 -07:00
Liam Newman
d710e25b93
Merge pull request #1505 from MacKLess/handlebars
Add test for formatting handlebars with nbsp
2018-08-23 15:07:14 -07:00
Liam Newman
ac8e54c763
Merge pull request #1504 from MacKLess/ASPX
Add test for ASPX JSP directives formatting
2018-08-23 14:11:25 -07:00
L. D. MacKrell
de179ce5f7 Add test for formatting handlebars with nbsp 2018-08-23 14:11:10 -07:00
L. D. MacKrell
62e0536721 Add test for ASPX JSP directives formatting 2018-08-23 13:50:54 -07:00
L. D. MacKrell
ecc7ec80ec Update optional closing tag indent formatting 2018-08-23 13:29:21 -07:00
Liam Newman
4278f10b7f Refactor tag stack 2018-08-23 11:44:10 -07:00
L. D. MacKrell
34700233fc Modify html5 space characters 2018-08-22 23:49:02 -07:00
Liam Newman
14849d6085 Tests for #1496 2018-08-22 18:23:15 -07:00
Liam Newman
ca26d5af2b
Merge branch 'master' into space 2018-08-22 16:55:10 -07:00
Liam Newman
5362878ef5 Turn on use strict across most of project
Stop sloppy humans from doing sloppy human things.
2018-08-22 16:51:25 -07:00
Liam Newman
8f322b4be9 Closes #869 2018-08-22 15:58:13 -07:00
Liam Newman
554005310e
Merge pull request #1494 from MacKLess/button
Add test for html formatting after button element
2018-08-22 13:14:28 -07:00
Liam Newman
63bf73d300
Merge branch 'master' into button 2018-08-22 13:02:49 -07:00
L. D. MacKrell
ae772fab46 Fixed whitespace detection issue with tests 2018-08-22 12:56:38 -07:00
L. D. MacKrell
85a8fe3e73 Converts name dashes to underscore in option inputs 2018-08-22 11:52:44 -07:00
L. D. MacKrell
fb9a7b1867 Add test for html formatting following button 2018-08-22 00:59:51 -07:00
Liam Newman
c2da393fe5 Add support for optional html tags 2018-08-21 21:59:05 -07:00
Liam Newman
7c2eda572b HTML refactoring 2018-08-21 18:50:40 -07:00
Liam Newman
26ec3a76f2 Correctly handle void_elements
Fixes #1475
2018-08-21 16:24:13 -07:00
Liam Newman
0aac315ab6 Add disabled option to pass through source unchanged
Closes #1405
2018-08-20 15:32:37 -07:00
Liam Newman
0405dea61a Test for #1491 2018-08-20 12:08:16 -07:00
Liam Newman
ddf7aafad5 Reorganize HTML Beautifier 2018-08-20 12:08:16 -07:00
Liam Newman
bb9e17785c More clean up 2018-08-16 22:57:41 -07:00
Liam Newman
2a4bc0954a Improved fixed from nested newline between rules
Fixes #1406
2018-08-16 21:12:31 -07:00
Liam Newman
6b812daf22 General tightening of member access limits 2018-08-16 14:00:05 -07:00
Liam Newman
62cc382ac9 Create IndentCache to encapsulate indent and align 2018-08-16 12:45:21 -07:00
L. D. MacKrell
010d5bc5dc Force newline in between rules in CSS block 2018-08-15 16:44:39 -07:00
L. D. MacKrell
d7129bb8e8 Force newlines between nested rules in SCSS 2018-08-15 10:30:42 -07:00
Liam Newman
985a2b4c1f Centralize indent string creation 2018-08-14 15:01:50 -07:00
Liam Newman
8fbbe7c012 Continuing churn of html beautifier 2018-08-14 14:14:12 -07:00
Liam Newman
56de0e61cf HTML Output cleanup 2018-08-14 12:25:54 -07:00
Liam Newman
c1b9ae6917 Remove innner loop of attribute processing 2018-08-13 22:22:09 -07:00
Liam Newman
af6a557137 Make most html tests not fragments 2018-08-13 18:08:52 -07:00
L. D. MacKrell
a59c88762f Adds test to preserve newlines 2018-08-13 15:54:53 -07:00
L. D. MacKrell
7d2e0baaf0 Support @import in CSS 2018-08-13 14:54:06 -07:00
L. D. MacKrell
1ade0cfdf0 Preserve newline in block css property values 2018-08-13 13:26:54 -07:00
Liam Newman
9b3577c45d Handle attributes with spaces
Fixes #1094
2018-08-13 10:33:19 -07:00
Liam Newman
7f5a6920f9 Add more tests 2018-08-12 22:48:43 -07:00
Liam Newman
f37cb1c86e Add more tests 2018-08-12 22:45:17 -07:00
Liam Newman
6a043f007c Hotfixes for issues in rc5
Fixes #1481
Fixes #1482
Fixes #1483
2018-08-12 22:36:37 -07:00
Liam Newman
c4f03cce7e Add test for html ignore directive
Closes #545
Closes #994
2018-08-11 21:58:00 -07:00
Liam Newman
6e8afc8406 Add alignment to output 2018-08-11 21:58:00 -07:00
Liam Newman
6b4ab06034 Html beautifier uses only one output stream 2018-08-11 21:58:00 -07:00
Liam Newman
89e91a8242 Add more navgation to token 2018-08-11 21:58:00 -07:00
Liam Newman
9a53aba300 Handlebars unless and else if
Fixed #800
Fixes #1123
2018-08-11 18:38:47 -07:00
Liam Newman
59b416666f Remove extra code 2018-08-11 18:08:48 -07:00
Liam Newman
cc76cc6e82 Fixes for line wrap in Html
Closes #607
Closes #1304
Closes #1383
Fixes #1401
2018-08-11 17:59:19 -07:00
Liam Newman
ab4d2f02e4 Improve test output for failures 2018-08-11 15:53:03 -07:00
Liam Newman
77d1460e5f Improved reporting 2018-08-11 15:32:58 -07:00
Liam Newman
b760fc828f Add tokenizer to html beautifier 2018-08-10 22:56:35 -07:00
L. D. MacKrell
7eb4e3b29b Test for spacing around attribute value selector 2018-08-09 17:16:09 -07:00
Liam Newman
91673fe65e
Merge branch 'master' into add-tests 2018-08-09 09:13:11 -07:00
Liam Newman
33e8195e79 Code format changes 2018-08-07 02:01:47 -07:00
Liam Newman
d2b4e272c4 Use read for recent change 2018-08-06 15:29:47 -07:00
Liam Newman
acd0086be3 Move javascript core classes to prototype
Results in 50% performance improvment.
2018-08-06 15:25:32 -07:00
Liam Newman
4e971ee215 Use javascript inheritance for tokenizer 2018-08-06 15:25:32 -07:00
Liam Newman
6298ddbfc0 Remove duplicate readUntilAfter code 2018-08-06 15:25:32 -07:00
Liam Newman
dc00c56e60 Use regexp for reserved words 2018-08-06 15:25:32 -07:00
Liam Newman
00e5407b85 Reorganize tokenizer 2018-08-06 15:25:32 -07:00
Liam Newman
28e86b9af8 TokenStream in Python 2018-08-06 15:25:32 -07:00
Liam Newman
a69766418a Core.Tokenizer in Python 2018-08-06 15:25:32 -07:00
Liam Newman
acbf7d609d Remove extra fields from Token 2018-08-06 15:25:32 -07:00
Liam Newman
9218d39c65 Change readWhile to read 2018-08-06 15:25:32 -07:00
Liam Newman
c3f7fe75ea Directives in python 2018-08-06 15:25:32 -07:00
Liam Newman
a235009c97 TokenStream 2018-08-06 15:25:32 -07:00
Liam Newman
dbbaa509ea TokenFactory 2018-08-06 15:25:32 -07:00
Liam Newman
bbb86b44f0 Add related classes 2018-08-06 15:25:32 -07:00
Liam Newman
2e9a299851 Inherit tokenizer from core 2018-08-06 15:25:32 -07:00