summaryrefslogtreecommitdiff
path: root/awk/index.awk
diff options
context:
space:
mode:
Diffstat (limited to 'awk/index.awk')
-rw-r--r--awk/index.awk13
1 files changed, 10 insertions, 3 deletions
diff --git a/awk/index.awk b/awk/index.awk
index 4646ddc..c389176 100644
--- a/awk/index.awk
+++ b/awk/index.awk
@@ -52,14 +52,20 @@ match($0, /#\+FILETAGS:[ \t]+(.*)/, a) {
## Heading Parsing
-match($0, /^(\*+)[ \t]+.*$/, a) {
+match($0, /^(\*+)[ \t]+(.*)$/, a) {
level = length(a[1]);
+ title = a[2];
tags = "";
# tag re based on org-tag-re
+ # this only guarantees that there is at least one tab/space
+ # between the headline text and the tags.
# TODO: Do this in a single match
- if (match($0, /^\*+[ \t]+.*[ \t]+(:([a-zA-Z0-9_@#%]+:)+)$/, b) != 0) {
- tags = b[1];
+ if (match(title, /^(.*)[ \t]+(:([a-zA-Z0-9_@#%]+:)+)$/, b) != 0) {
+ title = b[1];
+ # remove trailing tabs/spaces
+ sub(/[ \t]*$/, "", title);
+ tags = b[2];
}
parent_tags[level] = tags;
@@ -114,6 +120,7 @@ $0 ~ review_data_drawer {
print " (" \
":id " escape_string(properties["ID"]) \
+ " :title " escape_string(title) \
" :type " properties[type_property] \
" :created " parse_time(properties[created_property]) \
" :suspended " (suspended ? "t" : "nil") \