|
| 1 | +/* |
| 2 | + * Generated by ./misc/optlib2c from optlib/markdown.ctags, Don't edit this manually. |
| 3 | + */ |
| 4 | +#include "general.h" |
| 5 | +#include "parse.h" |
| 6 | +#include "routines.h" |
| 7 | + |
| 8 | + |
| 9 | +static void initializeMarkdownParser (const langType language CTAGS_ATTR_UNUSED) |
| 10 | +{ |
| 11 | + |
| 12 | + addLanguageRegexTable (language, "main"); |
| 13 | + addLanguageRegexTable (language, "sharp"); |
| 14 | + |
| 15 | + addLanguageTagMultiTableRegex (language, "main", |
| 16 | + "^#", |
| 17 | + "", "", "{tjump=sharp}{_advanceTo=0start}", NULL); |
| 18 | + addLanguageTagMultiTableRegex (language, "main", |
| 19 | + "^([^\n]+)[\n]=+[\n]", |
| 20 | + "\\1", "c", "{_field=sectionMarker:=}", NULL); |
| 21 | + addLanguageTagMultiTableRegex (language, "main", |
| 22 | + "^([^\n]+)[\n]-+[\n]", |
| 23 | + "\\1", "s", "{_field=sectionMarker:-}", NULL); |
| 24 | + addLanguageTagMultiTableRegex (language, "main", |
| 25 | + "^[^\n]+[\n]", |
| 26 | + "", "", "", NULL); |
| 27 | + addLanguageTagMultiTableRegex (language, "main", |
| 28 | + "^[\n]+", |
| 29 | + "", "", "", NULL); |
| 30 | + addLanguageTagMultiTableRegex (language, "main", |
| 31 | + "^[^\n]+", |
| 32 | + "", "", "", NULL); |
| 33 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 34 | + "^#[ \t]+([^\n]+)([ \t]+#+)[\n]", |
| 35 | + "\\1", "c", "{_field=sectionMarker:##}{tjump=main}", NULL); |
| 36 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 37 | + "^##[ \t]+([^\n]+)([ \t]+#+)[\n]", |
| 38 | + "\\1", "s", "{_field=sectionMarker:##}{tjump=main}", NULL); |
| 39 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 40 | + "^###[ \t]+([^\n]+)([ \t]+#+)[\n]", |
| 41 | + "\\1", "S", "{_field=sectionMarker:##}{tjump=main}", NULL); |
| 42 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 43 | + "^####[ \t]+([^\n]+)([ \t]+#+)[\n]", |
| 44 | + "\\1", "t", "{_field=sectionMarker:##}{tjump=main}", NULL); |
| 45 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 46 | + "^#####[ \t]+([^\n]+)([ \t]+#+)[\n]", |
| 47 | + "\\1", "T", "{_field=sectionMarker:##}{tjump=main}", NULL); |
| 48 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 49 | + "^######[ \t]+([^\n]+)([ \t]+#+)[\n]", |
| 50 | + "\\1", "u", "{_field=sectionMarker:##}{tjump=main}", NULL); |
| 51 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 52 | + "^#[ \t]+([^\n]+)[\n]", |
| 53 | + "\\1", "c", "{_field=sectionMarker:#}{tjump=main}", NULL); |
| 54 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 55 | + "^##[ \t]+([^\n]+)[\n]", |
| 56 | + "\\1", "s", "{_field=sectionMarker:#}{tjump=main}", NULL); |
| 57 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 58 | + "^###[ \t]+([^\n]+)[\n]", |
| 59 | + "\\1", "S", "{_field=sectionMarker:#}{tjump=main}", NULL); |
| 60 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 61 | + "^####[ \t]+([^\n]+)[\n]", |
| 62 | + "\\1", "t", "{_field=sectionMarker:#}{tjump=main}", NULL); |
| 63 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 64 | + "^#####[ \t]+([^\n]+)[\n]", |
| 65 | + "\\1", "T", "{_field=sectionMarker:#}{tjump=main}", NULL); |
| 66 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 67 | + "^######[ \t]+([^\n]+)[\n]", |
| 68 | + "\\1", "u", "{_field=sectionMarker:#}{tjump=main}", NULL); |
| 69 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 70 | + "^[^\n]+[\n]", |
| 71 | + "", "", "{tjump=main}", NULL); |
| 72 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 73 | + "^[\n]+", |
| 74 | + "", "", "{tjump=main}", NULL); |
| 75 | + addLanguageTagMultiTableRegex (language, "sharp", |
| 76 | + "^[^\n]+", |
| 77 | + "", "", "{tjump=main}", NULL); |
| 78 | +} |
| 79 | + |
| 80 | +extern parserDefinition* MarkdownParser (void) |
| 81 | +{ |
| 82 | + static const char *const extensions [] = { |
| 83 | + "md", |
| 84 | + NULL |
| 85 | + }; |
| 86 | + |
| 87 | + static const char *const aliases [] = { |
| 88 | + NULL |
| 89 | + }; |
| 90 | + |
| 91 | + static const char *const patterns [] = { |
| 92 | + NULL |
| 93 | + }; |
| 94 | + |
| 95 | + static kindDefinition MarkdownKindTable [] = { |
| 96 | + { |
| 97 | + true, 'c', "chapter", "chapsters", |
| 98 | + }, |
| 99 | + { |
| 100 | + true, 's', "section", "sections", |
| 101 | + }, |
| 102 | + { |
| 103 | + true, 'S', "subsection", "subsections", |
| 104 | + }, |
| 105 | + { |
| 106 | + true, 't', "subsubsection", "subsubsections", |
| 107 | + }, |
| 108 | + { |
| 109 | + true, 'T', "l4subsection", "level 4 subsections", |
| 110 | + }, |
| 111 | + { |
| 112 | + true, 'u', "l5subsection", "level 5 subsections", |
| 113 | + }, |
| 114 | + }; |
| 115 | + static fieldDefinition MarkdownFieldTable [] = { |
| 116 | + { |
| 117 | + .enabled = false, |
| 118 | + .name = "sectionMarker", |
| 119 | + .description = "character used for declaring section(#, ##, =, or -)", |
| 120 | + }, |
| 121 | + }; |
| 122 | + |
| 123 | + parserDefinition* const def = parserNew ("Markdown"); |
| 124 | + |
| 125 | + def->enabled = true; |
| 126 | + def->extensions = extensions; |
| 127 | + def->patterns = patterns; |
| 128 | + def->aliases = aliases; |
| 129 | + def->method = METHOD_NOT_CRAFTED|METHOD_REGEX; |
| 130 | + def->kindTable = MarkdownKindTable; |
| 131 | + def->kindCount = ARRAY_SIZE(MarkdownKindTable); |
| 132 | + def->fieldTable = MarkdownFieldTable; |
| 133 | + def->fieldCount = ARRAY_SIZE(MarkdownFieldTable); |
| 134 | + def->initialize = initializeMarkdownParser; |
| 135 | + |
| 136 | + return def; |
| 137 | +} |
0 commit comments