Skip to content

Commit 10b80f3

Browse files
authored
feat: update syntax to Stan v2.33 (#12)
* feat: Stan 2.27 keywords * feat: Stan 2.28 keywords * feat: Stan 2.29 keywords/deprecations * feat: Stan 2.30 keywords/deprecations * feat: Stan 2.31 keywords/deprecations * feat: Stan 2.33 keywords/deprecations
1 parent 8c4367a commit 10b80f3

File tree

1 file changed

+44
-31
lines changed

1 file changed

+44
-31
lines changed

syntax/stan.vim

Lines changed: 44 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ syntax match stanBlock "\vtransformed data"
2222
syntax keyword stanType int real vector simplex unit_vector ordered positive_ordered
2323
syntax keyword stanType row_vector matrix cholesky_factor_corr cholesky_factor_cov
2424
syntax keyword stanType corr_matrix cov_matrix
25+
syntax keyword stanType complex complex_matrix complex_vector complex_row_vector
2526

2627
" Distributions
2728
syntax keyword stanFunction bernoulli
@@ -31,7 +32,7 @@ syntax keyword stanFunction bernoulli_logit
3132
syntax keyword stanFunction bernoulli_logit_lpmf bernoulli_logit_lupmf bernoulli_logit_rng
3233

3334
syntax keyword stanFunction bernoulli_logit_glm
34-
syntax keyword stanFunction bernoulli_logit_glm_lpmf bernoulli_logit_glm_lupmf
35+
syntax keyword stanFunction bernoulli_logit_glm_lpmf bernoulli_logit_glm_lupmf bernoulli_logit_glm_rand
3536

3637
syntax keyword stanFunction binomial
3738
syntax keyword stanFunction binomial_lpmf binomial_lupmf binomial_cdf binomial_lcdf binomial_lccdf binomial_rng
@@ -115,6 +116,9 @@ syntax keyword stanFunction logistic_lpdf logistic_lupdf logistic_cdf logistic_l
115116
syntax keyword stanFunction gumbel
116117
syntax keyword stanFunction gumbel_lpdf gumbel_lupdf gumbel_cdf gumbel_lcdf gumbel_lccdf gumbel_rng
117118

119+
syntax keyword stanFunction skew_double_exponential
120+
syntax keyword stanFunction skew_double_exponential_lpdf skew_double_exponential_lupdf skew_double_exponential_cdf skew_double_exponential_lcdf skew_double_exponential_lccdf skew_double_exponential_rng
121+
118122
syntax keyword stanFunction lognormal
119123
syntax keyword stanFunction lognormal_lpdf lognormal_lupdf lognormal_cdf lognormal_lcdf lognormal_lccdf lognormal_rng
120124

@@ -145,6 +149,9 @@ syntax keyword stanFunction frechet_lpdf frechet_lupdf frechet_cdf frechet_lcdf
145149
syntax keyword stanFunction rayleigh
146150
syntax keyword stanFunction rayleigh_lpdf rayleigh_lupdf rayleigh_cdf rayleigh_lcdf rayleigh_lccdf rayleigh_rng
147151

152+
syntax keyword stanFunction loglogistic
153+
syntax keyword stanFunction loglogistic_lpdf loglogistic_cdf loglogistic_rng loglogistic_log
154+
148155
syntax keyword stanFunction wiener
149156
syntax keyword stanFunction wiener_lpdf wiener_lupdf
150157

@@ -161,7 +168,7 @@ syntax keyword stanFunction beta_proportion
161168
syntax keyword stanFunction beta_proportion_lpdf beta_proportion_lupdf beta_proportion_lcdf beta_proportion_lccdf beta_proportion_rng
162169

163170
syntax keyword stanFunction von_mises
164-
syntax keyword stanFunction von_mises_lpdf von_mises_lupdf von_mises_rng
171+
syntax keyword stanFunction von_mises_lpdf von_mises_lupdf von_mises_lcdf von_mises_lccdf von_mises_rng
165172

166173
syntax keyword stanFunction uniform
167174
syntax keyword stanFunction uniform_lpdf uniform_lupdf uniform_cdf uniform_lcdf uniform_lccdf uniform_rng
@@ -184,6 +191,9 @@ syntax keyword stanFunction multi_gp_cholesky_lpdf multi_gp_cholesky_lupdf
184191
syntax keyword stanFunction multi_student_t
185192
syntax keyword stanFunction multi_student_t_lpdf multi_student_t_lupdf multi_student_t_rng
186193

194+
syntax keyword stanFunction multi_student_t_cholesky
195+
syntax keyword stanFunction multi_student_t_cholesky_lpdf multi_student_t_cholesky_lupdf multi_student_t_cholesky_rng
196+
187197
syntax keyword stanFunction gaussian_dlm_obs
188198
syntax keyword stanFunction gaussian_dlm_obs_lpdf gaussian_dlm_obs_lupdf
189199

@@ -199,26 +209,34 @@ syntax keyword stanFunction lkj_corr_cholesky_lpdf lkj_corr_cholesky_lupdf lkj_c
199209
syntax keyword stanFunction wishart
200210
syntax keyword stanFunction wishart_lpdf wishart_lupdf wishart_rng
201211

212+
syntax keyword stanFunction wishart_cholesky
213+
syntax keyword stanFunction wishart_cholesky_lpdf wishart_cholesky_lupdf wishart_cholesky_rng
214+
202215
syntax keyword stanFunction inv_wishart
203216
syntax keyword stanFunction inv_wishart_lpdf inv_wishart_lupdf inv_wishart_rng
204217

218+
syntax keyword stanFunction inv_wishart_cholesky
219+
syntax keyword stanFunction inv_wishart_cholesky_lpdf inv_wishart_cholesky_lupdf inv_wishart_cholesky_rng
220+
205221
" Constants
206222
syntax keyword stanConstant pi e sqrt2 log2 log10
207223
syntax keyword stanConstant not_a_number positive_infinity negative_infinity machine_precision
208224

209225
" Built in functions
210226
syntax keyword stanFunction print
211227
syntax keyword stanFunction abs int_step min max
212-
syntax keyword stanFunction step is_inf is_nan fabs fdim fmin fmax fmod floor ceil round trunc
228+
syntax keyword stanFunction get_real get_imag
229+
syntax keyword stanFunction step is_inf is_nan fdim fmin fmax fmod floor ceil round trunc
213230
syntax keyword stanFunction sqrt cbrt square exp exp2 log log2 log10 pow inv inv_sqrt inv_square
214231
syntax keyword stanFunction hypot cos sin tan acos asin atan atan2
215232
syntax keyword stanFunction cosh sinh tanh acosh asinh atanh
216233
syntax keyword stanFunction logit inv_logit inv_cloglog
217-
syntax keyword stanFunction erf erfc Phi inv_Phi Phi_approx binary_log_loss owens_t
218-
syntax keyword stanFunction inc_beta lbeta tgamma lgamma digamma trigamma lmgamma gamma_p gamma_q binomial_coefficient_log choose
234+
syntax keyword stanFunction erf erfc inv_erfc Phi inv_Phi Phi_approx binary_log_loss owens_t
235+
syntax keyword stanFunction std_normal_qf std_normal_log_qf
236+
syntax keyword stanFunction inc_beta inv_inc_beta lbeta tgamma lgamma digamma trigamma lmgamma gamma_p gamma_q choose
219237
syntax keyword stanFunction bessel_first_kind bessel_second_kind modified_bessel_first_kind log_modified_bessel_first_kind modified_bessel_second_kind
220238
syntax keyword stanFunction falling_factorial lchoose log_falling_factorial rising_factorial log_rising_factorial
221-
syntax keyword stanFunction expm1 fma multiply_log ldexp lmultiply log1p log1m log1p_exp log1m_exp log_diff_exp log_mix log_sum_exp log_inv_logit log1m_inv_logit
239+
syntax keyword stanFunction expm1 fma ldexp lmultiply log1p log1m log1p_exp log1m_exp log_diff_exp log_mix log_sum_exp log_inv_logit log1m_inv_logit
222240
syntax keyword stanFunction lambert_w0 lambert_wm1
223241
syntax keyword stanFunction min max sum prod log_sum_exp mean variance sd distance squared_distance
224242
syntax keyword stanFunction dims num_elements size
@@ -236,20 +254,29 @@ syntax keyword stanFunction linspaced_array linspaced_int_array linspaced_vector
236254
syntax keyword stanFunction col row block sub_col sub_row head tail segment
237255
syntax keyword stanFunction append_col append_row
238256
syntax keyword stanFunction softmax log_softmax cumulative_sum
239-
syntax keyword stanFunction cov_exp_quad
257+
syntax keyword stanFunction gp_exp_quad_cov gp_dot_prod_cov gp_matern32_cov gp_matern52_cov gp_periodic_cov
240258
syntax keyword stanFunction mdivide_left_tri_low mdivide_right_tri_low mdivide_left_spd mdivide_right_spd
241-
syntax keyword stanFunction matrix_exp matrix_exp_multiply scale_matrix_exp_multiply matrix_power trace determinant log_determinant
259+
syntax keyword stanFunction matrix_exp matrix_exp_multiply scale_matrix_exp_multiply matrix_power trace determinant log_determinant log_determinant_spd
242260
syntax keyword stanFunction inverse inverse_spd chol2inv generalized_inverse eigenvalues_sym eigenvectors_sym qr_thin_Q qr_thin_R qr_Q qr_R cholesky_decompose singular_values svd_U svd_V
261+
syntax keyword stanFunction qr qr_thin eigendecompose_sym eigendecompose complex_schur_decompose svd csr_extract
262+
syntax keyword stanFunction eigenvectors eigenvalues
243263
syntax keyword stanFunction sort_asc sort_desc sort_indices_asc sort_indices_desc rank
244264
syntax keyword stanFunction csr_extract_w csr_extract_v csr_extract_u csr_to_dense_matrix csr_matrix_times_vector
245-
syntax keyword stanFunction to_matrix to_vector to_row_vector to_array_2d to_array_1d
246-
syntax keyword stanFunction algebra_solver algebra_solver_newton
247-
syntax keyword stanFunction ode_rk45 ode_rk45_tol ode_adams ode_adams_tol ode_bdf ode_bdf_tol
248-
" The following integrade_ode functions are deprecated, but have not been removed.
249-
syntax keyword stanFunction integrate_ode_rk45 integrate_ode integrate_ode_bdf integrate_ode_adams
250-
syntax keyword stanFunction integrate_1d
265+
syntax keyword stanFunction to_matrix to_vector to_row_vector to_array_2d to_array_1d to_complex
266+
syntax keyword stanFunction algebra_solver algebra_solver_newton solve_newton solve_newton_tol solve_powell solve_powell_tol
267+
syntax keyword stanFunction ode_rk45 ode_rk45_tol ode_adams ode_adams_tol ode_bdf ode_bdf_tol ode_adjoint_tol_ctl ode_ckrk ode_ckrk_tol
268+
syntax keyword stanFunction dae dae_tol
251269
syntax keyword stanFunction reduce_sum reduce_sum_static
252270
syntax keyword stanFunction map_rect
271+
syntax keyword stanFunction fft inv_fft fft2 inv_fft2
272+
syntax keyword stanFunction L1 L2
273+
syntax keyword stanFunction complex_schur_decompose_t complex_schur_decompose_u
274+
syntax keyword stanFunction conj
275+
276+
" Deprecations
277+
syntax keyword stanFunction integrate_ode_rk45 integrate_ode integrate_ode_bdf integrate_ode_adams
278+
syntax keyword stanFunction integrate_1d
279+
syntax keyword stanFunction fabs
253280

254281
" Control flow
255282
syntax keyword stanConditional if then else
@@ -267,26 +294,13 @@ syntax match stanOperator "\v\:"
267294
syntax match stanOperator "\v\'"
268295
syntax match stanOperator "\v\/"
269296
syntax match stanOperator "\v\.[*/]"
270-
syntax match stanOperator "\v\<\-"
271297
syntax match stanOperator "\v\\"
272298

273299
" Removed some, since they're highlighted in other places
274-
syntax keyword stanCppConflict var fvar STAN_MAJOR STAN_MINOR STAN_PATCH STAN_MATH_MAJOR STAN_MATH_MINOR STAN_MATH_PATCH
275-
syntax keyword stanCppConflict alignas alignof and_eq asm auto bitand bitor bool
276-
syntax keyword stanCppConflict break case catch char char16_t char32_t class compl
277-
syntax keyword stanCppConflict const constexpr const_cast continue decltype default
278-
syntax keyword stanCppConflict delete do double dynamic_cast enum explicit
279-
syntax keyword stanCppConflict export extern float friend goto
280-
syntax keyword stanCppConflict inline long mutable namespace new noexcept
281-
syntax keyword stanCppConflict not not_eq nullptr operator or or_eq private
282-
syntax keyword stanCppConflict protected public register reinterpret_cast
283-
syntax keyword stanCppConflict short signed sizeof static static_assert static_cast
284-
syntax keyword stanCppConflict struct switch template this thread_local throw true
285-
syntax keyword stanCppConflict try typedef typeid typename union unsigned using
286-
syntax keyword stanCppConflict virtual void volatile wchar_t xor xor_eq
300+
syntax keyword stanCppConflict var auto break continue export extern static struct true typedef void
287301
syntax keyword stanOperator return
288-
syntax keyword stanSpecial lower upper offset multiplier
289-
syntax keyword stanKeyword target get_lp
302+
syntax keyword stanSpecial array lower upper offset multiplier log_prob_impl
303+
syntax keyword stanKeyword target
290304

291305
" To do
292306
syntax keyword stanTodo TODO FIXME
@@ -296,7 +310,6 @@ syntax cluster stanCommentGroup contains=stanTodo,stanFuncDoc
296310

297311
" Comments
298312
syntax match stanComment contains=@stanCommentGroup,@Spell "//.*"
299-
syntax match stanComment contains=@stanCommentGroup,@Spell "\#.*"
300313
syntax region stanComment start="/\*" end="\*/" contains=@stanCommentGroup,@Spell
301314

302315
syntax match stanInclude "\v^\s*\#include"

0 commit comments

Comments
 (0)