Skip to content

Commit

Permalink
Org,optimize: add a pattern just for skipping to the toplvel table
Browse files Browse the repository at this point in the history
  • Loading branch information
masatake committed Dec 27, 2022
1 parent a22c1f3 commit ff1610b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 8 deletions.
16 changes: 11 additions & 5 deletions optlib/org.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,14 @@ static void initializeOrgParser (const langType language)
"^[^#*<]+",
"", "", "", NULL);
addLanguageTagMultiTableRegex (language, "toplevel",
"^[:blank:]*#\\+begin_src[ ]+([a-zA-Z0-9][-#+a-zA-Z0-9]*)",
"^#\\+begin_src[ ]+([a-zA-Z0-9][-#+a-zA-Z0-9]*)",
"", "", "{tenter=srcblock}{_guest=\\1,0end,}", NULL);
addLanguageTagMultiTableRegex (language, "toplevel",
"^#\\+(NAME|name):[[:blank:]]+([[:graph:][:blank:]]+)([\n])?",
"\\2", "d", "", NULL);
addLanguageTagMultiTableRegex (language, "toplevel",
"^#[^\n]*\n",
"", "", "", NULL);
addLanguageTagMultiTableRegex (language, "toplevel",
"^(\\*{1,7})[ \t]+([[:graph:][:blank:]]+)([\n])?",
"", "", ""
Expand All @@ -40,14 +46,14 @@ static void initializeOrgParser (const langType language)
addLanguageTagMultiTableRegex (language, "toplevel",
"^<<([^>]+)>>",
"\\1", "d", "", NULL);
addLanguageTagMultiTableRegex (language, "toplevel",
"^#\\+(NAME|name):[[:blank:]]+([[:graph:][:blank:]]+)([\n])?",
"\\2", "d", "", NULL);
addLanguageTagMultiTableRegex (language, "toplevel",
"^.",
"", "", "", NULL);
addLanguageTagMultiTableRegex (language, "srcblock",
"^[:blank:]*#\\+end_src",
"^[^#]+",
"", "", "", NULL);
addLanguageTagMultiTableRegex (language, "srcblock",
"^#\\+end_src",
"", "", "{tleave}{_guest=,,0end}", NULL);
addLanguageTagMultiTableRegex (language, "srcblock",
"^.",
Expand Down
10 changes: 7 additions & 3 deletions optlib/org.ctags
Original file line number Diff line number Diff line change
Expand Up @@ -54,21 +54,25 @@
################################
--_mtable-regex-Org=toplevel/[^#*<]+//
# if encounter a src block do language identify languge and defer
--_mtable-regex-Org=toplevel/[:blank:]*#\+begin_src[ ]+([a-zA-Z0-9][-#+a-zA-Z0-9]*)//{tenter=srcblock}{_guest=\1,0end,}
--_mtable-regex-Org=toplevel/#\+begin_src[ ]+([a-zA-Z0-9][-#+a-zA-Z0-9]*)//{tenter=srcblock}{_guest=\1,0end,}
# labels
--_mtable-regex-Org=toplevel/#\+(NAME|name):[[:blank:]]+([[:graph:][:blank:]]+)([\n])?/\2/d/
# skip #...
--_mtable-regex-Org=toplevel/#[^\n]*\n//
# sections stuff
--_mtable-regex-Org=toplevel/(\*{1,7})[ \t]+([[:graph:][:blank:]]+)([\n])?//{{
\2 kindTable \1 length 1 sub get @2 _tag _commit pop
}}
# labels
--_mtable-regex-Org=toplevel/<<([^>]+)>>/\1/d/
--_mtable-regex-Org=toplevel/#\+(NAME|name):[[:blank:]]+([[:graph:][:blank:]]+)([\n])?/\2/d/
## else do nothing (end of toplevel)
--_mtable-regex-Org=toplevel/.//

################################
# beginning of src block
################################
# if end of src block exit
--_mtable-regex-Org=srcblock/[:blank:]*#\+end_src//{tleave}{_guest=,,0end}
--_mtable-regex-Org=srcblock/[^#]+//
--_mtable-regex-Org=srcblock/#\+end_src//{tleave}{_guest=,,0end}
# else do nothing
--_mtable-regex-Org=srcblock/.//

0 comments on commit ff1610b

Please sign in to comment.