##// END OF EJS Templates
comments: remove helper to render a comment object....
comments: remove helper to render a comment object. - we always use helper renderer, and for consistency we should stick with that. It makes refactoring, and general use much harder. DB objects should have least possible logic inside.

File last commit:

r1:854a839a default
r1673:e3526633 default
Show More
troff.js
82 lines | 2.2 KiB | application/javascript | JavascriptLexer
project: added all source files and assets
r1 // CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object")
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd)
define(["../../lib/codemirror"], mod);
else
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode('troff', function() {
var words = {};
function tokenBase(stream) {
if (stream.eatSpace()) return null;
var sol = stream.sol();
var ch = stream.next();
if (ch === '\\') {
if (stream.match('fB') || stream.match('fR') || stream.match('fI') ||
stream.match('u') || stream.match('d') ||
stream.match('%') || stream.match('&')) {
return 'string';
}
if (stream.match('m[')) {
stream.skipTo(']');
stream.next();
return 'string';
}
if (stream.match('s+') || stream.match('s-')) {
stream.eatWhile(/[\d-]/);
return 'string';
}
if (stream.match('\(') || stream.match('*\(')) {
stream.eatWhile(/[\w-]/);
return 'string';
}
return 'string';
}
if (sol && (ch === '.' || ch === '\'')) {
if (stream.eat('\\') && stream.eat('\"')) {
stream.skipToEnd();
return 'comment';
}
}
if (sol && ch === '.') {
if (stream.match('B ') || stream.match('I ') || stream.match('R ')) {
return 'attribute';
}
if (stream.match('TH ') || stream.match('SH ') || stream.match('SS ') || stream.match('HP ')) {
stream.skipToEnd();
return 'quote';
}
if ((stream.match(/[A-Z]/) && stream.match(/[A-Z]/)) || (stream.match(/[a-z]/) && stream.match(/[a-z]/))) {
return 'attribute';
}
}
stream.eatWhile(/[\w-]/);
var cur = stream.current();
return words.hasOwnProperty(cur) ? words[cur] : null;
}
function tokenize(stream, state) {
return (state.tokens[0] || tokenBase) (stream, state);
};
return {
startState: function() {return {tokens:[]};},
token: function(stream, state) {
return tokenize(stream, state);
}
};
});
CodeMirror.defineMIME('troff', 'troff');
});