From 73c5ebeda49cfe9f0a4d7aaa8fefc8ea2b8a148e Mon Sep 17 00:00:00 2001 From: nikeee13 Date: Tue, 10 Sep 2013 19:15:34 +0200 Subject: [PATCH 1/2] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7e0d99ffbc..44f2459bdb 100755 --- a/README.md +++ b/README.md @@ -82,6 +82,7 @@ List of Definitions * [Hammer.js](http://eightmedia.github.com/hammer.js/) (by [Boris Yankov](https://github.com/borisyankov)) * [Handlebars](http://handlebarsjs.com/) (by [Boris Yankov](https://github.com/borisyankov)) * [Highcharts](http://www.highcharts.com/) (by [damianog](https://github.com/damianog)) +* [highlight.js](https://github.com/isagalaev/highlight.js) (by [Niklas Mollenhauer](https://github.com/nikeee)) * [History.js](https://github.com/browserstate/history.js) (by [Boris Yankov](https://github.com/borisyankov)) * [Humane.js](http://wavded.github.com/humane-js/) (by [John Vrbanac](https://github.com/jmvrbanac)) * [i18next](http://i18next.com/) (by [Maarten Docter](https://github.com/mdocter)) From 94a5f9ad600e6204db7b92dcc3735a7dde550166 Mon Sep 17 00:00:00 2001 From: nikeee13 Date: Tue, 10 Sep 2013 19:18:14 +0200 Subject: [PATCH 2/2] Add highlight.js definitions --- highlightjs/highlightjs-tests.ts | 18 +++++++ highlightjs/highlightjs.d.ts | 84 ++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 highlightjs/highlightjs-tests.ts create mode 100644 highlightjs/highlightjs.d.ts diff --git a/highlightjs/highlightjs-tests.ts b/highlightjs/highlightjs-tests.ts new file mode 100644 index 0000000000..e221ff693b --- /dev/null +++ b/highlightjs/highlightjs-tests.ts @@ -0,0 +1,18 @@ +/* + highlight.js definition by Niklas Mollenhauer + Last Update: 10.09.2013 + Source Code: https://github.com/isagalaev/highlight.js + Project Page: http://softwaremaniacs.org/soft/highlight/en/ +*/ + +/// + +import hljs = require("highlight.js"); + +var code = "using System;\npublic class Test\n{\npublic static void Main()\n{\n// your code goes here\n}\n}"; +var lang = "cs"; + +hljs.tabReplace = " "; // 4 spaces + +var hl = hljs.highlight(lang, code).value; +hl = hljs.highlightAuto(code).value; \ No newline at end of file diff --git a/highlightjs/highlightjs.d.ts b/highlightjs/highlightjs.d.ts new file mode 100644 index 0000000000..04ffde1061 --- /dev/null +++ b/highlightjs/highlightjs.d.ts @@ -0,0 +1,84 @@ +/* + highlight.js definition by Niklas Mollenhauer + Last Update: 10.09.2013 + Source Code: https://github.com/isagalaev/highlight.js + Project Page: http://softwaremaniacs.org/soft/highlight/en/ +*/ + +declare module "highlight.js" +{ + module hljs + { + export var LANGUAGES: { [name: string] : any; }; + + export function blockText(block: Node, ignoreNewLines: boolean) : string; + export function blockLanguage(block: Node) : string; + + export function highlight(language_name: string, value: string) : IHighlightResult + export function highlightAuto(text: string) : IHighlightResult + + export function fixMarkup(value: string, tabReplace: boolean, useBR: boolean) : string; + + export function highlightBlock(block: Node, tabReplace?: boolean, useBR?: boolean) : void; + + export function initHighlighting(): void; + export function initHighlightingOnLoad(): void; + + export var tabReplace : string; + + // Common regexps + export var IDENT_RE: string; + export var UNDERSCORE_IDENT_RE: string; + export var NUMBER_RE: string; + export var C_NUMBER_RE: string; + export var BINARY_NUMBER_RE: string; + export var RE_STARTERS_RE: string; + + // Common modes + export var BACKSLASH_ESCAPE : IMode; + export var APOS_STRING_MODE : IMode; + export var QUOTE_STRING_MODE : IMode; + export var C_LINE_COMMENT_MODE : IMode; + export var C_BLOCK_COMMENT_MODE : IMode; + export var HASH_COMMENT_MODE : IMode; + export var NUMBER_MODE : IMode; + export var C_NUMBER_MODE : IMode; + export var BINARY_NUMBER_MODE : IMode; + + export interface IHighlightResult + { + relevance: number; + keyword_count: number; + value: string; + } + + export interface IAutoHighlightResult extends IHighlightResult + { + language: string; + second_best?: IAutoHighlightResult; + } + + // Reference: + // https://github.com/isagalaev/highlight.js/blob/master/docs/reference.rst + export interface IMode + { + className?: string; + begin: string; + end?: string; + beginWithKeyword?: boolean; + endsWithParent?: boolean; + lexems?: string; + keywords?: Object; + illegal?: string; + excludeBegin?: boolean; + excludeEnd?: boolean; + returnBegin?: boolean; + returnEnd?: boolean; + contains?: IMode[]; + starts?: string; + subLanguage?: string; + relevance?: number; + } + } + export = hljs; +}