3.8 KiB
If you add more editor support, don't forget to add it to the FAQ as well.
The following editors have some Nim support:
Emacs
- https://github.com/nim-lang/nim-mode (requires emacs 24.3)
- https://github.com/jameshfisher/nimrod-mode (works with emacs 23 too, as of 2014-02-15)
Vim
-
https://github.com/zah/nim.vim/
- Syntax Highlighting
- Auto-indent
- Build/Jump to errors within Vim
- Project Navigation and Jump to Definition (using the Ctags support listed below or Nim'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.
LiClipse
LiClipse is a plugin for Eclipse (which also provides a standalone version for convenience) which provides Nim support providing syntax-highlighting, outline, comment/uncomment (ctrl+/), select/deselect scope (Shift+Alt+Up/Down), auto-indent, mark occurrences, user templates, multiple cursors (Ctrl+K or Ctrl+Alt+mouse select) and indent guides.
Scite
Recent versions of Scite have out-of-the-box support for Nim. For older versions:
http://sourceforge.net/p/scintilla/scite/ci/default/tree/src/nimrod.properties?format=raw
Aporia
Aporia is a Nim IDE written in Nim.
https://github.com/nim-lang/Aporia/
LightTable
https://github.com/zah/nim.lt/
Atom
https://github.com/zah/nim.atom/
Gedit/Other GtkSourceView editors
There is a .lang file for gedit here
Geany
There is a pull request to provide Nim support in Geany.
Ctags
Basic ~/.ctags
rules for Nim code (Feel free to improve and contribute)
Don't use this if possible, Nim idetools provides better results.
--langdef=nim
--langmap=nim:.nim
--regex-nim=/(\w+)\*?\s*=\s*object/\1/t,class/
--regex-nim=/(\w+)\*?\s*=\s*enum/\1/t,enum/
--regex-nim=/(\w+)\*?\s*=\s*tuple/\1/t,tuple/
--regex-nim=/(\w+)\*?\s*=\s*range/\1/t,subrange/
--regex-nim=/(\w+)\*?\s*=\s*proc/\1/t,proctype/
--regex-nim=/proc\s+(\w+)/\1/f,procedure/
--regex-nim=/method\s+(\w+)/\1/f,method/
--regex-nim=/proc\s+`([^`]+)`/\1/o,operator/
--regex-nim=/template\s+(\w+)/\1/t,template/
--regex-nim=/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
Kate
Syntax highlighting:
https://github.com/PhilipWitte/NimKate
TextMate
Available from the bundle installer in preferences (repository).
QtCreator
https://github.com/filcuc/NimQtCreatorPlugin
QtCreator plugin that supports:
- Syntax highlighting
- Indentation
- Project management (build/run configuration)
- Debug with gdb
KDevelop
https://github.com/xyz32/KDevelop-template
KDevelop templates for Nim project and Nim file:
- Project management (build/run configuration)
- New nim file
- Debug with gdb (You will need to uncomment the debug flag in the nim.cfg file)
Note For syntax highlighting you need to install Kate syntax highlighting.
Howl
Recent versions of Howl have built-in Nim syntax highlighting.