]> git.wincent.com - wikitext.git/blobdiff - ext/token.c
Add options for "output_style" (no backend yet)
[wikitext.git] / ext / token.c
index e2f51f1a7a696d8dc4345fefae16892f2bb19247..9c5d9147655bed0132788c5bd17540544326e5e6 100644 (file)
@@ -1,16 +1,25 @@
-// Copyright 2008 Wincent Colaiuta
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
+// Copyright 2008-2009 Wincent Colaiuta. All rights reserved.
 //
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
 //
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 1. Redistributions of source code must retain the above copyright notice,
+//    this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
 
 #include "token.h"
 #include "wikitext.h"
@@ -49,20 +58,21 @@ VALUE Wikitext_parser_token_types(VALUE self)
     SET_TOKEN_TYPE(TT);
     SET_TOKEN_TYPE(OL);
     SET_TOKEN_TYPE(UL);
-    SET_TOKEN_TYPE(H6_START);
-    SET_TOKEN_TYPE(H5_START);
-    SET_TOKEN_TYPE(H4_START);
-    SET_TOKEN_TYPE(H3_START);
-    SET_TOKEN_TYPE(H2_START);
     SET_TOKEN_TYPE(H1_START);
-    SET_TOKEN_TYPE(H6_END);
-    SET_TOKEN_TYPE(H5_END);
-    SET_TOKEN_TYPE(H4_END);
-    SET_TOKEN_TYPE(H3_END);
-    SET_TOKEN_TYPE(H2_END);
+    SET_TOKEN_TYPE(H2_START);
+    SET_TOKEN_TYPE(H3_START);
+    SET_TOKEN_TYPE(H4_START);
+    SET_TOKEN_TYPE(H5_START);
+    SET_TOKEN_TYPE(H6_START);
     SET_TOKEN_TYPE(H1_END);
+    SET_TOKEN_TYPE(H2_END);
+    SET_TOKEN_TYPE(H3_END);
+    SET_TOKEN_TYPE(H4_END);
+    SET_TOKEN_TYPE(H5_END);
+    SET_TOKEN_TYPE(H6_END);
     SET_TOKEN_TYPE(URI);
     SET_TOKEN_TYPE(MAIL);
+    SET_TOKEN_TYPE(PATH);
     SET_TOKEN_TYPE(LINK_START);
     SET_TOKEN_TYPE(LINK_END);
     SET_TOKEN_TYPE(EXT_LINK_START);
@@ -85,6 +95,7 @@ VALUE Wikitext_parser_token_types(VALUE self)
     SET_TOKEN_TYPE(CRLF);
     SET_TOKEN_TYPE(SPECIAL_URI_CHARS);
     SET_TOKEN_TYPE(PRINTABLE);
+    SET_TOKEN_TYPE(ALNUM);
     SET_TOKEN_TYPE(DEFAULT);
     SET_TOKEN_TYPE(END_OF_FILE);
 
@@ -94,7 +105,7 @@ VALUE Wikitext_parser_token_types(VALUE self)
 }
 
 // for testing and debugging only
-VALUE _Wikitext_token(token_t *token)
+VALUE wiki_token(token_t *token)
 {
     VALUE object = rb_class_new_instance(0, NULL, cWikitextParserToken);
     (void)rb_iv_set(object, "@start",           LONG2NUM((long)token->start));