An emacs major mode for the Nimrod programming language
Emacs Lisp Nim Makefile
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 1 commit ahead, 347 commits behind nim-lang:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
tests
.gitignore
.travis.yml
Cask
Makefile
README.md
company-nim.el
contributing.md
nim-compile.el
nim-eldoc.el
nim-fill.el
nim-helper.el
nim-mode.el
nim-rx.el
nim-smie.el
nim-suggest.el
nim-syntax.el
nim-thing-at-point.el
nim-util.el
nim-vars.el
nimscript-mode.el

README.md

nim-mode

Travis CI

An emacs major mode for the Nim programming language.

Nimsuggest

In nim-mode repository, some *.el files depend on nimsuggest (not nim-suggest.el), so if you want to use more integration in Emacs, please visit the link to install nimsuggest.

Brief descriptions for the nimsuggest related files:

  1. nim-company.el: auto completion feature
  2. nim-thing-at-point.el: thing-at-point for nim
  3. nim-eldoc: show information in minibuffer

After you install nimsuggest, you may need following configuration.

(setq nim-nimsuggest-path "path/to/nimsuggest")

Note that above nim-nimsuggest-path variable is automatically set result of (executable-find "nimsuggest"), so if you can get value from the executable-find, you might don't need above configuration.

company-mode

If you use company-mode then add company-nim to company-backends like:

(add-to-list 'company-backends
               '(company-nim :with company-nim-builtin))

nim-eldoc

This feature is automatically turned on if nim-suggest-path is non-nil.

auto-indent mode

If you use auto-indent-mode, you need to add nim-mode to the list of auto-indent-multiple-indent-modes:

(add-to-list 'auto-indent-multiple-indent-modes 'nim-mode)

Commenting

nim-mode refers to comment-style variable which comment style user preferred (whether single line or multi line comment) when user invokes comment-region or comment-dwim. See also comment-styles variable for available options.

Other convenience packages