nim-wiki/Editor-Support.md

73 lines
2.7 KiB
Markdown
Raw Normal View History

2013-05-21 20:35:06 +00:00
If you add more editor support, don't forget to add it to the [FAQ](https://github.com/Araq/Nimrod/blob/master/web/question.txt) as well.
2011-08-26 11:20:53 +00:00
The following editors have some Nimrod support:
### Emacs
2014-02-14 23:01:17 +00:00
* https://github.com/Tass/nimrod-mode (requires emacs 24)
* https://github.com/eegg/nimrod-mode (works with emacs 23 too, as of 2014-02-15)
2011-08-26 11:20:53 +00:00
### Vim
* https://github.com/zah/nimrod.vim/
2011-08-26 11:20:53 +00:00
* 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](http://build.nimrod-code.org/docs/idetools.html) 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](http://forum.nimrod-lang.org/t/330).
2011-08-26 11:20:53 +00:00
### Scite
Recent versions of Scite have out-of-the-box support for Nimrod. For older versions: <br />
http://scintilla.hg.sourceforge.net/hgweb/scintilla/scite/raw-file/0d8c2122d6f8/src/nimrod.properties
### Aporia
2011-08-26 14:09:59 +00:00
Aporia is a Nimrod IDE written in Nimrod. <br />
2013-12-02 09:38:38 +00:00
https://github.com/nimrod-code/Aporia/
2011-08-26 11:20:53 +00:00
2014-02-13 17:46:36 +00:00
### LightTable
https://github.com/zah/nimrod.lt/
2014-03-13 15:14:23 +00:00
### Atom
https://github.com/zah/nimrod.atom/
2011-08-26 14:09:59 +00:00
### Gedit/Other GtkSourceView editors
There is a .lang file for gedit [here](https://github.com/nimrod-code/Aporia/blob/master/share/gtksourceview-2.0/language-specs/nimrod.lang)
### Geany
There is a [pull request](https://github.com/geany/geany/pull/193) to provide Nimrod support in [Geany](http://www.geany.org).
2011-08-26 11:20:53 +00:00
### Ctags
Basic ```~/.ctags``` rules for nimrod code (Feel free to improve and contribute)
Don't use this if possible, [nimrod idetools](http://build.nimrod-code.org/docs/idetools.html) provides better results.
2011-08-26 11:20:53 +00:00
```
--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
2012-10-21 15:54:28 +00:00
```
### jEdit
2013-12-18 09:10:49 +00:00
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
* https://github.com/leonardoce/nimrod-sublime