Skip to content

Atom.io language support for Matlab / Octave converted from TextMate Bundle

License

Notifications You must be signed in to change notification settings

thedavidprice/language-matlab-octave

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atom.io Package for MATLAB and Octave Language Support

Version 1.0.0+ Major Update

Breaking change: as of v1 release August 2019, migrated MATLAB grammar source from TextMate to official MATLAB support mathworks/MATLAB-Language-grammar. This fixed many reported issues and improved MATLAB highlighting to match official github/linguist used on Github.com.

Octave grammar source remains unchanged.

Octave language support (v0.2.0+)

Octave grammar is converted from TextMate Bundle and remains unchanged from v0 to v1. Last update was v0.2. See: https://github.com/textmate/matlab.tmbundle

MATLAB language Support (v1.0.0+)

The syntax highlighting comes from the MathWorks TextMate grammar: https://github.com/mathworks/MATLAB-Language-grammar

Commit Hash: MATLAB-Language-grammar used for current grammar version

https://github.com/mathworks/MATLAB-Language-grammar/tree/40d9a0cd3b628f80cdcf948bbe1747a527ed5dd5

Screenshot Example: preview of included file highlighting-test.m_

language-matlab-octave-highlighting

Process for Updating MATLAB Grammar

Converting the MathWorks TextMate Grammar

  1. Clone, convert, and update the grammar:

    git clone [email protected]:mathworks/MATLAB-Language-grammar.git
    apm init --package language-matlab-temp --convert MATLAB-Language-grammar/Matlab.tmbundle/
    cp language-matlab-temp/grammars/matlab.cson language-matlab-octave/grammars/m.cson
  2. Apply an Atom-specific patch to the file language-matlab-octave/grammars/m.cson:

    • Change name: "meta.class.matlab" to name: "". This prevents atom from improperly coloring all class contents.
  3. Re-add function highlighting into updated language-matlab-octave/grammars/m.cson:

    • MATLAB-Language-grammar does not highlight MATLAB functions exactly like the TextMate grammar. If you view the diff of the newly generated language-matlab-octave/grammars/m.cson, you'll see the functions to add back.
    • For convenience, these are included as reference in language-matlab-octave/grammars/functions-reference.cson. Use this file to update patterns: and repository: sections of the new m.cson.

Testing/Verifying Grammar Changes

See the MATLAB file highlighting-test.m for MATLAB code snippets to test syntax highlighting changes. Supposing you've updated grammars/m.cson you can test your changes by doing the following:

cd your-repo-clone
apm remove language-matlab-octave
apm link .
atom .

Open highlighting-test.m and ensure that the syntax highlighting is as desired. If you fix something specific, consider adding a code snippet to that file locking down your change for future testing.

About

Atom.io language support for Matlab / Octave converted from TextMate Bundle

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages