![JAR search and dependency download from the Maven repository](/logo.png)
package.es.languages.thrift.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of highlight.js Show documentation
Show all versions of highlight.js Show documentation
Syntax highlighting with language autodetection.
/*
Language: Thrift
Author: Oleg Efimov
Description: Thrift message definition format
Website: https://thrift.apache.org
Category: protocols
*/
function thrift(hljs) {
const TYPES = [
"bool",
"byte",
"i16",
"i32",
"i64",
"double",
"string",
"binary"
];
const KEYWORDS = [
"namespace",
"const",
"typedef",
"struct",
"enum",
"service",
"exception",
"void",
"oneway",
"set",
"list",
"map",
"required",
"optional"
];
return {
name: 'Thrift',
keywords: {
keyword: KEYWORDS,
type: TYPES,
literal: 'true false'
},
contains: [
hljs.QUOTE_STRING_MODE,
hljs.NUMBER_MODE,
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
{
className: 'class',
beginKeywords: 'struct enum service exception',
end: /\{/,
illegal: /\n/,
contains: [
hljs.inherit(hljs.TITLE_MODE, {
// hack: eating everything after the first title
starts: {
endsWithParent: true,
excludeEnd: true
} })
]
},
{
begin: '\\b(set|list|map)\\s*<',
keywords: { type: [
...TYPES,
"set",
"list",
"map"
] },
end: '>',
contains: [ 'self' ]
}
]
};
}
export { thrift as default };
© 2015 - 2025 Weber Informatics LLC | Privacy Policy