thedavidprice / language-matlab-octave Goto Github PK
View Code? Open in Web Editor NEWAtom.io language support for Matlab / Octave converted from TextMate Bundle
License: MIT License
Atom.io language support for Matlab / Octave converted from TextMate Bundle
License: MIT License
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
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.
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)
@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
😉
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
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.
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.
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
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.
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.
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.
Problems with the transpose operator:
A = B'
: the variable B is also under the keyword.operator.transpose
scope.A = {B, C}'
: the operator has no scope at all.Inconsistency with double percentage comments:
a = 1; % Very interesting comment %%
: in this line %%
is considered comment.line.percentage.matlab > entity.name.section.breakpoint
.%% Simple double percentage comment
: in this line is comment.line.double-percentage.matlab > punctuation.definition.comment.matlab
.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.
I think fprintf
should be a keyword.other
like sprintf
, instead it's considered a storage.type.control
.
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.
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)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.