2.7 KiB
If you add more editor support, don't forget to add it to the FAQ as well.
The following editors have some Nimrod support:
Emacs
- https://github.com/reactormonk/nimrod-mode (requires emacs 24)
- https://github.com/eegg/nimrod-mode (works with emacs 23 too, as of 2014-02-15)
Vim
-
https://github.com/zah/nimrod.vim/
- Syntax Highlighting
- Auto-indent
- Build/Jump to errors within Vim
- Project Navigation and Jump to Definition (using the Ctags support listed below or Nimrod's idetools command)
-
http://gradha.github.io/articles/2014/02/invoking-dash-from-the-command-line-vim.html
Instructions to map Vim's
K
letter to look up documentation under MacOSX using Dash.
Scite
Recent versions of Scite have out-of-the-box support for Nimrod. For older versions:
http://scintilla.hg.sourceforge.net/hgweb/scintilla/scite/raw-file/0d8c2122d6f8/src/nimrod.properties
Aporia
Aporia is a Nimrod IDE written in Nimrod.
https://github.com/nimrod-code/Aporia/
LightTable
https://github.com/zah/nimrod.lt/
Atom
https://github.com/zah/nimrod.atom/
Gedit/Other GtkSourceView editors
There is a .lang file for gedit here
Geany
There is a pull request to provide Nimrod support in Geany.
Ctags
Basic ~/.ctags
rules for nimrod code (Feel free to improve and contribute)
Don't use this if possible, nimrod idetools provides better results.
--langdef=nimrod
--langmap=nimrod:.nim
--regex-nimrod=/(\w+)\*?\s*=\s*object/\1/t,class/
--regex-nimrod=/(\w+)\*?\s*=\s*enum/\1/t,enum/
--regex-nimrod=/(\w+)\*?\s*=\s*tuple/\1/t,tuple/
--regex-nimrod=/(\w+)\*?\s*=\s*range/\1/t,subrange/
--regex-nimrod=/(\w+)\*?\s*=\s*proc/\1/t,proctype/
--regex-nimrod=/proc\s+(\w+)/\1/f,procedure/
--regex-nimrod=/method\s+(\w+)/\1/f,method/
--regex-nimrod=/proc\s+`([^`]+)`/\1/o,operator/
--regex-nimrod=/template\s+(\w+)/\1/t,template/
--regex-nimrod=/macro\s+(\w+)/\1/m,macro
jEdit
https://github.com/exhu/nimrod-misc/tree/master/jedit
Sublime
-
https://github.com/Varriount/NimLime
NimLime is a Sublime Text plugin that supports:
- Syntax highlighting
- Go to definition
- Error checking and highlighting through the compiler
- Completion suggestions though the compiler
- Babel package manager interaction