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();