|
14 | 14 |
|
15 | 15 | 2. *Code navigation and more*
|
16 | 16 |
|
17 |
| - - [[https://github.com/mathworks/MATLAB-language-server][MATLAB Language Server]], matlabls, for code navigation, code completion, go to definition, find |
18 |
| - references, and more. See [[file:doc/matlab-language-server-lsp-mode.org][doc/matlab-language-server-lsp-mode.org]]. |
| 17 | + - The [[https://github.com/mathworks/MATLAB-language-server][MATLAB Language Server]], matlabls, for code navigation, code completion, go to definition, |
| 18 | + find references, and more. matlabls is a separate special MATLAB process that Emacs |
| 19 | + communicates with. For example, when you ask Emacs to jump to the definition of a function via |
| 20 | + =M-.= or =M-x xref-find-definitions=, Emacs will ask the matlabls process where the function is |
| 21 | + located and use it's response to jump to the definition. |
| 22 | + |
| 23 | + #+begin_example |
| 24 | + +-----------+ +------------+ |
| 25 | + | | | | |
| 26 | + | Emacs |<==========>| matlabls | |
| 27 | + | | | | |
| 28 | + +-----------+ +------------+ |
| 29 | + #+end_example |
| 30 | + |
| 31 | + You need to install and setup the MATLAB Language Server to use it. |
| 32 | + See [[file:doc/matlab-language-server-lsp-mode.org][doc/matlab-language-server-lsp-mode.org]]. |
19 | 33 |
|
20 | 34 | - Imenu support for quickly jumping to function declarations in the current ~*.m~ file.
|
21 | 35 | See [[file:doc/matlab-imenu.org][doc/matlab-imenu.org]].
|
22 | 36 |
|
23 |
| -3. *M-x matlab-shell* for running and debugging MATLAB within Emacs (Unix-only). |
| 37 | +3. *M-x matlab-shell* for running and debugging MATLAB within Emacs (Unix only). |
24 | 38 |
|
25 | 39 | - MATLAB command window errors are hyper-linked and files open in Emacs
|
26 | 40 | - Debugging support is available from the MATLAB menu.
|
27 | 41 | - matlab-shell uses company-mode for completions.
|
28 |
| - - You can use Emacs TRAMP and =M-x matlab-shell= to run remote MATLAB within your local Emacs |
29 |
| - session, see [[file:doc/remote-matlab-shell.org][doc/remote-matlab-shell.org]]. |
30 | 42 |
|
31 |
| -4. *M-x matlab-netshell* for running MATLAB code on Microsoft Windows within Emacs using an attached |
32 |
| - MATLAB. |
| 43 | + See [[file:doc/matlab-shell-for-unix.org][doc/matlab-shell-for-unix.org]] |
| 44 | + |
| 45 | +4. *M-x matlab-shell* to run remote Unix MATLAB within your local Emacs session. |
33 | 46 |
|
34 | 47 | #+begin_example
|
| 48 | + +----------------+ +-----------------+ |
| 49 | + | Local Computer | | Remote Computer | |
| 50 | + | |<===============>| | |
| 51 | + | Emacs | ssh | MATLAB | |
| 52 | + +----------------+ +-----------------+ |
| 53 | + #+end_example |
35 | 54 |
|
| 55 | + You use Emacs on your local computer to edit files on the remote computer, run and debug remote |
| 56 | + MATLAB in a matlab-shell in your local Emacs. See [[file:doc/remote-matlab-shell.org][doc/remote-matlab-shell.org]]. |
| 57 | + |
| 58 | +5. *M-x matlab-netshell* for running MATLAB code on Microsoft Windows within Emacs using an attached |
| 59 | + MATLAB. |
| 60 | + |
| 61 | + #+begin_example |
36 | 62 | +--------------- Emacs ----------------+ +------------ MATLAB ------------+
|
37 | 63 | | | | |
|
38 | 64 | | (1) M-x matlab-netshell-server-start | | (2) connect to Emacs |
|
|
41 | 67 | | "MATLAB -> Code Sections" menu | | >> |
|
42 | 68 | | or the key bindings | | |
|
43 | 69 | +--------------------------------------+ +----------------------------------+
|
44 |
| - |
45 | 70 | #+end_example
|
46 |
| - |
47 |
| -5. *Code sections* support for MATLAB script files. See [[file:doc/matlab-code-sections.org][doc/matlab-code-sections.org]]. |
| 71 | + |
| 72 | +6. *Code sections* support for MATLAB script files. See [[file:doc/matlab-code-sections.org][doc/matlab-code-sections.org]]. |
48 | 73 |
|
49 | 74 | - After visiting a MATLAB script, you have a *"MATLAB -> Code Sections"* menu and key bindings
|
50 | 75 | which lets you navigate, run, and move code sections.
|
51 | 76 |
|
52 | 77 | - Try out code sections using: [[file:examples/matlab-sections/tryout_matlabsection.m][./examples/matlab-sections/tryout_matlabsection.m]].
|
53 | 78 |
|
54 |
| -6. *Creation of scientific papers, theses, and documents* using MATLAB and [[http://orgmode.org]]. |
| 79 | +7. *Creation of scientific papers, theses, and documents* using MATLAB and [[http://orgmode.org]]. |
55 | 80 |
|
56 | 81 | - Org enables [[https://en.wikipedia.org/wiki/Literate_programming][literate programming]] which directly supports reproducible research by allowing
|
57 | 82 | scientists and engineers to write code along with detailed explanations in natural language.
|
|
66 | 91 | - See [[file:examples/matlab-and-org-mode][./examples/matlab-and-org-mode/]] to get started. This directory contains a [[file:examples/matlab-and-org-mode/matlab-and-org-mode.pdf][PDF]] generated from
|
67 | 92 | [[file:examples/matlab-and-org-mode/matlab-and-org-mode.org][./examples/matlab-and-org-mode/matlab-and-org-mode.org]].
|
68 | 93 |
|
69 |
| -7. *tlc-mode* for editing ~*.tlc~ files. The Target Language Compiler (TLC) is part of Simulink® |
| 94 | +8. *tlc-mode* for editing ~*.tlc~ files. The Target Language Compiler (TLC) is part of Simulink® |
70 | 95 | Coder™.
|
71 | 96 |
|
72 | 97 | * Installation
|
|
0 commit comments