Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Major mode for editing Stan files
Emacs Lisp Python Makefile
branch: master

This branch is 7 commits behind stan-dev:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
ac-stan
indent-stan-files
lib
snippets/stan-mode
stan-lang
stan-mode
stan-snippets
.gitignore
.travis.yml
Makefile
README.md
ac-dict
common.mk
stan-keywords-lists.el
stan-mode.el
stan-snippets.el

README.md

Emacs support for Stan

Build Status

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. <!-- - ac-stan: Add Stan support for autocomplete-mode. -->

Installing

package.el

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:

(package-refresh-contents)
(mapc
 (lambda (p)
   (unless (package-installed-p p)
     (package-install p)))
 '(stan-mode stan-snippets))

Cask

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:

(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,

$ cask install

See the Cask documentation for more information.

stan-mode

MELPA MELPA Stable

To use, add the following to your init.el file:

(require 'stan-mode)

If you have autocomplete installed and would like to activate stan-mode's support for it, add the following line

(setq stan-use-auto-complete t)

stan-snippets

MELPA MELPA Stable

To use, add the following to your init.el file:

(require 'stan-snippets)

To use yasnippet globally:

(yas-global-mode 1)

Else, to use yasnippet only for stan-mode:

(add-hook 'stan-mode-hook '(lambda () (yas-minor-mode)))

See the documenation for yasnippet for more information on using yasnippet-mode.

License

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

Something went wrong with that request. Please try again.