aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwlt_lain2013-04-16 22:47:07 -0700
committerwlt_lain2013-04-16 23:04:24 -0700
commite6caec107ce1325ea5866c10d9f7000e75608180 (patch)
treeb37e0d4c0a2549b1b5df5743de775d692326fa54
parent0e04b9204af46ae55d47120394af7b669bc1d835 (diff)
downloadvimperator-plugins-e6caec107ce1325ea5866c10d9f7000e75608180.tar.bz2
fix #40 drop E4X sbmcommentsviewer.js
-rw-r--r--sbmcommentsviewer.js48
1 files changed, 25 insertions, 23 deletions
diff --git a/sbmcommentsviewer.js b/sbmcommentsviewer.js
index fb9c647..a049432 100644
--- a/sbmcommentsviewer.js
+++ b/sbmcommentsviewer.js
@@ -12,7 +12,7 @@ var PLUGIN_INFO = xml`
viewSBMComments [url] [options]
url : 省略時は現在のURL
options:
- -f, -format : 出力時のフォーマット(`,'区切りのリスト)
+ -f, -format : 出力時のフォーマット(${'`'},'区切りのリスト)
(default: id,timestamp,tags,comment)
let g:def_sbm_format = ... で指定可能
-t, -type : 出力するSBMタイプ
@@ -74,27 +74,28 @@ SBMContainer.prototype = { //{{{
));
},
toHTML: function(format, countOnly){
- var label = `
- {this.faviconURL ? <img src={this.faviconURL} width="16" height="16" style="vertical-align: middle; margin-right: 5px;" /> : ``}
- {manager.type[this.type] + ' ' + this.count + '(' + this.entries.length + ')'}
- {this.pageURL ? <a href="#" highlight="URL" style="margin-left: 5px;">{this.pageURL}</a> : ``}
+ var label = xml`
+ ${this.faviconURL ? xml`<img src=${this.faviconURL} width="16" height="16" style="vertical-align: middle; margin-right: 5px;" />` : ``}
+ ${manager.type[this.type] + ' ' + this.count + '(' + this.entries.length + ')'}
+ ${this.pageURL ? xml`<a href="#" highlight="URL" style="margin-left: 5px;">${this.pageURL}</a>` : ``}
`;
if (countOnly){
return label;
} else {
- let xml = <div highlight="CompGroup" class="liberator-sbmcommentsviewer" style="line-height: 1.6;">
- <div highlight="Completions"><div highlight="CompTitle"><li highlight="CompResult">{label}</li><li highlight="CompDesc"></li></div></div>
- </div>;
+ let html = xml``;
let self = this;
- xml.* += (function(){
- var div = ``;
+ html = xml`${html}${(function(){
+ var div = xml``;
self.entries.forEach(function(e){
if (isFilterNoComments && !e.comment) return;
- div += e.toHTML(format);
+ div = xml`${div}${e.toHTML(format)}`;
});
return div;
- })();
- return xml;
+ })()}`;
+ html = xml`<div highlight="CompGroup" class="liberator-sbmcommentsviewer" style="line-height: 1.6;">
+ <div highlight="Completions"><div highlight="CompTitle"><li highlight="CompResult">${label}</li><li highlight="CompDesc"></li></div></div>
+ ${html}</div>`;
+ return html;
}
}
}; //}}}
@@ -125,39 +126,40 @@ SBMEntry.prototype = { //{{{
toHTML: function(format){
function makeLink(str, withLink){
let s = str;
- let result = XMLList();
+ let result = xml``;
while (s.length > 0) {
let m = s.match(/(?:https?:\/\/|mailto:)\S+/);
if (m) {
- result += `{s.slice(0, m.index)}<a href={withLink ? m[0] : '#'} highlight="URL">{m[0]}</a>`;
+ result = xml`${result}${s.slice(0, m.index)}<a href=${withLink ? m[0] : '#'} highlight="URL">${m[0]}</a>`;
s = s.slice(m.index + m[0].length);
} else {
- result += `{s}`;
+ result = xml`${result}${s}`;
break;
}
}
return result;
}
- var xml = <div highlight="Completions" class="liberator-sbmcommentsviewer-content" style="margin: 0; padding: 3px 5px; border-bottom: 1px dotted;"/>;
+ var entry = xml``;
var self = this;
format.forEach(function(colum){
switch(colum){
case 'id':
- xml.* += <span class="liberator-sbmcommentsviewer-id" style="margin-right: 10px;">{self.userIcon ? `<img src={self.userIcon} width="16" height="16" style="margin-right: 5px; vertical-align: middle;"/>{self.id}` : `{self.id}`}</span>;
+ entry = xml`${entry}<span class="liberator-sbmcommentsviewer-id" style="margin-right: 10px;">${self.userIcon ? xml`<img src=${self.userIcon} width="16" height="16" style="margin-right: 5px; vertical-align: middle;"/>${self.id}` : `${self.id}`}</span>`;
break;
case 'timestamp':
- xml.* += <span class="liberator-sbmcommentsviewer-timestamp" style="margin-right: 10px;">{self.formatDate()}</span>;
+ entry = xml`${entry}<span class="liberator-sbmcommentsviewer-timestamp" style="margin-right: 10px;">${self.formatDate()}</span>`;
break;
case 'tags':
- xml.* += <span class="liberator-sbmcommentsviewer-tags" highlight="Tag" style="margin-right: 10px;">{self.tags.join(',')}</span>; break;
+ entry = xml`${entry}<span class="liberator-sbmcommentsviewer-tags" highlight="Tag" style="margin-right: 10px;">${self.tags.join(',')}</span>`; break;
case 'comment':
- xml.* += <span class="liberator-sbmcommentsviewer-comment" style="margin-right: 10px; white-space: normal;">{makeLink(self.comment)}</span>; break;
+ entry = xml`${entry}<span class="liberator-sbmcommentsviewer-comment" style="margin-right: 10px; white-space: normal;">${makeLink(self.comment)}</span>`; break;
default:
- xml.* += <span>-</span>;
+ entry = xml`${entry}<span>-</span>`;
}
});
- return xml;
+ entry = xml`<div highlight="Completions" class="liberator-sbmcommentsviewer-content" style="margin: 0; padding: 3px 5px; border-bottom: 1px dotted;">${entry}</div>`;
+ return entry;
},
formatDate: function(){
if (!this.timeStamp) return '';