https://github.com/stan-dev/stan-mode.git
git clone 'git://github.com/stan-dev/stan-mode.git'
This repository contains several Emacs packages and tools to make editing Stan files easier.
stan-mode
is a major mode for editing Stan files.
Its current features include:
syntax highlighting
indentation
imenu support for blocks, variables, and user-defined functions.
stan-snippets
: Adds Stan support for yasnippet. Yasnippet is a template system for Emacs. Snippets are defined for blocks, control structures, and all the built-in functions and distributions.
indent-stan-files
: A shell script that uses stan-mode
to indent a file. See its README.
stan-lang
: The file stan_lang.json
contains all keywords, functions (with their signatures and documentation) in the Stan modeling language. This is used to generate the keyword lists and snippets used by the modes. It could also be useful for developers designing tools for Stan, e.g. other editor modes.
The recommended way to install these packages is using the built-in package manager: package.el
.
These packages are available from MELPA or MELPA stable.
If you're not already using MELPA, follow its installation instructions.
You can then install the packages using the following commands:
M-x package-install [RET] stan-mode [RET]
M-x package-install [RET] stan-snippets [RET]
If the installation does not work, try refreshing the package list:
M-x package-refresh-contents [RET]
Or add the following to you init.el
:
lisp
(package-refresh-contents)
(mapc
(lambda (p)
(unless (package-installed-p p)
(package-install p)))
'(stan-mode stan-snippets))
Another way to manage dependencies is to to use Cask. See its docs for an argument as to why to use Cask to manage your configuration.
Simply add the following to your Cask file:
lisp
(source melpa)
;; (source melpa-stable)
(depends-on "stan-mode")
(depends-on "stan-snippets")
and from the command line in the same directory as the Cask file use cask
to install the packages,
console
$ cask install
See the Cask documentation for more information.
To use, add the following to your init.el
file:
lisp
(require 'stan-mode)
If you have autocomplete installed and would like to activate stan-mode
's support for it, add the following line
el
(setq stan-use-auto-complete t)
To use, add the following to your init.el
file:
lisp
(require 'stan-snippets)
To use yasnippet
globally:
lisp
(yas-global-mode 1)
Else, to use yasnippet
only for stan-mode
:
lisp
(add-hook 'stan-mode-hook '(lambda () (yas-minor-mode)))
See the documenation for yasnippet for more information on using yasnippet-mode
.
All packages are free software under the GPL v3.
The file stan-lang/stan-lang.json
is available under the Public Domain Dedication and License v1.0 whose full text can be found at: http://www.opendatacommons.org/licenses/pddl/1.0/ - See more at: http://opendatacommons.org/licenses/pddl/#sthash.UJfFWezm.dpuf