grammars/source.stan.json in github-linguist-5.3.3 vs grammars/source.stan.json in github-linguist-6.0.0

- old
+ new

@@ -1,11 +1,8 @@ { "name": "Stan", "scopeName": "source.stan", - "fileTypes": [ - "stan" - ], "patterns": [ { "include": "#comments" }, { @@ -13,22 +10,20 @@ }, { "include": "#numbers" }, { - "comment": "block declarations", - "match": "\\b(functions|data|transformed\\s+data|parameters|transformed\\s+parameters|model|generated\\s+quantities)\\b", - "name": "entity.name.type.stan" + "name": "entity.name.type.stan", + "match": "\\b(functions|data|transformed\\s+data|parameters|transformed\\s+parameters|model|generated\\s+quantities)\\b" }, { - "comment": "variable types", - "match": "\\b(int|real|vector|simplex|ordered|positive_ordered|row_vector|matrix|corr_matrix|cov_matrix|cholesky_factor_cov|cholesky_factor_corr|void)\\b", - "name": "storage.type.stan" + "name": "storage.type.stan", + "match": "\\b(int|real|vector|simplex|ordered|positive_ordered|row_vector|matrix|corr_matrix|cov_matrix|cholesky_factor_cov|cholesky_factor_corr|void)\\b" }, { - "match": "\\b(for|in|while|if|else)\\b", - "name": "keyword.control.stan" + "name": "keyword.control.stan", + "match": "\\b(for|in|while|if|else)\\b" }, { "match": "\\b(lower|upper)\\s*(=)", "captures": { "1": { @@ -38,12 +33,12 @@ "name": "punctuation.operator.equal.stan" } } }, { - "match": "\\breturn\\b", - "name": "keyword.other.return.stan" + "name": "keyword.other.return.stan", + "match": "\\breturn\\b" }, { "match": "\\b(target)\\s*([+][=])", "captures": { "1": { @@ -53,295 +48,341 @@ "name": "keyword.operator.accumulator.stan" } } }, { - "comment": "truncation operator T[]", - "match": "\\bT(?=\\s*\\[)", - "name": "keyword.other.truncation.stan" + "name": "keyword.other.truncation.stan", + "match": "\\bT(?=\\s*\\[)" }, { "include": "#distributions" }, { - "match": "\\b(print|reject)\\b", - "name": "keyword.other.special-functions.stan" + "name": "keyword.other.special-functions.stan", + "match": "\\b(print|reject)\\b" }, { + "name": "support.function.integrate_ode.stan", + "match": "\\b(integrate_ode_(?:bdf|rk45))\\b" + }, + { + "name": "support.function.algebra_solver.stan", + "match": "\\balgebra_solver\\b" + }, + { "include": "#functions" }, { "include": "#reserved" }, { - "match": "\\b([a-zA-Z0-9_]*__|[0-9_][A-Za-z0-9_]+|_)\\b", - "name": "invalid.illegal.variable" + "name": "invalid.illegal.variable", + "match": "\\b([a-zA-Z0-9_]*__|[0-9_][A-Za-z0-9_]+|_)\\b" }, { - "match": "\\b[A-Za-z][0-9A-Za-z_]*\\b", - "comment": "generic variable names" + "name": "variable.other.identifier.stan", + "match": "\\b[A-Za-z][0-9A-Za-z_]*\\b" }, { "include": "#operators" }, { - "match": ",", - "name": "meta.delimiter.comma.stan" + "name": "meta.delimiter.comma.stan", + "match": "," }, { "begin": "{", + "end": "}", + "patterns": [ + { + "include": "$base" + } + ], "beginCaptures": { "0": { "name": "punctuation.section.block.begin.stan" } }, - "end": "}", "endCaptures": { "0": { "name": "punctuation.section.block.end.stan" } - }, - "patterns": [ - { - "include": "$base" - } - ] + } }, { - "match": "[{}]", - "name": "meta.brace.curly.stan" + "name": "meta.brace.curly.stan", + "match": "[{}]" }, { - "match": "\\[|\\]", - "name": "meta.brace.square.stan" + "name": "meta.brace.square.stan", + "match": "\\[|\\]" }, { - "match": "\\(|\\)", - "name": "meta.brace.round.stan" + "name": "meta.brace.round.stan", + "match": "\\(|\\)" }, { - "match": "\\;", - "name": "punctuation.terminator.statement.stan" + "name": "punctuation.terminator.statement.stan", + "match": "\\;" }, { - "match": "[|]", - "name": "punctuation.sampling.bar.stan" + "name": "punctuation.sampling.bar.stan", + "match": "[|]" } ], "repository": { - "docblock": { - "patterns": [ - { - "match": "(?<!\\w)@(param|return)\\b", - "name": "storage.type.class.standoc" - } - ] - }, "comments": { "patterns": [ { - "begin": "^\\s*(#)(include)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.comment.stan" - }, - "2": { - "name": "keyword.control.directive.include.stan" - } - }, - "end": "\\n", - "name": "comment.line.preprocessor.stan", + "name": "meta.preprocessor.include.stan", + "begin": "^\\s*((#)\\s*(include))\\b\\s*", + "end": "\\s*(?=(?://|/\\*|#)|\\n|$)", "patterns": [ { - "begin": "[\"']", + "name": "string.quoted.double.include.stan", + "begin": "\"", + "end": "\"", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.stan" } }, - "end": "[\"']", "endCaptures": { "0": { "name": "punctuation.definition.string.end.stan" } + } + }, + { + "name": "string.quoted.other.lt-gt.include.stan", + "begin": "\u003c", + "end": "\u003e", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.stan" + } }, - "name": "string.quoted.include.stan" + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.stan" + } + } + }, + { + "name": "string.quoted.single.include.stan", + "begin": "'", + "end": "'", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.stan" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.stan" + } + } + }, + { + "name": "string.quoted.other.noquote.include.stan", + "match": ".+" } - ] + ], + "beginCaptures": { + "1": { + "name": "keyword.control.directive.include.stan" + }, + "2": { + "name": "punctuation.definition.directive.stan" + }, + "4": { + "name": "string.quoted.other.include.stan" + } + } }, { + "name": "comment.block.documentation.stan", "begin": "/\\*\\*(?!/)", - "captures": { - "0": { - "name": "punctuation.definition.comment.stan" - } - }, + "end": "\\*/", "patterns": [ { "include": "#docblock" } ], - "end": "\\*/", - "name": "comment.block.documentation.stan" + "captures": { + "0": { + "name": "punctuation.definition.comment.stan" + } + } }, { - "comment": "/* comment block */", + "name": "comment.block.stan", "begin": "/\\*", + "end": "\\*/", "beginCaptures": { "0": { "name": "punctuation.definition.comment.stan" } }, - "end": "\\*/", "endCaptures": { "0": { "name": "punctuation.definition.comment.stan" } - }, - "name": "comment.block.stan" + } }, { - "comment": "// comment", + "name": "comment.line.double-slash.stan", "begin": "//", + "end": "\\n", "beginCaptures": { "0": { "name": "punctuation.definition.comment.stan" } - }, - "end": "\\n", - "name": "comment.line.double-slash.stan" + } }, { - "comment": "# comment", + "name": "comment.line.number-sign.stan", "begin": "#", + "end": "\\n", "beginCaptures": { "0": { "name": "punctuation.definition.comment.stan" } - }, - "end": "\\n", - "name": "comment.line.number-sign.stan" + } } ] }, - "strings": { + "distributions": { "patterns": [ { - "comment": "string literal", - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.stan" + "name": "meta.sampling.stan", + "match": "(~)(\\s*)(bernoulli|bernoulli_logit|beta|beta_binomial|binomial|binomial_logit|categorical|categorical_logit|cauchy|chi_square|dirichlet|double_exponential|exp_mod_normal|exponential|frechet|gamma|gaussian_dlm_obs|gumbel|hypergeometric|inv_chi_square|inv_gamma|inv_wishart|lkj_corr|lkj_corr_cholesky|logistic|lognormal|multi_gp|multi_gp_cholesky|multi_normal|multi_normal_cholesky|multi_normal_prec|multi_student_t|multinomial|neg_binomial|neg_binomial_2|neg_binomial_2_log|normal|ordered_logistic|pareto|pareto_type_2|poisson|poisson_log|rayleigh|scaled_inv_chi_square|skew_normal|student_t|uniform|von_mises|weibull|wiener|wishart)\\b", + "captures": { + "1": { + "name": "keyword.operator.sampling.stan" + }, + "3": { + "name": "support.function.distribution.stan" } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.stan" + } + }, + { + "name": "meta.sampling.stan", + "match": "(~)(\\s*)([A-Za-z][A-Za-z0-9_]*)\\b", + "captures": { + "1": { + "name": "keyword.operator.sampling.stan" + }, + "3": { + "name": "variable.other.distribution.stan" } - }, - "name": "string.quoted.double.stan", - "patterns": [ - { - "comment": "Stan strings can only contain ASCII printable characters", - "match": "[^ a-zA-Z0-9~@#$%^&*_'`\\-+={}\\[\\]()<>|/!?.,;:\"]+", - "name": "invalid.illegal.string.stan" - } - ] + } } ] }, - "operators": { + "docblock": { "patterns": [ { - "match": "<-", - "name": "invalid.deprecated.assignment.stan" + "name": "storage.type.class.standoc", + "match": "(?\u003c!\\w)@(param|return)\\b" + } + ] + }, + "functions": { + "patterns": [ + { + "name": "invalid.deprecated.function.stan", + "match": "\\b([A-Za-z0-9][A-Za-z0-9_]*_log|get_lp|if_else|increment_log_prob|integrate_ode|lkj_cov)\\b" }, { - "match": ":", - "name": "keyword.operator.colon.stan" + "name": "support.function.function.stan", + "match": "\\b(Phi|Phi_approx|abs|acos|acosh|algebra_solver|append_array|append_col|append_row|asin|asinh|atan|atan2|atanh|bernoulli_cdf|bernoulli_lccdf|bernoulli_lcdf|bernoulli_logit_lpmf|bernoulli_logit_rng|bernoulli_lpmf|bernoulli_rng|bessel_first_kind|bessel_second_kind|beta_binomial_cdf|beta_binomial_lccdf|beta_binomial_lcdf|beta_binomial_lpmf|beta_binomial_rng|beta_cdf|beta_lccdf|beta_lcdf|beta_lpdf|beta_rng|binary_log_loss|binomial_cdf|binomial_coefficient_log|binomial_lccdf|binomial_lcdf|binomial_logit_lpmf|binomial_lpmf|binomial_rng|block|categorical_logit_lpmf|categorical_logit_rng|categorical_lpmf|categorical_rng|cauchy_cdf|cauchy_lccdf|cauchy_lcdf|cauchy_lpdf|cauchy_rng|cbrt|ceil|chi_square_cdf|chi_square_lccdf|chi_square_lcdf|chi_square_lpdf|chi_square_rng|cholesky_decompose|choose|col|cols|columns_dot_product|columns_dot_self|cos|cosh|cov_exp_quad|crossprod|csr_extract_u|csr_extract_v|csr_extract_w|csr_matrix_times_vector|csr_to_dense_matrix|cumulative_sum|determinant|diag_matrix|diag_post_multiply|diag_pre_multiply|diagonal|digamma|dims|dirichlet_lpdf|dirichlet_rng|distance|dot_product|dot_self|double_exponential_cdf|double_exponential_lccdf|double_exponential_lcdf|double_exponential_lpdf|double_exponential_rng|e|eigenvalues_sym|eigenvectors_sym|erf|erfc|exp|exp2|exp_mod_normal_cdf|exp_mod_normal_lccdf|exp_mod_normal_lcdf|exp_mod_normal_lpdf|exp_mod_normal_rng|expm1|exponential_cdf|exponential_lccdf|exponential_lcdf|exponential_lpdf|exponential_rng|fabs|falling_factorial|fdim|floor|fma|fmax|fmin|fmod|frechet_cdf|frechet_lccdf|frechet_lcdf|frechet_lpdf|frechet_rng|gamma_cdf|gamma_lccdf|gamma_lcdf|gamma_lpdf|gamma_p|gamma_q|gamma_rng|gaussian_dlm_obs_lpdf|get_lp|gumbel_cdf|gumbel_lccdf|gumbel_lcdf|gumbel_lpdf|gumbel_rng|head|hypergeometric_lpmf|hypergeometric_rng|hypot|inc_beta|int_step|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|inv|inv_Phi|inv_chi_square_cdf|inv_chi_square_lccdf|inv_chi_square_lcdf|inv_chi_square_lpdf|inv_chi_square_rng|inv_cloglog|inv_gamma_cdf|inv_gamma_lccdf|inv_gamma_lcdf|inv_gamma_lpdf|inv_gamma_rng|inv_logit|inv_sqrt|inv_square|inv_wishart_lpdf|inv_wishart_rng|inverse|inverse_spd|is_inf|is_nan|lbeta|lchoose|lgamma|lkj_corr_cholesky_lpdf|lkj_corr_cholesky_rng|lkj_corr_lpdf|lkj_corr_rng|lmgamma|lmultiply|log|log10|log1m|log1m_exp|log1m_inv_logit|log1p|log1p_exp|log2|log_determinant|log_diff_exp|log_falling_factorial|log_inv_logit|log_mix|log_rising_factorial|log_softmax|log_sum_exp|logistic_cdf|logistic_lccdf|logistic_lcdf|logistic_lpdf|logistic_rng|logit|lognormal_cdf|lognormal_lccdf|lognormal_lcdf|lognormal_lpdf|lognormal_rng|machine_precision|matrix_exp|max|mdivide_left_spd|mdivide_left_tri_low|mdivide_right_spd|mdivide_right_tri_low|mean|min|modified_bessel_first_kind|modified_bessel_second_kind|multi_gp_cholesky_lpdf|multi_gp_lpdf|multi_normal_cholesky_lpdf|multi_normal_cholesky_rng|multi_normal_lpdf|multi_normal_prec_lpdf|multi_normal_rng|multi_student_t_lpdf|multi_student_t_rng|multinomial_lpmf|multinomial_rng|multiply_log|multiply_lower_tri_self_transpose|neg_binomial_2_cdf|neg_binomial_2_lccdf|neg_binomial_2_lcdf|neg_binomial_2_log_lpmf|neg_binomial_2_log_rng|neg_binomial_2_lpmf|neg_binomial_2_rng|neg_binomial_cdf|neg_binomial_lccdf|neg_binomial_lcdf|neg_binomial_lpmf|neg_binomial_rng|negative_infinity|normal_cdf|normal_lccdf|normal_lcdf|normal_lpdf|normal_rng|not_a_number|num_elements|ordered_logistic_lpmf|ordered_logistic_rng|owens_t|pareto_cdf|pareto_lccdf|pareto_lcdf|pareto_lpdf|pareto_rng|pareto_type_2_cdf|pareto_type_2_lccdf|pareto_type_2_lcdf|pareto_type_2_lpdf|pareto_type_2_rng|pi|poisson_cdf|poisson_lccdf|poisson_lcdf|poisson_log_lpmf|poisson_log_rng|poisson_lpmf|poisson_rng|positive_infinity|pow|prod|qr_Q|qr_R|quad_form|quad_form_diag|quad_form_sym|rank|rayleigh_cdf|rayleigh_lccdf|rayleigh_lcdf|rayleigh_lpdf|rayleigh_rng|rep_array|rep_matrix|rep_row_vector|rep_vector|rising_factorial|round|row|rows|rows_dot_product|rows_dot_self|scaled_inv_chi_square_cdf|scaled_inv_chi_square_lccdf|scaled_inv_chi_square_lcdf|scaled_inv_chi_square_lpdf|scaled_inv_chi_square_rng|sd|segment|sin|singular_values|sinh|size|skew_normal_cdf|skew_normal_lccdf|skew_normal_lcdf|skew_normal_lpdf|skew_normal_rng|softmax|sort_asc|sort_desc|sort_indices_asc|sort_indices_desc|sqrt|sqrt2|square|squared_distance|step|student_t_cdf|student_t_lccdf|student_t_lcdf|student_t_lpdf|student_t_rng|sub_col|sub_row|sum|tail|tan|tanh|target|tcrossprod|tgamma|to_array_1d|to_array_2d|to_matrix|to_row_vector|to_vector|trace|trace_gen_quad_form|trace_quad_form|trigamma|trunc|uniform_cdf|uniform_lccdf|uniform_lcdf|uniform_lpdf|uniform_rng|variance|von_mises_lpdf|von_mises_rng|weibull_cdf|weibull_lccdf|weibull_lcdf|weibull_lpdf|weibull_rng|wiener_lpdf|wishart_lpdf|wishart_rng)\\b" + } + ] + }, + "numbers": { + "patterns": [ + { + "name": "constant.numeric.real.stan", + "match": "(?x)\n(\n[0-9]+\\.[0-9]*([eE]-?[0-9]+)?\n|\n\\.[0-9]+([eE][-]?[0-9]+)?\n|\n[0-9]+[eE][-]?[0-9]+\n)" }, { - "match": "~", - "name": "keyword.operator.sampling.stan" + "name": "constant.numeric.integer.stan", + "match": "[0-9]+(?=[^A-Za-z_])" + } + ] + }, + "operators": { + "patterns": [ + { + "name": "invalid.deprecated.assignment.stan", + "match": "\u003c-" }, { - "match": "[?]", - "name": "keyword.operator.conditional.stan" + "name": "keyword.operator.colon.stan", + "match": ":" }, { - "match": "[|]{2}|&&", - "name": "keyword.operator.logical.stan" + "name": "keyword.operator.conditional.stan", + "match": "[?]" }, { - "match": "==|!=|<=?|>=?", - "name": "keyword.operator.comparison.stan" + "name": "keyword.operator.logical.stan", + "match": "[|]{2}|\u0026\u0026" }, { - "match": "!", - "name": "keyword.operator.logical.stan" + "name": "keyword.operator.comparison.stan", + "match": "==|!=|\u003c=?|\u003e=?" }, { - "match": "\\+|-|\\.?\\*|\\.?/|%|\\\\|\\^|'", - "name": "keyword.operator.arithmetic.stan" + "name": "keyword.operator.logical.stan", + "match": "!" }, { - "match": "=", - "name": "keyword.operator.assignment.stan" - } - ] - }, - "numbers": { - "patterns": [ - { - "match": "(?x)\n(\n[0-9]+\\.[0-9]*([eE]-?[0-9]+)?\n|\n\\.[0-9]+([eE][-]?[0-9]+)?\n|\n[0-9]+[eE][-]?[0-9]+\n)", - "name": "constant.numeric.real.stan" + "name": "keyword.operator.assignment.stan", + "match": "[+-]=|\\.?[*/]=|=" }, { - "match": "[0-9]+(?=[^A-Za-z_])", - "name": "constant.numeric.integer.stan" + "name": "keyword.operator.arithmetic.stan", + "match": "\\+|-|\\.?\\*|\\.?/|%|\\\\|\\^|'" } ] }, - "functions": { + "reserved": { "patterns": [ { - "match": "\\b(bernoulli_ccdf_log|bernoulli_cdf_log|bernoulli_log|bernoulli_logit_log|beta_binomial_ccdf_log|beta_binomial_cdf_log|beta_binomial_log|beta_ccdf_log|beta_cdf_log|beta_log|binomial_ccdf_log|binomial_cdf_log|binomial_coefficient_log|binomial_log|binomial_logit_log|categorical_log|categorical_logit_log|cauchy_ccdf_log|cauchy_cdf_log|cauchy_log|chi_square_ccdf_log|chi_square_cdf_log|chi_square_log|dirichlet_log|double_exponential_ccdf_log|double_exponential_cdf_log|double_exponential_log|exp_mod_normal_ccdf_log|exp_mod_normal_cdf_log|exp_mod_normal_log|exponential_ccdf_log|exponential_cdf_log|exponential_log|frechet_ccdf_log|frechet_cdf_log|frechet_log|gamma_ccdf_log|gamma_cdf_log|gamma_log|gaussian_dlm_obs_log|get_lp|gumbel_ccdf_log|gumbel_cdf_log|gumbel_log|hypergeometric_log|increment_log_prob|integrate_ode|inv_chi_square_ccdf_log|inv_chi_square_cdf_log|inv_chi_square_log|inv_gamma_ccdf_log|inv_gamma_cdf_log|inv_gamma_log|inv_wishart_log|lkj_corr_cholesky_log|lkj_corr_log|logistic_ccdf_log|logistic_cdf_log|logistic_log|lognormal_ccdf_log|lognormal_cdf_log|lognormal_log|multi_gp_cholesky_log|multi_gp_log|multi_normal_cholesky_log|multi_normal_log|multi_normal_prec_log|multi_student_t_log|multinomial_log|multiply_log|neg_binomial_2_ccdf_log|neg_binomial_2_cdf_log|neg_binomial_2_log|neg_binomial_2_log_log|neg_binomial_ccdf_log|neg_binomial_cdf_log|neg_binomial_log|normal_ccdf_log|normal_cdf_log|normal_log|ordered_logistic_log|pareto_ccdf_log|pareto_cdf_log|pareto_log|pareto_type_2_ccdf_log|pareto_type_2_cdf_log|pareto_type_2_log|poisson_ccdf_log|poisson_cdf_log|poisson_log|poisson_log_log|rayleigh_ccdf_log|rayleigh_cdf_log|rayleigh_log|scaled_inv_chi_square_ccdf_log|scaled_inv_chi_square_cdf_log|scaled_inv_chi_square_log|skew_normal_ccdf_log|skew_normal_cdf_log|skew_normal_log|student_t_ccdf_log|student_t_cdf_log|student_t_log|uniform_ccdf_log|uniform_cdf_log|uniform_log|von_mises_log|weibull_ccdf_log|weibull_cdf_log|weibull_log|wiener_log|wishart_log)\\b", - "name": "invalid.deprecated.function.stan" + "name": "invalid.illegal.reserved.stan", + "match": "\\b(alignas|alignof|and|and_eq|asm|auto|bitand|bitor|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|false|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|not|not_eq|nullptr|operator|or|or_eq|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|true|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while|xor|xor_eq)\\b" }, { - "match": "\\b(Phi|Phi_approx|abs|acos|acosh|append_col|append_row|asin|asinh|atan|atan2|atanh|bernoulli_cdf|bernoulli_lccdf|bernoulli_lcdf|bernoulli_logit_lpmf|bernoulli_lpmf|bernoulli_rng|bessel_first_kind|bessel_second_kind|beta_binomial_cdf|beta_binomial_lccdf|beta_binomial_lcdf|beta_binomial_lpmf|beta_binomial_rng|beta_cdf|beta_lccdf|beta_lcdf|beta_lpdf|beta_rng|binary_log_loss|binomial_cdf|binomial_lccdf|binomial_lcdf|binomial_logit_lpmf|binomial_lpmf|binomial_rng|block|categorical_logit_lpmf|categorical_lpmf|categorical_rng|cauchy_cdf|cauchy_lccdf|cauchy_lcdf|cauchy_lpdf|cauchy_rng|cbrt|ceil|chi_square_cdf|chi_square_lccdf|chi_square_lcdf|chi_square_lpdf|chi_square_rng|cholesky_decompose|col|cols|columns_dot_product|columns_dot_self|cos|cosh|crossprod|csr_extract_u|csr_extract_v|csr_extract_w|csr_matrix_times_vector|csr_to_dense_matrix|cumulative_sum|determinant|diag_matrix|diag_post_multiply|diag_pre_multiply|diagonal|digamma|dims|dirichlet_lpdf|dirichlet_rng|distance|dot_product|dot_self|double_exponential_cdf|double_exponential_lccdf|double_exponential_lcdf|double_exponential_lpdf|double_exponential_rng|e|eigenvalues_sym|eigenvectors_sym|erf|erfc|exp|exp2|exp_mod_normal_cdf|exp_mod_normal_lccdf|exp_mod_normal_lcdf|exp_mod_normal_lpdf|exp_mod_normal_rng|expm1|exponential_cdf|exponential_lccdf|exponential_lcdf|exponential_lpdf|exponential_rng|fabs|falling_factorial|fdim|floor|fma|fmax|fmin|fmod|frechet_cdf|frechet_lccdf|frechet_lcdf|frechet_lpdf|frechet_rng|gamma_cdf|gamma_lccdf|gamma_lcdf|gamma_lpdf|gamma_p|gamma_q|gamma_rng|gaussian_dlm_obs_lpdf|gumbel_cdf|gumbel_lccdf|gumbel_lcdf|gumbel_lpdf|gumbel_rng|head|hypergeometric_lpmf|hypergeometric_rng|hypot|if_else|inc_beta|int_step|integrate_ode_bdf|integrate_ode_rk45|inv|inv_chi_square_cdf|inv_chi_square_lccdf|inv_chi_square_lcdf|inv_chi_square_lpdf|inv_chi_square_rng|inv_cloglog|inv_gamma_cdf|inv_gamma_lccdf|inv_gamma_lcdf|inv_gamma_lpdf|inv_gamma_rng|inv_logit|inv_phi|inv_sqrt|inv_square|inv_wishart_lpdf|inv_wishart_rng|inverse|inverse_spd|is_inf|is_nan|lbeta|lchoose|lgamma|lkj_corr_cholesky_lpdf|lkj_corr_cholesky_rng|lkj_corr_lpdf|lkj_corr_rng|lmgamma|lmultiply|log|log10|log1m|log1m_exp|log1m_inv_logit|log1p|log1p_exp|log2|log_determinant|log_diff_exp|log_falling_factorial|log_inv_logit|log_mix|log_rising_factorial|log_softmax|log_sum_exp|logistic_cdf|logistic_lccdf|logistic_lcdf|logistic_lpdf|logistic_rng|logit|lognormal_cdf|lognormal_lccdf|lognormal_lcdf|lognormal_lpdf|lognormal_rng|machine_precision|max|mdivide_left_tri_low|mdivide_right_tri_low|mean|min|modified_bessel_first_kind|modified_bessel_second_kind|multi_gp_cholesky_lpdf|multi_gp_lpdf|multi_normal_cholesky_lpdf|multi_normal_cholesky_rng|multi_normal_lpdf|multi_normal_prec_lpdf|multi_normal_rng|multi_student_t_lpdf|multi_student_t_rng|multinomial_lpmf|multinomial_rng|multiply_lower_tri_self_transpose|neg_binomial_2_cdf|neg_binomial_2_lccdf|neg_binomial_2_lcdf|neg_binomial_2_log_lpmf|neg_binomial_2_log_rng|neg_binomial_2_lpmf|neg_binomial_2_rng|neg_binomial_cdf|neg_binomial_lccdf|neg_binomial_lcdf|neg_binomial_lpmf|neg_binomial_rng|negative_infinity|normal_cdf|normal_lccdf|normal_lcdf|normal_lpdf|normal_rng|not_a_number|num_elements|ordered_logistic_lpmf|ordered_logistic_rng|owens_t|pareto_cdf|pareto_lccdf|pareto_lcdf|pareto_lpdf|pareto_rng|pareto_type_2_cdf|pareto_type_2_lccdf|pareto_type_2_lcdf|pareto_type_2_lpdf|pareto_type_2_rng|pi|poisson_cdf|poisson_lccdf|poisson_lcdf|poisson_log_lpmf|poisson_log_rng|poisson_lpmf|poisson_rng|positive_infinity|pow|prod|qr_Q|qr_R|quad_form|quad_form_diag|quad_form_sym|rank|rayleigh_cdf|rayleigh_lccdf|rayleigh_lcdf|rayleigh_lpdf|rayleigh_rng|rep_array|rep_matrix|rep_row_vector|rep_vector|rising_factorial|round|row|rows|rows_dot_product|rows_dot_self|scaled_inv_chi_square_cdf|scaled_inv_chi_square_lccdf|scaled_inv_chi_square_lcdf|scaled_inv_chi_square_lpdf|scaled_inv_chi_square_rng|sd|segment|sin|singular_values|sinh|size|skew_normal_cdf|skew_normal_lccdf|skew_normal_lcdf|skew_normal_lpdf|skew_normal_rng|softmax|sort_asc|sort_desc|sort_indices_asc|sort_indices_desc|sqrt|sqrt2|square|squared_distance|step|student_t_cdf|student_t_lccdf|student_t_lcdf|student_t_lpdf|student_t_rng|sub_col|sub_row|sum|tail|tan|tanh|target|tcrossprod|tgamma|to_array_1d|to_array_2d|to_matrix|to_row_vector|to_vector|trace|trace_gen_quad_form|trace_quad_form|trigamma|trunc|uniform_cdf|uniform_lccdf|uniform_lcdf|uniform_lpdf|uniform_rng|variance|von_mises_lpdf|von_mises_rng|weibull_cdf|weibull_lccdf|weibull_lcdf|weibull_lpdf|weibull_rng|wiener_lpdf|wishart_lpdf|wishart_rng)\\b", - "name": "support.function.function.stan" + "name": "invalid.illegal.reserved.stan", + "match": "\\b(for|in|while|repeat|until|if|then|else|true|false|var|fvar|STAN_MAJOR|STAN_MINOR|STAN_PATCH|STAN_MATH_MAJOR|STAN_MATH_MINOR|STAN_MATH_PATCH)\\b" } ] }, - "distributions": { + "strings": { "patterns": [ { - "match": "([~])\\s*(bernoulli|bernoulli_logit|beta|beta_binomial|binomial|binomial_logit|categorical|categorical_logit|cauchy|chi_square|dirichlet|double_exponential|exp_mod_normal|exponential|frechet|gamma|gaussian_dlm_obs|gumbel|hypergeometric|inv_chi_square|inv_gamma|inv_wishart|lkj_corr|lkj_corr_cholesky|logistic|lognormal|multi_gp|multi_gp_cholesky|multi_normal|multi_normal_cholesky|multi_normal_prec|multi_student_t|multinomial|neg_binomial|neg_binomial_2|neg_binomial_2_log|normal|ordered_logistic|pareto|pareto_type_2|poisson|poisson_log|rayleigh|scaled_inv_chi_square|skew_normal|student_t|uniform|von_mises|weibull|wiener|wishart)\\b", - "captures": { - "1": { - "name": "keyword.operator.sampling.stan" - }, - "2": { - "name": "support.function.distribution.stan" + "name": "string.quoted.double.stan", + "begin": "\"", + "end": "\"", + "patterns": [ + { + "name": "invalid.illegal.string.stan", + "match": "[^ a-zA-Z0-9~@#$%^\u0026*_'`\\-+={}\\[\\]()\u003c\u003e|/!?.,;:\"]+" } + ], + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.stan" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.stan" + } } } ] - }, - "reserved": { - "patterns": [ - { - "match": "\\b(alignas|alignof|and|and_eq|asm|auto|bitand|bitor|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|false|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|not|not_eq|nullptr|operator|or|or_eq|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|true|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while|xor|xor_eq)\\b", - "name": "invalid.illegal.reserved.stan", - "comment": "reserved words in C++ that are invalid in Stan" - }, - { - "match": "\\b(for|in|while|repeat|until|if|then|else|true|false|var|fvar|STAN_MAJOR|STAN_MINOR|STAN_PATCH|STAN_MATH_MAJOR|STAN_MATH_MINOR|STAN_MATH_PATCH)\\b", - "name": "invalid.illegal.reserved.stan", - "comment": "Words reserved for internal Stan use" - } - ] } } -} \ No newline at end of file +}