# Editor modes & IDE integration for GF We collect GF modes for various editors on this page. Contributions are welcome! ## Emacs [gf.el](https://github.com/GrammaticalFramework/gf-emacs-mode) by Johan Bockgård provides syntax highlighting and automatic indentation and lets you run the GF Shell in an emacs buffer. See installation instructions inside. ## Atom [language-gf](https://atom.io/packages/language-gf), by John J. Camilleri ## Visual Studio Code * [Grammatical Framework Language Server](https://marketplace.visualstudio.com/items?itemName=anka-213.gf-vscode) by Andreas Källberg. This provides syntax highlighting and a client for the Grammatical Framework language server. Follow the installation instructions in the link. * [Grammatical Framework](https://marketplace.visualstudio.com/items?itemName=GrammaticalFramework.gf-vscode) is a simpler extension without any external dependencies which provides only syntax highlighting. ## Eclipse [GF Eclipse Plugin](https://github.com/GrammaticalFramework/gf-eclipse-plugin/), by John J. Camilleri ## Gedit By John J. Camilleri Copy the file below to `~/.local/share/gtksourceview-3.0/language-specs/gf.lang` (under Ubuntu). * [gf.lang](../src/tools/gf.lang) Some helpful notes/links: * The code is based heavily on the `haskell.lang` file which I found in `/usr/share/gtksourceview-2.0/language-specs/haskell.lang`. * Ruslan Osmanov recommends [registering your file extension as its own MIME type](http://osmanov-dev-notes.blogspot.com/2011/04/how-to-add-new-highlight-mode-in-gedit.html) (see also [here](https://help.ubuntu.com/community/AddingMimeTypes)), however on my system the `.gf` extension was already registered as a generic font (`application/x-tex-gf`) and I didn't want to risk messing any of that up. * This is a quick 5-minute job and might require some tweaking. [The GtkSourceView language definition tutorial](http://developer.gnome.org/gtksourceview/stable/lang-tutorial.html) is the place to start looking. * Contributions are welcome! ## Geany By John J. Camilleri [Custom filetype](http://www.geany.org/manual/dev/index.html#custom-filetypes) config files for syntax highlighting in [Geany](http://www.geany.org/). For version 1.36 and above, copy one of the files below to `/usr/share/geany/filedefs/filetypes.GF.conf` (under Ubuntu). If you're using a version older than 1.36, copy the file to `/usr/share/geany/filetypes.GF.conf`. You will need to manually create the file. * [light-filetypes.GF.conf](../src/tools/light-filetypes.GF.conf) * [dark-filetypes.GF.conf](../src/tools/dark-filetypes.GF.conf) You will also need to edit the `filetype_extensions.conf` file and add the following line somewhere: ``` GF=*.gf ``` ## Vim [vim-gf](https://github.com/gdetrez/vim-gf)