Action Directory / Todolist
InstallExtract and jump to Todo item.
Shared by Nobuhito SATO
Script
var text = editor.getText().replace("\r\n", "\n").split("\n");
var prev_headers = [];
var headers = [];
var list = [];
var position = 0;
for (var i in text) {
if (/^(#+)\s(.*)/.test(text[i])) {
var level = RegExp.$1;
var header = RegExp.$2;
var count = level.length - 1;
if (headers.length > count) {
prev_headers = headers;
headers = [];
for (var j=0; j<count; j++) {
headers.push(prev_headers[j]);
}
}
headers.push(header);
}
if (/^\s{0,}\-\s\[\s\]\s(.*)/.test(text[i])) {
list.push(RegExp.$1 + "|" + position + "|" + headers.join('/'));
}
position = position + text[i].length + 1;
}
ui.list('TODO', list, function(selectedValues) {
if (selectedValues != undefined) {
editor.setSelectedRange(selectedValues);
}
});