#+TITLE: Octave layer #+TAGS: dsl|layer|programming [[file:img/octave.png]] * Table of Contents :TOC_5_gh:noexport: - [[#description][Description]] - [[#features][Features:]] - [[#install][Install]] - [[#key-bindings][Key bindings]] - [[#inferior-repl-process][Inferior REPL process]] - [[#helpers][Helpers]] * Description This layer adds support for =GNU Octave= files to Spacemacs. ** Features: - Syntax highlighting for =.m= files via [[https://www.gnu.org/software/emacs/manual/html_mono/octave-mode.html][octave-mode]]. - REPL support - Support for directly running =Octave= scripts from emacs. - Integration with =Octaves= documentation search function. * Install Make sure that [[https://www.gnu.org/software/octave/][GNU Octave]] is installed and in your PATH. For information about setting up $PATH, check out the corresponding section in the FAQ (=SPC h SPC $PATH RET=). To use this configuration layer, add it to your =~/.spacemacs=. You will need to add =octave= to the existing =dotspacemacs-configuration-layers= list in this file. * Key bindings ** Inferior REPL process Send code to inferior process with these commands: | Key | Description | |-------------+---------------------------------------| | ~SPC m '~ | start/switch to REPL inferior process | | ~SPC m s i~ | | | ~SPC m s b~ | send buffer | | ~SPC m s f~ | send function | | ~SPC m s l~ | send line | | ~SPC m s r~ | send region | ** Helpers | Key binding | Description | |-------------+------------------------------------------| | ~SPC m h h~ | view documentation for function at point | | ~SPC m h i~ | read octave info documentation |