aboutsummaryrefslogtreecommitdiff
path: root/node_modules/highlight.js/lib/languages/stan.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/highlight.js/lib/languages/stan.js')
-rw-r--r--node_modules/highlight.js/lib/languages/stan.js82
1 files changed, 82 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/stan.js b/node_modules/highlight.js/lib/languages/stan.js
new file mode 100644
index 000000000..ea82f3ddb
--- /dev/null
+++ b/node_modules/highlight.js/lib/languages/stan.js
@@ -0,0 +1,82 @@
+module.exports = function(hljs) {
+ return {
+ contains: [
+ hljs.HASH_COMMENT_MODE,
+ hljs.C_LINE_COMMENT_MODE,
+ hljs.C_BLOCK_COMMENT_MODE,
+ {
+ begin: hljs.UNDERSCORE_IDENT_RE,
+ lexemes: hljs.UNDERSCORE_IDENT_RE,
+ keywords: {
+ // Stan's keywords
+ name:
+ 'for in while repeat until if then else',
+ // Stan's probablity distributions (less beta and gamma, as commonly
+ // used for parameter names). So far, _log and _rng variants are not
+ // included
+ symbol:
+ 'bernoulli bernoulli_logit binomial binomial_logit ' +
+ 'beta_binomial hypergeometric categorical categorical_logit ' +
+ 'ordered_logistic neg_binomial neg_binomial_2 ' +
+ 'neg_binomial_2_log poisson poisson_log multinomial normal ' +
+ 'exp_mod_normal skew_normal student_t cauchy double_exponential ' +
+ 'logistic gumbel lognormal chi_square inv_chi_square ' +
+ 'scaled_inv_chi_square exponential inv_gamma weibull frechet ' +
+ 'rayleigh wiener pareto pareto_type_2 von_mises uniform ' +
+ 'multi_normal multi_normal_prec multi_normal_cholesky multi_gp ' +
+ 'multi_gp_cholesky multi_student_t gaussian_dlm_obs dirichlet ' +
+ 'lkj_corr lkj_corr_cholesky wishart inv_wishart',
+ // Stan's data types
+ 'selector-tag':
+ 'int real vector simplex unit_vector ordered positive_ordered ' +
+ 'row_vector matrix cholesky_factor_corr cholesky_factor_cov ' +
+ 'corr_matrix cov_matrix',
+ // Stan's model blocks
+ title:
+ 'functions model data parameters quantities transformed ' +
+ 'generated',
+ literal:
+ 'true false'
+ },
+ relevance: 0
+ },
+ // The below is all taken from the R language definition
+ {
+ // hex value
+ className: 'number',
+ begin: "0[xX][0-9a-fA-F]+[Li]?\\b",
+ relevance: 0
+ },
+ {
+ // hex value
+ className: 'number',
+ begin: "0[xX][0-9a-fA-F]+[Li]?\\b",
+ relevance: 0
+ },
+ {
+ // explicit integer
+ className: 'number',
+ begin: "\\d+(?:[eE][+\\-]?\\d*)?L\\b",
+ relevance: 0
+ },
+ {
+ // number with trailing decimal
+ className: 'number',
+ begin: "\\d+\\.(?!\\d)(?:i\\b)?",
+ relevance: 0
+ },
+ {
+ // number
+ className: 'number',
+ begin: "\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",
+ relevance: 0
+ },
+ {
+ // number with leading decimal
+ className: 'number',
+ begin: "\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",
+ relevance: 0
+ }
+ ]
+ };
+}; \ No newline at end of file