Mercurial Hosting > luan
comparison src/luan/modules/parsers/Html.java @ 1279:323743a7f317
add html tag.raw
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 18 Dec 2018 12:54:55 -0700 |
parents | 9fa8b8389578 |
children | 8d54bcc0b6d3 |
comparison
equal
deleted
inserted
replaced
1278:d83f6cc558de | 1279:323743a7f317 |
---|---|
118 tbl.rawPut("text",text); | 118 tbl.rawPut("text",text); |
119 return parser.success(tbl); | 119 return parser.success(tbl); |
120 } | 120 } |
121 | 121 |
122 private LuanTable parseTag() { | 122 private LuanTable parseTag() { |
123 parser.begin(); | 123 int tagStart = parser.begin(); |
124 if( !parser.match('<') ) | 124 if( !parser.match('<') ) |
125 return parser.failure(null); | 125 return parser.failure(null); |
126 int start = parser.currentIndex(); | 126 int start = parser.currentIndex(); |
127 parser.match('/'); | 127 parser.match('/'); |
128 if( !matchNameChar() ) | 128 if( !matchNameChar() ) |
137 } | 137 } |
138 while( matchSpace() ); | 138 while( matchSpace() ); |
139 boolean isEmpty = parser.match('/'); | 139 boolean isEmpty = parser.match('/'); |
140 if( !parser.match('>') ) | 140 if( !parser.match('>') ) |
141 return parser.failure(null); | 141 return parser.failure(null); |
142 String raw = parser.textFrom(tagStart); | |
142 LuanTable tbl = new LuanTable(luan); | 143 LuanTable tbl = new LuanTable(luan); |
143 tbl.rawPut("type","tag"); | 144 tbl.rawPut("type","tag"); |
144 tbl.rawPut("name",name); | 145 tbl.rawPut("name",name); |
145 tbl.rawPut("attributes",attributes); | 146 tbl.rawPut("attributes",attributes); |
146 tbl.rawPut("is_empty",isEmpty); | 147 tbl.rawPut("is_empty",isEmpty); |
148 tbl.rawPut("raw",raw); | |
147 return parser.success(tbl); | 149 return parser.success(tbl); |
148 } | 150 } |
149 | 151 |
150 private String parseAttrName() { | 152 private String parseAttrName() { |
151 parser.begin(); | 153 parser.begin(); |