Git Product home page Git Product logo

language-matlab-octave's People

Contributors

r0oland avatar rlivings39 avatar scrupeus avatar thedavidprice avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

language-matlab-octave's Issues

v0.1.2 while tagged is not in the Atom package registry

Hi,

I've noticed that v0.1.2 is not in the Atom package registry (e.g., apm install language-matlab-octave will install v0.1.1 of this package as it is the latest version in the Atom package registry). Is this deliberate? If not please tag new releases with apm publish as this will register your new release with the Atom package registry.

Thanks for your time,
Brenton

Single quotes in comments parsed incorrectly

MATLAB single line comments (starting with %) and Octave ones (starting with # or %) are still being parsed. That is, if a single quote ' is in the comment, the grammar treats it as the start of a string, which causes code afterward to be parsed as part of that string.

I am not sure if the same problem applies to multi-line comments, but they should be checked too.

Package.loadSettings is deprecated.

Store package settings files in the settings/ directory instead of scoped-properties/

Package.loadSettings (/Applications/Atom.app/Contents/Resources/app/src/package.js:565:9)
<unknown> (/Applications/Atom.app/Contents/Resources/app/src/package.js:187:43)

Adding Collaborator(s)

@rlivings39 I’m only getting further pulled away from this. What do you think about me adding you as a repo collaborator, giving you full push+publish capability?

Me == terrible middleman

😉

Keywords not working properly

I am using a lot of Matlab toolboxes which have many extra keywords defined which should also be highlighted. For example, when defining a Class in Matlab, the "properties" keyword should be highlighted, but it is not. Other examples are "connect", "delete" and many more.
Now looking into the "m.cson" file i can see that most of these keywords are indeed defined, they just seem to be ignored. Do I have to configure which toolboxes I am using somewhere? Or am I missing something?

Regards,
Joe

Syntax highlighting in Markdown

I'm using language-matlab-octave in a Markdown file, but syntax highlighting doesn't seem to work in code blocks:

disp("Hello world")

I'm using language-gfm to display Markdown, and syntax highlighting works with other user-installed languages such as language-haskell.

It works great otherwise, however.

Objective-C has the same file extension of .m

In this example: theta = pinv(X'_X)_X'*y;

The parser believes that this is indicating a string literal. In fact, the single quote also shares the dual functionality of being the transpose symbol in matlab/octave.

Migrating from Textmate to Mathworks grammar

Picking up the conversation from here.

This comment from /github/linguist/ provide helpful background.

Conversion from the Textmate bundle has always had issues. But we should keep continuity (look/feel) and demonstrate this is an improvement to current. If it is more of a wholesale change (per feedback), we might consider creating a new Atom package altogether. (In which case we can redirect people via README, etc.)

Lastly, this repo is fairly “quiet”. Meaning I have to assume 99% of installs are working good enough. So I’d like to enlarge the conversation if we move forward to include people who have forked or starred. See “for discussion" item below.

For Discussion

  • Process going forward for managing Mathworks package as a dependency: who, how, document it, etc.
    • Additionally, how should we "version-lock" this package and Mathworks package? Both to clarify which "version" of Mathworks was used to update this package release and to trigger a notice that there's a new "version" of Mathworks that requires updating and new release of this package.
  • How to enlarge this conversation including others using the package: stars, forks, … ?
  • Saw this comment about license. Make sure we do quick confirm that all’s fine.
  • Do we need to also need to address this fix per the VSCode PR here?
  • Good ol’ Octave… anything to address regarding current grammar leaving as is?
  • Lastly, I’m not sure how to think of this update in regards to semver and “breaking changes”. Meaning, I can foresee this potentially causing problem for users who’ve customized styling and for downstream forks. But I might be overthinking things. Regarless, will need a simple plan to communicate this update and handle Atoms auto-update notice (e.g. maybe we do something akin to RC labeling in attempt to get feedback, and then do final release bump to major v1…) Thoughts welcome here.

Comment blocks not fully supported

Matlab support comment blocks using %{ ... %}.
The comment block is disabled if the %{ is immediately followed by a character:

%{
... commented block ...
%}

%{/
... active block ...
%}

This feature does not work in the current Atom package. Both blocks are disabled/commented out.

doesn't accept '#' as comment marker

Hi!

i just tested the atomeditor and tested it with some octavecode. in octave it's quite common to use '#' as comment marker. But this seems not supported by this package.

Some scope errors after mathworks/MATLAB-Language-grammar transition

I've found some issues after the recent migration to the different base.
I'll list them all here for practical reasons, but let me know if it's better to create separate issues.

  1. Problems with the transpose operator:

    1. A = B': the variable B is also under the keyword.operator.transpose scope.
    2. A = {B, C}': the operator has no scope at all.
  2. Inconsistency with double percentage comments:

    1. a = 1; % Very interesting comment %%: in this line %% is considered comment.line.percentage.matlab > entity.name.section.breakpoint.
    2. %% Simple double percentage comment: in this line is comment.line.double-percentage.matlab > punctuation.definition.comment.matlab.
  3. Problem with string.interpolated and inline code: in the line clear someVars; x = 1; the instruction x = 1 is still considered a part of the string.

  4. I think fprintf should be a keyword.other like sprintf, instead it's considered a storage.type.control.

  5. In general there are duplicate entries in various support.XXXX scopes, take a look at fprintf or fopen for example. This is not a real problem, but since the scope is unique and chosen by some kind of priority I think it's useless.

  6. There is another nuisance in support.XXXX scopes: they "reserve" a lot of common/simple names, like test or ss. I know that assigning such names to variables is not a good practice, but since a lot of them refer to optional Matlab toolboxes maybe they can be ignored.

(Just to state the obvious, I'm referring to the Matlab part of the syntax)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.