profile
viewpoint
Andres Suarez zertosh @facebook New York, NY

browserify/browserify 13523

browser-side require() the node.js way

prettier/eslint-plugin-prettier 1817

ESLint plugin for Prettier formatting

browserify/watchify 1770

watch mode for browserify builds

hughsk/envify 860

:wrench: Selectively replace Node-style environment variables with plain strings.

browserify/detective 387

Find all calls to require() no matter how deeply nested using a proper walk of the AST

zertosh/beautify-with-words 318

Beautifies javascript and replaces variable names with unique "long-ish words"

browserify/module-deps 200

walk the dependency graph to generate a stream of json output

browserify/browser-pack 164

pack node-style source files from a json stream into a browser bundle

suda/tool-bar 158

Package providing customisable toolbar for Atom

ForbesLindesay/umd 137

Universal Module Definition for use in automated build systems

issue commentbabel/babel

Wrong emit for computed and shorthand `__proto__` property

Hey @ExE-Boss! We really appreciate you taking the time to report an issue. The collaborators on this project attempt to help as many people as possible, but we're a limited number of volunteers, so it's possible this won't be addressed swiftly.

If you need any help, or just have general Babel or JavaScript questions, we have a vibrant Slack community that typically always has someone willing to help. You can sign-up here for an invite."

ExE-Boss

comment created time in 6 minutes

issue openedbabel/babel

Wrong emit for computed and shorthand `__proto__` property

Bug Report

<!-- If you would like to implement a PR, we are more than happy to help you go through the process!-->

  • [ ] I would like to work on a fix!

<!-- @babel/eslint-parser: If you are having issues with JSX you might want to check out eslint-plugin-react. If there's an issue with new experimental syntax you might need to check if it's supported by @babel/eslint-plugin. -->

Input Code

const computed = {
	// Expected: _defineProperty({}, '__proto__', 123)
	['__proto__']: 123,
};

const shorthand = {
	// Expected: _defineProperty({}, '__proto__', __proto__)
	__proto__,
};

const method = {
	// Expected: _defineProperty({}, '__proto__', function __proto__() {})
	__proto__() {},
};

Current behaviour

var _computed;
var computed = (
	(_computed = {
		// Expected: _defineProperty({}, '__proto__', 123)
	}),
	(_computed["__proto__"] = 123),
	_computed
);

var shorthand = {
	// Expected: _defineProperty({}, '__proto__', __proto__)
	__proto__: __proto__
};

var method = {
	// Expected: _defineProperty({}, '__proto__', function __proto__() {})
	__proto__: function __proto__() {}
};

Expected behaviour

var computed = _defineProperty(
	{
		// Expected: _defineProperty({}, '__proto__', 123)
	},
	'__proto__',
	123
);

var shorthand = _defineProperty(
	{
		// Expected: _defineProperty({}, '__proto__', __proto__)
	},
	'__proto__',
	__proto__
);

var method = _defineProperty(
	{
		// Expected: _defineProperty({}, '__proto__', function __proto__() {})
	},
	'__proto__',
	function __proto__() {}
);

Environment

<!--- Tip: Instead of filling out the questions below, you can run npx envinfo --preset babel and paste the result below ``` -->

  • Babel version(s): v7.12.12 (according to REPL)
  • Node version: v15
  • OS: REPL
  • Monorepo: no
  • How you are using Babel: REPL

Possible Solution

<!--- If you have suggestions on a fix for the bug --> Always use the _defineProperty helper for the computed and shorthand __proto__ property initialisers.

Additional context

<!-- Add any other context about the problem here. Or a screenshot if applicable -->

created time in 7 minutes

issue commentgandm/language-babel

Uncaught TypeError: Cannot read property 'code' of undefined

1, Search the babel config to find the only section in Babel.config.json or babel.config.js 2, remove it.

Can you elaborate? I'm running into this exact same issue, but I don't see either of those files in the language-babel package.

68681395

comment created time in 12 minutes

pull request commentnodejs/node

lib,test,tools: rename blacklist/whitelist to denylist/allowlist

I did a checkout, squash, rebase, resolve conflicts, and there were no changes left. Sorry we didn't land this sooner and thanks for helping us improve language used in the codebase.

mkrawczuk

comment created time in an hour

pull request commentnodejs/node

crypto: call CRYPTO_secure_malloc_done

@paulidale ... Is there a simple way of checking the current ref count?

jasnell

comment created time in an hour

push eventeslint/eslint

Brandon Mills

commit sha f7ca48165d025e01c38698352cff24d1de87cc8b

Docs: Explain why we disable lock files (refs eslint/tsc-meetings#234) (#14006)

view details

push time in 2 hours

delete branch eslint/eslint

delete branch : docs-lockfile

delete time in 2 hours

PR merged eslint/eslint

Docs: Explain why we disable lock files (refs eslint/tsc-meetings#234) accepted documentation

<!-- Thank you for contributing!

ESLint adheres to the [JS Foundation Code of Conduct](https://js.foundation/community/code-of-conduct).

-->

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

[x] Documentation update [ ] Bug fix (template) [ ] New rule (template) [ ] Changes an existing rule (template) [ ] Add autofixing to a rule [ ] Add a CLI option [ ] Add something to the core [ ] Other, please explain:

<!-- If the item you've checked above has a template, please paste the template questions below and answer them. (If this pull request is addressing an issue, you can just paste a link to the issue here instead.) -->

<!-- Please ensure your pull request is ready:

- Read the pull request guide (https://eslint.org/docs/developer-guide/contributing/pull-requests)
- Include tests for this change
- Update documentation for this change (if appropriate)

-->

<!-- The following is required for all pull requests: -->

What changes did you make? (Give an overview)

Following up on today's TSC meeting, this documents why we chose to disable package-lock.json.

Is there anything you'd like reviewers to focus on?

+10 -0

0 comment

1 changed file

btmills

pr closed time in 2 hours

pull request commentnodejs/node

crypto: call CRYPTO_secure_malloc_done

Nothing jumps out at me as forcing a provider or library context reference count increment. I think that this is the most likely culprit.

If @mattcaswell doesn't have a look, I can once my vacation finishes.

jasnell

comment created time in 3 hours

pull request commentnodejs/node

inspect: fix pop undefined when array prototype pop deleted

@ExE-Boss Those changes are not in the scope of the fix but I can raise another PR to move them to primordials.

yashLadha

comment created time in 3 hours

pull request commentnodejs/node

fs: use throwIfNoEntry option on statSync calls

CI: https://ci.nodejs.org/job/node-test-pull-request/35594/

aduh95

comment created time in 4 hours

pull request commentnodejs/node

lib: replace public Map methods with primordials

Alternatively, it might be better to fix the C++ binding, so that getOptions() returns a SafeMap

Agreed, having to deal only with SafeMap objects rather than Map would be ideal. That being said, getOptions returns string, not Map 😉 Most core developers shouldn't have to deal with the options object directly.

just like how the C++ API handles creation of Buffer instances.

I've been looking into that, and it seems all the C++ API does is create a Uint8Array and change the object's prototype:

https://github.com/nodejs/node/blob/7efada695f9cb7515a78565213f25d8077c206ff/src/node_buffer.cc#L275-L277

This could be done in JS, no need to change the C++, but I wouldn't be surprised if it had worse performance (haven't measured it though).

aduh95

comment created time in 4 hours

pull request commenteslint/eslint

Update: show where the identifier has been defined (refs #13646)

It looks like your latest push included a bunch of unrelated commits from our master branch. It looks like this pull request should just include just Update: show the original identifier place (refs #13646) and Update: show message when the variable is global (refs #13646). Can you git rebase --interactive on the latest master to include just those two?

t-mangoe

comment created time in 5 hours

pull request commentnodejs/node

crypto: call CRYPTO_secure_malloc_done

Ping @paulidale and @mattcaswell; maybe they can help with freeing up secure heap?

jasnell

comment created time in 5 hours

pull request commentnodejs/node

crypto: call CRYPTO_secure_malloc_done

Do you load openssl dynamically? If so, do you explicilty unload it? I can ping folks for details on how to cleanup, but first those questions.

Here's the init logic... https://github.com/nodejs/node/blob/master/src/crypto/crypto_util.cc#L102-L163

There is no explicit cleanup unless I've missed something (/cc @addaleax @joyeecheung)

jasnell

comment created time in 5 hours

pull request commentnodejs/node

fs: use throwIfNoEntry option on statSync calls

CI: https://ci.nodejs.org/job/node-test-pull-request/35593/

aduh95

comment created time in 5 hours

pull request commentnodejs/node

crypto: call CRYPTO_secure_malloc_done

Do you load openssl dynamically? If so, do you explicilty unload it? I can ping folks for details on how to cleanup, but first those questions.

jasnell

comment created time in 5 hours

issue commentyarnpkg/yarn

Does yarn installs peer dependencies?

Can reproduce with Yarn 1 so it looks like a bug, however I can't reproduce with Yarn v2

https://yarnpkg.com/getting-started/migration

padzikm

comment created time in 6 hours

IssuesEvent

issue commentyannickcr/eslint-plugin-react

Add `reactLibrary` setting

In that case, the rule definitely shouldn’t be hardcoded - i understand what you mean now.

A PR to add this setting would be appreciated.

cherryblossom000

comment created time in 6 hours

issue commentyannickcr/eslint-plugin-react

Add `reactLibrary` setting

@ljharb That only works for detecting <Preact.Fragment> and not Fragment if it was imported from 'preact'.

As you can see here, for imports the rule only checks if the imported module is 'react':

https://github.com/yannickcr/eslint-plugin-react/blob/0e9a193435454cd4891760d2bc5efdb2d2bc6294/lib/rules/jsx-fragments.js#L115-L124

https://github.com/yannickcr/eslint-plugin-react/blob/0e9a193435454cd4891760d2bc5efdb2d2bc6294/lib/rules/jsx-fragments.js#L155-L165

Here's a minimal example of my issue:

.eslintrc.yml

root: true
plugins: [react]
parserOptions:
  ecmaFeatures:
    jsx: true
  ecmaVersion: 6
  sourceType: module
settings:
  react:
    pragma: Preact
rules:
  react/jsx-fragments: 2

test.js

import {Fragment} from 'preact'

const foo = <Fragment>foo</Fragment>

Running npx eslint test.js does not report any linting errors.

eslint version: 7.18.0 eslint-plugin-react version: 7.22.0

cherryblossom000

comment created time in 6 hours

pull request commentnodejs/node

fs: use throwIfNoEntry option on statSync calls

CI: https://ci.nodejs.org/job/node-test-pull-request/35592/

aduh95

comment created time in 6 hours

pull request commentnodejs/node

lib: add --expose-primordials flag

CI: https://ci.nodejs.org/job/node-test-pull-request/35591/

aduh95

comment created time in 6 hours

Pull request review commentnodejs/node

lib: add --expose-primordials flag

 class NativeModule {   }    // Used by user-land module loaders to compile and load builtins.-  compileForPublicLoader() {+  compileForPublicLoader(isPreloading) {     if (!this.canBeRequiredByUsers) {       // No code because this is an assertion against bugs       // eslint-disable-next-line no-restricted-syntax       throw new Error(`Should not compile ${this.id} for public use`);     }+    if (isPreloading) {+      ObjectDefineProperty(+        this, 'isPreloading',+        ReflectGetOwnPropertyDescriptor(+          nativeModuleRequire('internal/modules/cjs/loader').Module.prototype,+          'isPreloading'));+    }

Right, but considering get was already the name of the getter, I'd rather keep it as is.

aduh95

comment created time in 6 hours

pull request commentnodejs/node

crypto: call CRYPTO_secure_malloc_done

@richsalz ... would you have any suggestions on this ... looks like when using the secure heap allocator the DBRG is holding on to some memory causing our asan test to fail...

https://github.com/nodejs/node/pull/36976/checks?check_run_id=1717756455

Indirect leak of 264 byte(s) in 1 object(s) allocated from:
    #0 0xa46a1d in malloc (/home/runner/work/node/node/out/Release/node+0xa46a1d)
    #1 0x302388b in CRYPTO_zalloc (/home/runner/work/node/node/out/Release/node+0x302388b)
    #2 0x2ff6b4a in EVP_CipherInit_ex (/home/runner/work/node/node/out/Release/node+0x2ff6b4a)
    #3 0x3080513 in drbg_ctr_init (/home/runner/work/node/node/out/Release/node+0x3080513)
    #4 0x30890ad in RAND_DRBG_set (/home/runner/work/node/node/out/Release/node+0x30890ad)
    #5 0x3089524 in rand_drbg_new (/home/runner/work/node/node/out/Release/node+0x3089524)
    #6 0x308c845 in RAND_DRBG_get0_private (/home/runner/work/node/node/out/Release/node+0x308c845)
    #7 0x308f483 in RAND_priv_bytes (/home/runner/work/node/node/out/Release/node+0x308f483)
    #8 0x2ed8547 in bnrand (/home/runner/work/node/node/out/Release/node+0x2ed8547)
    #9 0x2ed8aaf in bnrand_range (/home/runner/work/node/node/out/Release/node+0x2ed8aaf)
    #10 0x2ed6063 in BN_is_prime_fasttest_ex (/home/runner/work/node/node/out/Release/node+0x2ed6063)
    #11 0x2ed5084 in BN_generate_prime_ex (/home/runner/work/node/node/out/Release/node+0x2ed5084)
    #12 0x2f390b4 in DH_generate_parameters_ex (/home/runner/work/node/node/out/Release/node+0x2f390b4)
    #13 0x10d7272 in node::crypto::DiffieHellman::New(v8::FunctionCallbackInfo<v8::Value> const&) (/home/runner/work/node/node/out/Release/node+0x10d7272)
jasnell

comment created time in 7 hours

Pull request review commentsublimehq/Packages

[Matlab] Better syntax highlighting

 contexts:       scope: comment.line.percentage.matlab       captures:         1: punctuation.definition.comment.matlab-  all_matlab_keywords:-    - include: matlab_keyword_control-    - include: matlab_keyword_operator-    - include: matlab_keyword_other-    - include: matlab_oop-    - include: matlab_storage_type-    - include: matlab_storage_modifier-    - include: matlab_constant_language-    - include: matlab_variable_function-    - include: matlab_keyword_desktop-    - include: matlab_keyword_mathematics-    - include: matlab_keyword_analysis-    - include: matlab_storage_control-    - include: matlab_support_graphics-    - include: matlab_support_function-    - include: matlab_support_external-    - include: matlab_support_toolbox_aerospace-    - include: matlab_support_toolbox_bioinformatics-    - include: matlab_support_toolbox_communications-    - include: matlab_support_toolbox_control_systems-    - include: matlab_support_toolbox_curve_fitting-    - include: matlab_support_toolbox_data_acquisition-    - include: matlab_support_toolbox_database-    - include: matlab_support_toolbox_datafeed-    - include: matlab_support_toolbox_design-    - include: matlab_support_toolbox_excel_link-    - include: matlab_support_toolbox_filter_design_hdl_coder-    - include: matlab_support_toolbox_financial_derivatives-    - include: matlab_support_toolbox_financial-    - include: matlab_support_toolbox_fixed_income-    - include: matlab_support_toolbox_fixed_point-    - include: matlab_support_toolbox_fuzzy_logic-    - include: matlab_support_toolbox_garch-    - include: matlab_support_toolbox_genetic_algorithms-    - include: matlab_support_toolbox_image_acquisition-    - include: matlab_support_toolbox_image_processing-    - include: matlab_support_toolbox_instrument_control-    - include: matlab_support_toolbox_mapping-    - include: matlab_support_toolbox_model_predictive_control-    - include: matlab_support_toolbox_model_based_calibration-    - include: matlab_support_toolbox_neural_network-    - include: matlab_support_toolbox_opc-    - include: matlab_support_toolbox_optimization-    - include: matlab_support_toolbox_rf-    - include: matlab_support_toolbox_robust_control-    - include: matlab_support_toolbox_signal_processing-    - include: matlab_support_toolbox_spline-    - include: matlab_support_toolbox_statistics-    - include: matlab_support_toolbox_symbolic_math-    - include: matlab_support_toolbox_system_identification-    - include: matlab_support_toolbox_virtual_reality-    - include: matlab_support_toolbox_wavelet-  allofem:-    - include: parens-    - include: curlybrackets-    - include: end_in_parens-    - include: brackets-    - include: transpose-    - include: string-    - include: all_matlab_keywords-    - include: all_matlab_comments-    - include: variable-    - include: number-    - include: variable_invalid-    - include: operators-    - match: (\.\.\.)\s*(\S.*\n?)?++  line-continuation:+    - match: (\.{3})\s*(\S.*\n?)?       captures:-        1: punctuation.separator.continuation.matlab+        1: punctuation.separator.continuation.line.matlab         2: comment.line.matlab++###[ LANGUAGE FUNDAMENTALS ]##################################################++  numbers:+    - match: \b(0[xX])(\h+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b+      scope: meta.number.integer.hexadecimal.matlab+      captures:+        1: constant.numeric.base.matlab+        2: constant.numeric.value.matlab+        3: constant.numeric.suffix.matlab+      push: transpose+    - match: \b(0[bB])([01]+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b+      scope: meta.number.integer.binary.matlab+      captures:+        1: constant.numeric.base.matlab+        2: constant.numeric.value.matlab+        3: constant.numeric.suffix.matlab+      push: transpose+    - match: ((?:\d+(\.)\d*|(\.)?\d+)(?:[Ee][-+]?\d+)?)(i|j)\b+      scope: meta.number.imaginary.decimal.matlab+      captures:+        1: constant.numeric.value.matlab+        2: punctuation.separator.decimal.matlab+        3: punctuation.separator.decimal.matlab+        4: constant.numeric.suffix.matlab+      push: transpose+    - match: (?:\d+(\.)\d*|(\.)?\d+)(?:[Ee][-+]?\d+)?(?!\w)+      scope: meta.number.float.decimal.matlab constant.numeric.value.matlab+      captures:+        1: punctuation.separator.decimal.matlab+        2: punctuation.separator.decimal.matlab+      push: transpose++  string:+    - match: \'+      scope: punctuation.definition.string.begin.matlab+      push:+        - meta_scope: string.quoted.single.matlab+        - match: \'(?=(\]|\)|\}|=|~|<|>|&|\||-|\+|\*|\.|\^|\||\s|;|:|,))+          scope: punctuation.definition.string.end.matlab+          set:+            - match: (?:\s*(\.\'))?+              captures:+                1: keyword.operator.transpose.matlab+              pop: true+        # escaped quote+        - match: \'\'+          scope: constant.character.escape.matlab+        # unescaped quote+        - match: \'(?=.)+          scope: invalid.illegal.unescaped-quote.matlab+        - include: escaped-character+        - include: format-spec+    - match: \"+      scope: punctuation.definition.string.begin.matlab+      push:+        - meta_scope: string.quoted.double.matlab+        - match: \"\"+          scope: constant.character.escape.matlab+        - match: \"+          scope: punctuation.definition.string.end.matlab+          set: transpose+        - include: escaped-character+        - include: format-spec++  escaped-character:+    - match: \%\%|\\\\|\\[abfnrtv]+      scope: constant.character.escape.matlab++  format-spec:+    - match: \%(?:\d\$)?[-+\s0#]?(?:\d+|\*)?(?:\.\d+|\.\*)?(?:[cdeEfgGis]|[bt]?[ouxX])+      scope: constant.other.placeholder.matlab++  variable:+    - match: \b{{identifier}}\b+      scope: meta.variable.other.valid.matlab+      captures:+        1: punctuation.accessor.dot.matlab+      push: transpose++  transposed-variable:+    - match: \b({{identifier}})(?:\s*(\.\')|(\'))+      captures:+        1: meta.variable.other.valid.matlab+        2: keyword.operator.transpose.matlab+        3: keyword.operator.transpose.matlab++  variable-assignment:+    - match: \b({{identifier}})\s*(=)(?!=)+      captures:+        1: meta.variable.other.valid.matlab+        2: keyword.operator.assignment.matlab++  structure:+    - match: \b{{identifier}}(\.)\b+      captures:+        1: punctuation.accessor.dot.matlab+      push:+        - meta_scope: meta.variable.other.valid.matlab+        - match: '{{identifier}}(\.)\b'+          captures:+            1: punctuation.accessor.dot.matlab+        - match: '{{identifier}}'+          set: transpose++###[ PARENS/BRACKETS/BRACES BLOCKS ]##########################################++  parens:+    - match: \(+      scope: punctuation.section.parens.begin.matlab+      push:+        - meta_scope: meta.parens.matlab+        - match: \)+          scope: punctuation.section.parens.end.matlab+          set: transpose+        - include: last-index+        - include: expressions+   brackets:-    - match: '\['+    - match: \[       scope: punctuation.section.brackets.begin.matlab       push:         - meta_scope: meta.brackets.matlab-        - match: '\]'+        - match: \]           scope: punctuation.section.brackets.end.matlab-          set: transpose_post_parens-        - include: allofem-  constants_override:-    - match: '(^|\;)\s*(ans|i|j|inf|Inf|nan|NaN|eps|end)\s*=[^=]'-      comment: The user is trying to override MATLAB constants and functions.-      scope: meta.inappropriate.matlab-  curlybrackets:-    - match: '\{'-      scope: meta.brackets.curly.matlab+          set: transpose+        - include: separator-semicolon+        - include: argument-placeholder+        - include: expressions++  braces:+    - match: \{+      scope: punctuation.section.braces.begin.matlab       push:-        - meta_content_scope: meta.brackets.curly.matlab-        - match: '\}'-          scope: meta.brackets.curly.matlab-          set: transpose_post_parens-        - include: allofem-        - include: end_in_parens-  end_in_parens:-    - match: \bend\b-      comment: end as operator symbol-      scope: keyword.operator.symbols.matlab-  escaped_quote:-    - match: "''"-      scope: constant.character.escape.matlab+        - meta_scope: meta.braces.matlab+        - match: \}+          scope: punctuation.section.braces.end.matlab+          set: transpose+        - include: separator-semicolon+        - include: last-index+        - include: expressions -  # Function-  function:-    - match: '^\s*(function)\b'-      captures:-        1 : keyword.other.matlab+###[ DECLARATION BLOCKS ]#####################################################++  function-declaration:+    - match: \bfunction\b+      scope: keyword.declaration.function.matlab       push:-        - match: \b(\w+)\s+(=)+        - meta_scope: meta.function.matlab+        - include: line-continuation+        - match: '{{eol}}'+          set: function-body-arguments+        - match: ({{identifier}})\s*(=)           captures:-            1: variable.parameter.output.function.matlab+            1: variable.parameter.output.matlab             2: keyword.operator.assignment.matlab-        - match: '\['-          scope: punctuation.section.brackets.matlab+        - match: \[+          scope: punctuation.section.brackets.begin.matlab           push:-            - match: \b\w+\b-              scope: variable.parameter.output.function.matlab-            - match: ','-              scope: punctuation.separator.matlab-            - match: '\]'-              scope: punctuation.section.brackets.matlab+            - match: '{{identifier}}'+              scope: variable.parameter.output.matlab+            - include: line-continuation+            - match: '{{eol}}'+              set: function-body-arguments+            - include: separator-comma+            - match: \]+              scope: punctuation.section.brackets.end.matlab               pop: true-        - match: '(=)?\s*\b(\w+)\s*(\()'+        - match: =+          scope: keyword.operator.assignment.matlab+        - match: (?:(?:set|get)(\.))?{{identifier}}+          scope: entity.name.function.matlab           captures:-            1: keyword.operator.assignment.matlab-            2: entity.name.function.matlab-            3: punctuation.section.parens.begin.matlab+            1: punctuation.accessor.dot.matlab+        - match: (?=\()           set:             - meta_scope: meta.function.parameters.matlab-            - match: \b\w+\b-              scope: variable.parameter.input.function.matlab-            - match: ','-              scope: punctuation.separator.matlab-            - match: '\)'+            - include: line-continuation+            - match: '{{eol}}'+              set: function-body-arguments+            - match: \(+              scope: punctuation.section.parens.begin.matlab+            - match: '{{identifier}}'+              scope: variable.parameter.input.matlab+            - include: separator-comma+            - include: argument-placeholder+            - match: \)+              scope: punctuation.section.parens.end.matlab+              set: function-body-arguments++  function-body-arguments:+    - meta_content_scope: meta.function.matlab+    - include: comments+    - match: \barguments\b+      scope: keyword.context.arguments.matlab+      push:+        - meta_scope: meta.arguments.matlab+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: eol-pop+            - match: \)               scope: punctuation.section.parens.end.matlab               pop: true-        - match: \b(\w+)\s*(?=%|$)-          captures:-            1: entity.name.function.matlab-          pop: true-  # Matlab keywords-  matlab_constant_language:-    - match: \b(ans|eps|false|Inf|inf|intmax|intmin|namelengthmax|NaN|nan|on|off|realmax|realmin|true|i|j|pi)\b-      comment: MATLAB constants-      scope: constant.language.matlab-  matlab_keyword_analysis:-    - match: \b(abs|addevent|addsample|addsampletocollection|addts|angle|conv|conv2|convn|corrcoef|cov|cplxpair|ctranspose|cumtrapz|deconv|del2|delevent|delsample|delsamplefromcollection|detrend|diff|fft|fft2|fftn|fftshift|fftw|filter|filter2|getabstime|getdatasamplesize|getinterpmethod|getqualitydesc|getsampleusingtime|gettimeseriesnames|gettsafteratevent|gettsafterevent|gettsatevent|gettsbeforeatevent|gettsbeforeevent|gettsbetweenevents|gradient|idealfilter|ifft|ifft2|ifftn|ifftshift|iqr|max|mean|median|min|mldivide|mode|mrdivide|removets|resample|setabstime|setinterpmethod|settimeseriesnames|std|synchronize|timeseries|trapz|tscollection|tsdata.event|tsprops|tstool|var)\b-      comment: Data Analysis-      scope: keyword.analysis.matlab-  matlab_keyword_control:-    - match: \b(break|case|catch|continue|else|elseif|end|for|parfor|if|otherwise|pause|rethrow|return|start|startat|stop|switch|try|wait|while)\b-      comment: Control keywords-      scope: keyword.control.matlab-  matlab_keyword_desktop:-    - match: \b(addpath|assignin|builddocsearchdb|cd|checkin|checkout|clc|clear|clipboard|cmopts|commandhistory|commandwindow|computer|copyfile|customverctrl|dbclear|dbcont|dbdown|dbquit|dbstack|dbstatus|dbstep|dbstop|dbtype|dbup|debug|demo|diary|dir|doc|docopt|docsearch|dos|echodemo|edit|exit|fileattrib|filebrowser|finish|format|genpath|getenv|grabcode|help|helpbrowser|helpwin|home|hostid|info|keyboard|license|lookfor|ls|matlab|matlabrc|matlabroot|memory|mkdir|mlint|mlintrpt|more|movefile|notebook|openvar|pack|partialpath|path|path2rc|pathdef|pathsep|pathtool|perl|playshow|prefdir|preferences|profile|profsave|publish|pwd|quit|recycle|rehash|restoredefaultpath|rmdir|rmpath|savepath|setenv|startup|support|system|toolboxdir|type|undocheckout|unix|ver|verctrl|verLessThan|version|web|what|whatsnew|which|winqueryreg|workspace)\b|(^\s*!.*$)-      comment: Desktop Tools and Development-      scope: keyword.desktop.matlab-  matlab_keyword_mathematics:-    - match: \b(accumarray|acos|acosd|acosh|acot|acotd|acoth|acsc|acscd|acsch|airy|amd|asec|asecd|asech|asin|asind|asinh|atan|atan2|atand|atanh|balance|besselh|besseli|besselj|besselk|bessely|beta|betainc|betaln|bicg|bicgstab|blkdiag|bsxfun|bvp4c|bvpget|bvpinit|bvpset|bvpxtend|cart2pol|cart2sph|cat|cdf2rdf|ceil|cgs|chol|cholinc|cholupdate|circshift|colamd|colperm|compan|complex|cond|condeig|condest|conj|convhull|convhulln|cos|cosd|cosh|cot|cotd|coth|cross|csc|cscd|csch|cumprod|cumsum|dblquad|dde23|ddeget|ddesd|ddeset|decic|det|deval|diag|disp|display|dmperm|dot|eig|eigs|ellipj|ellipke|erf|erfc|erfcinv|erfcx|erfinv|etree|etreeplot|exp|expint|expm|expm1|eye|factor|factorial|find|fix|flipdim|fliplr|flipud|floor|fminbnd|fminsearch|freqspace|full|funm|fzero|gallery|gamma|gammainc|gammaln|gcd|gmres|gplot|griddata|griddata3|griddatan|gsvd|hadamard|hankel|hess|hilb|horzcat|hypot|idivide|ilu|imag|ind2sub|Inf|inline|interp1|interp1q|interp2|interp3|interpft|interpn|inv|invhilb|ipermute|kron|lcm|ldl|legendre|length|linsolve|linspace|log|log10|log1p|log2|logm|logspace|lscov|lsqnonneg|lsqr|lu|luinc|magic|meshgrid|minres|mkpp|mod|NaN|nchoosek|ndgrid|ndims|nextpow2|nnz|nonzeros|norm|normest|nthroot|null|numel|nzmax|ode113|ode15i|ode15s|ode23|ode23s|ode23t|ode23tb|ode45|odefile|odeget|odeset|odextend|ones|optimget|optimset|ordeig|ordqz|ordschur|orth|pascal|pcg|pchip|pdepe|pdeval|perms|permute|pinv|planerot|pol2cart|poly|polyder|polyeig|polyfit|polyint|polyval|polyvalm|pow2|ppval|primes|prod|psi|qmr|qr|qrdelete|qrinsert|qrupdate|quad|quadl|quadv|qz|rand|randn|randperm|rank|rat|rats|rcond|real|reallog|realpow|realsqrt|rem|repmat|reshape|residue|roots|rosser|rot90|round|rref|rsf2csf|schur|sec|secd|sech|shiftdim|sign|sin|sind|sinh|size|sort|sortrows|spalloc|sparse|spaugment|spconvert|spdiags|speye|spfun|sph2cart|spline|spones|spparms|sprand|sprandn|sprandsym|sprank|spy|sqrt|sqrtm|squeeze|ss2tf|sub2ind|subspace|sum|svd|svds|symamd|symbfact|symmlq|symrcm|tan|tand|tanh|toeplitz|trace|treelayout|treeplot|tril|triplequad|triu|unmkpp|unwrap|vander|vectorize|vertcat|wilkinson|zeros)\b-      comment: Mathematics-      scope: keyword.mathematics.matlab-  matlab_keyword_operator:-    - match: \b(all|and|any|bitand|bitcmp|bitget|bitmax|bitor|bitset|bitshift|bitxor|eq|ge|gt|isa|isappdata|iscell|iscellstr|ischar|iscom|isdir|isempty|isequal|isequalwithequalnans|isevent|isfield|isfinite|isfloat|isglobal|ishandle|ishold|isinf|isinteger|isinterface|isjava|iskeyword|isletter|islogical|ismac|ismember|ismethod|isnan|isnumeric|isobject|ispc|ispref|isprime|isprop|isreal|isscalar|issorted|isspace|issparse|isstrprop|isstruct|isstudent|isunix|isvarname|isvector|le|lt|mislocked|or|ne|not|setxor|union|unique|xor)\b-      comment: Operator keywords-      scope: keyword.operator.matlab-  matlab_keyword_other:-    - match: \b(addOptional|addParamValue|addRequired|addtodate|arrayfun|assert|blanks|builtin|calendar|cell|celldisp|cellfun|cellplot|clock|cputime|createCopy|datatipinfo|date|datenum|datestr|datevec|dbmex|deal|deblank|depdir|depfun|echo|eomday|error|etime|eval|evalc|evalin|exist|feval|fieldnames|findstr|func2str|genvarname|getfield|global|inferiorto|inmem|intersect|intwarning|lasterr|lasterror|lastwarn|loadobj|lower|methods|methodsview|mex|mexext|mfilename|mlock|munlock|nargchk|nargoutchk|now|orderfields|parse|pcode|regexp|regexpi|regexprep|regexptranslate|rmfield|run|saveobj|setdiff|setfield|sprintf|sscanf|strcat|strcmp|strcmpi|strfind|strings|strjust|strmatch|strncmp|strncmpi|strread|strrep|strtok|strtrim|structfun|strvcat|subsasgn|subsindex|subsref|substruct|superiorto|swapbytes|symvar|tic|timer|timerfind|timerfindall|toc|typecast|upper|warning|weekday|who|whos)\b-      comment: Other keywords-      scope: keyword.other.matlab-  matlab_storage_control:-    - match: \b(addframe|ascii|audioplayer|audiorecorder|aufinfo|auread|auwrite|avifile|aviinfo|aviread|beep|binary|cdfepoch|cdfinfo|cdfread|cdfwrite|csvread|csvwrite|daqread|dlmread|dlmwrite|exifread|feof|ferror|fgetl|fgets|filehandle|filemarker|fileparts|filesep|fitsinfo|fitsread|fopen|fprintf|fread|frewind|fscanf|fseek|ftell|ftp|fullfile|fwrite|gunzip|gzip|hdf|hdf5|hdf5info|hdf5read|hdf5write|hdfinfo|hdfread|hdftool|imfinfo|importdata|imread|imwrite|lin2mu|load|memmapfile|mget|mmfileinfo|movie2avi|mput|mu2lin|multibandread|multibandwrite|open|rename|save|sendmail|sound|soundsc|tar|tempdir|tempname|textread|textscan|todatenum|uiimport|untar|unzip|urlread|urlwrite|wavfinfo|wavplay|wavread|wavrecord|wavwrite|winopen|wk1finfo|wk1read|wk1write|xlsfinfo|xlsread|xlswrite|xmlread|xmlwrite|xslt|zip)\b-      comment: File I/O-      scope: storage.control.matlab-  matlab_storage_modifier:-    - match: \b(base2dec|bin2dec|cast|cell2mat|cell2struct|cellstr|char|dec2base|dec2bin|dec2hex|hex2dec|hex2num|int2str|mat2cell|mat2str|num2cell|native2unicode|num2hex|num2str|persistent|str2double|str2func|str2mat|str2num|struct2cell|unicode2native)\b-      comment: Storage modifiers-      scope: storage.modifier.matlab-  matlab_storage_type:-    - match: \b(class|double|function|functions|input|inputname|inputParser|int16|int32|int64|int8|logical|single|struct|uint16|uint32|uint64|uint8)\b-      comment: Storage types-      scope: storage.type.matlab-  matlab_support_external:-    - match: \b(actxcontrol|actxcontrollist|actxcontrolselect|actxGetRunningServer|actxserver|addproperty|calllib|callSoapService|createClassFromWsdl|createSoapMessage|ddeadv|ddeexec|ddeinit|ddepoke|ddereq|ddeterm|ddeunadv|deleteproperty|enableservice|eventlisteners|events|Execute|GetCharArray|GetFullMatrix|GetVariable|GetWorkspaceData|import|instrcallback|instrfind|instrfindall|interfaces|invoke|javaaddpath|javaArray|javachk|javaclasspath|javaMethod|javaObject|javarmpath|libfunctions|libfunctionsview|libisloaded|libpointer|libstruct|loadlibrary|MaximizeCommandWindow|MinimizeCommandWindow|move|parseSoapResponse|PutCharArray|PutFullMatrix|PutWorkspaceData|readasync|record|registerevent|release|send|serial|serialbreak|stopasync|unloadlibrary|unregisterallevents|unregisterevent|usejava)\b-      comment: External Interfaces-      scope: support.external.matlab-  matlab_support_function:-    - match: \b(addpref|align|dialog|errordlg|export2wsdlg|getappdata|getpixelposition|getpref|ginput|guidata|guide|guihandles|helpdlg|inputdlg|inspect|listdlg|listfonts|menu|movegui|msgbox|openfig|printdlg|printpreview|questdlg|rmappdata|rmpref|selectmoveresize|setappdata|setpixelposition|setpref|textwrap|uibuttongroup|uicontextmenu|uicontrol|uigetdir|uigetfile|uigetpref|uimenu|uiopen|uipanel|uipushtool|uiputfile|uiresume|uisave|uisetcolor|uisetfont|uisetpref|uistack|uitoggletool|uitoolbar|uiwait|waitbar|waitfor|waitforbuttonpress|warndlg)\b-      comment: Creating Graphical User Interfaces-      scope: support.function.matlab-  matlab_support_graphics:-    - match: \b(alim|allchild|alpha|alphamap|ancestor|annotation|area|axes|axis|bar|bar3|bar3h|barh|box|brighten|camdolly|cameratoolbar|camlight|camlookat|camorbit|campan|campos|camproj|camroll|camtarget|camup|camva|camzoom|caxis|cla|clabel|clf|close|closereq|colorbar|colordef|colormap|colormapeditor|ColorSpec|comet|comet3|compass|coneplot|contour|contour3|contourc|contourf|contourslice|contrast|copyobj|curl|cylinder|daspect|datacursormode|datetick|delaunay|delaunay3|delaunayn|delete|diffuse|divergence|dragrect|drawnow|dsearch|dsearchn|ellipsoid|errorbar|ezcontour|ezcontourf|ezmesh|ezmeshc|ezplot|ezplot3|ezpolar|ezsurf|ezsurfc|feather|figure|figurepalette|fill|fill3|findall|findfigs|findobj|flow|fplot|frame2im|frameedit|gca|gcbf|gcbo|gcf|gco|get|getframe|graymon|grid|gtext|hgexport|hggroup|hgload|hgsave|hgtransform|hidden|hist|histc|hold|hsv2rgb|im2frame|im2java|image|imagesc|imformats|ind2rgb|inpolygon|interpstreamspeed|isocaps|isocolors|isonormals|isosurface|legend|light|lightangle|lighting|line|LineSpec|linkaxes|linkprop|loglog|makehgtform|material|mesh|meshc|meshz|movie|newplot|noanimate|opengl|orient|pan|pareto|patch|pbaspect|pcolor|peaks|pie|pie3|plot|plot3|plotbrowser|plotedit|plotmatrix|plottools|plotyy|polar|polyarea|print|printopt|propedit|propertyeditor|quiver|quiver3|rbbox|rectangle|rectint|reducepatch|reducevolume|refresh|refreshdata|reset|rgb2hsv|rgbplot|ribbon|rose|rotate|rotate3d|saveas|scatter|scatter3|semilogx|semilogy|set|shading|showplottool|shrinkfaces|slice|smooth3|specular|sphere|spinmap|stairs|stem|stem3|stream2|stream3|streamline|streamparticles|streamribbon|streamslice|streamtube|subplot|subvolume|surf|surf2patch|surface|surfc|surfl|surfnorm|tetramesh|texlabel|text|title|trimesh|triplot|trisurf|tsearch|tsearchn|view|viewmtx|volumebounds|voronoi|voronoin|waterfall|whitebg|xlabel|xlim|ylabel|ylim|zlabel|zlim|zoom)\b-      comment: Graphics-      scope: support.function.graphics.matlab-  matlab_support_toolbox_aerospace:-    - match: \b(wrldmagm|updateNodes|updateCamera|updateBodies|update|show|saveas|rrtheta|rrsigma|rrdelta|removeViewpoint|removeNode|removeBody|read|quatrotate|quatnormalize|quatnorm|quatmultiply|quatmod|quatinv|quatdivide|quatconj|quat2dcm|quat2angle|play|nodeInfo|moveBody|move|mjuliandate|machnumber|load|lla2ecef|leapyear|juliandate|initialize|initIfNeeded|hide|gravitywgs84|geoidegm96|geod2geoc|geocradius|geoc2geod|generatePatches|findstartstoptimes|fganimation|ecef2lla|dpressure|delete|decyear|dcmecef2ned|dcmbody2wind|dcm2quat|dcm2latlon|dcm2angle|dcm2alphabeta|datcomimport|createBody|correctairspeed|convvel|convtemp|convpres|convmass|convlength|convforce|convdensity|convangvel|convangacc|convang|convacc|atmospalt|atmosnrlmsise00|atmosnonstd|atmoslapse|atmosisa|atmoscoesa|atmoscira|angle2quat|angle2dcm|alphabeta|airspeed|addViewpoint|addRoute|addNode|addBody|VirtualRealityAnimation|Viewpoint|Node|Geometry|GenerateRunScript|Camera|Body|Animation)\b-      comment: Matlab aerospace toolbox-      scope: support.function.toolbox.aerospace.matlab-  matlab_support_toolbox_bioinformatics:-    - match: \b(zonebackadj|weights|view|traverse|traceplot|topoorder|swalign|svmtrain|svmsmoset|svmclassify|subtree|sptread|showhmmprof|showalignment|shortestpath|seqwordcount|seqtool|seqshowwords|seqshoworfs|seqreverse|seqrcomplement|seqprofile|seqpdist|seqneighjoin|seqmatch|seqlogo|seqlinkage|seqinsertgaps|seqdotplot|seqdisp|seqconsensus|seqcomplement|seq2regexp|select|scfread|samplealign|rnaplot|rnafold|rnaconvert|rna2dna|rmasummary|rmabackadj|revgeneticcode|restrict|reroot|reorder|redgreencmap|rebasecuts|rankfeatures|randseq|randfeatures|ramachandran|quantilenorm|prune|proteinpropplot|proteinplot|profalign|probesetvalues|probesetplot|probesetlookup|probesetlink|probelibraryinfo|plot|phytreewrite|phytreetool|phytreeread|phytree|pfamhmmread|pdist|pdbwrite|pdbread|pdbdistplot|pam|palindromes|optimalleaforder|oligoprop|nwalign|num2goid|nuc44|ntdensity|nt2int|nt2aa|nmercount|mzxmlread|mzxml2peaks|multialignviewer|multialignread|multialign|msviewer|mssgolay|msresample|msppresample|mspeaks|mspalign|msnorm|mslowess|msheatmap|msdotplot|msbackadj|msalign|molweight|molviewer|minspantree|maxflow|mavolcanoplot|mattest|mapcaplot|manorm|malowess|maloglog|mairplot|mainvarsetnorm|maimage|magetfield|mafdr|maboxplot|knnimpute|knnclassify|joinseq|jcampread|isspantree|isomorphism|isoelectric|isdag|int2nt|int2aa|imageneread|hmmprofstruct|hmmprofmerge|hmmprofgenerate|hmmprofestimate|hmmprofalign|graphtraverse|graphtopoorder|graphshortestpath|graphpred2path|graphminspantree|graphmaxflow|graphisspantree|graphisomorphism|graphisdag|graphconncomp|graphcluster|graphallshortestpaths|gprread|gonnet|goannotread|getrelatives|getpdb|getnodesbyid|getnewickstr|getmatrix|gethmmtree|gethmmprof|gethmmalignment|getgeodata|getgenpept|getgenbank|getembl|getedgesbynodeid|getdescendants|getcanonical|getbyname|getblast|getancestors|get|geosoftread|genpeptread|genevarfilter|geneticcode|generangefilter|geneont|genelowvalfilter|geneentropyfilter|genbankread|gcrmabackadj|gcrma|galread|featuresparse|featuresmap|fastawrite|fastaread|exprprofvar|exprprofrange|evalrasmolscript|emblread|dolayout|dndsml|dnds|dna2rna|dimercount|dayhoff|cytobandread|crossvalind|cpgisland|conncomp|codoncount|codonbias|clustergram|cleave|classperf|chromosomeplot|cghcbs|celintensityread|blosum|blastreadlocal|blastread|blastncbi|blastlocal|blastformat|biograph|baselookup|basecount|atomiccomp|aminolookup|allshortestpaths|agferead|affyread|affyprobeseqread|affyprobeaffinities|affyinvarsetnorm|aacount|aa2nt|aa2int)\b-      comment: Matlab bioinformatics toolbox-      scope: support.function.toolbox.bioinformatics.matlab-  matlab_support_toolbox_communications:-    - match: \b(wgn|vitdec|vec2mat|varlms|syndtable|symerr|stdchan|ssbmod|ssbdemod|signlms|shift2mask|seqgen\.pn|seqgen|semianalytic|scatterplot|rsgenpoly|rsencof|rsenc|rsdecof|rsdec|rls|ricianchan|reset|rectpulse|rcosine|rcosiir|rcosflt|rcosfir|rayleighchan|randsrc|randintrlv|randint|randerr|randdeintrlv|quantiz|qfuncinv|qfunc|qammod|qamdemod|pskmod|pskdemod|primpoly|poly2trellis|pmmod|pmdemod|plot|pammod|pamdemod|oqpskmod|oqpskdemod|oct2dec|normlms|noisebw|muxintrlv|muxdeintrlv|mskmod|mskdemod|modnorm|modem\.qammod|modem\.qamdemod|modem\.pskmod|modem\.pskdemod|modem\.pammod|modem\.pamdemod|modem\.oqpskmod|modem\.oqpskdemod|modem\.mskmod|modem\.mskdemod|modem\.genqammod|modem\.genqamdemod|modem\.dpskmod|modem\.dpskdemod|modem|mlseeq|mldivide|minpol|matintrlv|matdeintrlv|mask2shift|marcumq|log|lms|lloyds|lineareq|istrellis|isprimitive|iscatastrophic|intrlv|intdump|ifft|huffmanenco|huffmandict|huffmandeco|hilbiir|helscanintrlv|helscandeintrlv|helintrlv|heldeintrlv|hank2sys|hammgen|gray2bin|gfweight|gftuple|gftrunc|gftable|gfsub|gfroots|gfrepcov|gfrank|gfprimfd|gfprimdf|gfprimck|gfpretty|gfmul|gfminpol|gflineq|gffilter|gfdiv|gfdeconv|gfcosets|gfconv|gfadd|gf|genqammod|genqamdemod|gen2par|fskmod|fskdemod|fmmod|fmdemod|finddelay|filter|fft|fec\.ldpcenc|fec\.ldpcdec|eyediagram|equalize|encode|dvbs2ldpc|dpskmod|dpskdemod|dpcmopt|dpcmenco|dpcmdeco|doppler\.rounded|doppler\.rjakes|doppler\.jakes|doppler\.gaussian|doppler\.flat|doppler\.bigaussian|doppler\.ajakes|doppler|distspec|dftmtx|dfe|deintrlv|decode|de2bi|cyclpoly|cyclgen|cosets|convmtx|convintrlv|convenc|convdeintrlv|compand|commscope\.eyediagram|commscope|cma|bsc|biterr|bin2gray|bi2de|bertool|bersync|berfit|berfading|berconfint|bercoding|berawgn|bchnumerr|bchgenpoly|bchenc|bchdec|awgn|arithenco|arithdeco|ammod|amdemod|alignsignals|algintrlv|algdeintrlv)\b-      comment: Matlab communications toolbox-      scope: support.function.toolbox.communications.matlab-  matlab_support_toolbox_control_systems:-    - match: \b(zpkdata|zpk|zgrid|zero|totaldelay|tfdata|tf|stepplot|stepinfo|step|stack|stabsep|ssdata|ssbal|ss2ss|ss|sminreal|size|sisotool|sisoinit|sigmaplot|sigma|sgrid|setoptions|setdelaymodel|set|series|rss|rlocusplot|rlocus|reshape|reg|real|pzplot|pzmap|pole|place|parallel|pade|ord2|obsvf|obsv|nyquistplot|nyquist|norm|nicholsplot|nichols|ngrid|ndims|modsep|modred|minreal|margin|lyapchol|lyap|ltiview|ltiprops|ltimodels|lsimplot|lsiminfo|lsim|lqry|lqrd|lqr|lqgreg|lqg|lft|kalmd|kalman|issiso|isproper|isempty|isdt|isct|iopzplot|iopzmap|inv|interp|initialplot|initial|impulseplot|impulse|imag|hsvplot|hsvd|hasdelay|gram|getoptions|getdelaymodel|get|gensig|gdare|gcare|fselect|freqresp|frdata|frd|fnorm|filt|feedback|fcat|evalfr|estim|esort|dssdata|dss|dsort|drss|dlyapchol|dlyap|dlqr|delayss|delay2z|dcgain|dare|damp|d2d|d2c|ctrlpref|ctrbf|ctrb|covar|connect|conj|chgunits|care|canon|c2d|bodeplot|bodemag|bode|bandwidth|balred|balreal|augstate|append|allmargin|acker|abs)\b-      comment: Matlab control systems toolbox-      scope: support.function.toolbox.control-systems.matlab-  matlab_support_toolbox_curve_fitting:-    - match: \b(type|smooth|set|probvalues|probnames|predint|plot|numcoeffs|numargs|islinear|integrate|indepnames|get|formula|fittype|fitoptions|fit|feval|excludedata|differentiate|dependnames|datastats|confint|coeffvalues|coeffnames|cftool|cflibhelp|cfit|category|argnames)\b-      comment: Matlab curve fitting toolbox-      scope: support.function.toolbox.curve-fitting.matlab-  matlab_support_toolbox_data_acquisition:-    - match: \b(wait|trigger|stop|start|softscope|size|showdaqevents|setverify|set|save|putvalue|putsample|putdata|propinfo|peekdata|obj2mfile|muxchanidx|makenames|load|length|isvalid|issending|isrunning|islogging|isdioline|ischannel|inspect|getvalue|getsample|getdata|get|flushdata|disp|digitalio|delete|dec2binvec|daqreset|daqregister|daqread|daqmem|daqhwinfo|daqhelp|daqfind|daqcallback|clear|binvec2dec|analogoutput|analoginput|addmuxchannel|addline|addchannel)\b-      comment: Matlab data acquisition toolbox-      scope: support.function.toolbox.data-acquisition.matlab-  matlab_support_toolbox_database:-    - match: \b(width|versioncolumns|update|unregister|tables|tableprivileges|supports|sql2native|setdbprefs|set|runstoredprocedure|rsmd|rows|rollback|resultset|register|querytimeout|querybuilder|procedures|procedurecolumns|primarykeys|ping|namecolumn|logintimeout|isurl|isreadonly|isnullcolumn|isjdbc|isdriver|isconnection|insert|indexinfo|importedkeys|getdatasources|get|fetchmulti|fetch|fastinsert|exportedkeys|exec|drivermanager|driver|dmd|database\.fetch|database|cursor\.fetch|crossreference|confds|commit|columns|columnprivileges|columnnames|cols|close|clearwarnings|bestrowid|attr)\b-      comment: Matlab database toolbox-      scope: support.function.toolbox.database.matlab-  matlab_support_toolbox_datafeed:-    - match: \b(yahoo|tables|stop|stockticker|showtrades|reuters|pricevol|nextinfo|kx|isconnection|insert|info|idc|hyperfeed|havertool|haver|get|fred|fetch|factset|exec|datastream|close|bloomberg)\b-      comment: Matlab datafeed toolbox-      scope: support.function.toolbox.datafeed.matlab-  matlab_support_toolbox_design:-    - match: \b(zplane|zpkshiftc|zpkshift|zpkrateup|zpklp2xn|zpklp2xc|zpklp2mbc|zpklp2mb|zpklp2lp|zpklp2hp|zpklp2bsc|zpklp2bs|zpklp2bpc|zpklp2bp|zpkftransf|zpkbpc2bpc|zerophase|window|validstructures|tf2cl|tf2ca|stepz|specifyall|sos|setspecs|set2int|scaleopts|scalecheck|scale|reset|reorder|reffilter|realizemdl|qreport|polyphase|phasez|phasedelay|parallel|order|nstates|normalizefreq|normalize|norm|noisepsdopts|noisepsd|multistage|msesim|msepred|mfilt\.linearinterp|mfilt\.iirwdfinterp|mfilt\.iirwdfdecim|mfilt\.iirinterp|mfilt\.iirdecim|mfilt\.holdinterp|mfilt\.firtdecim|mfilt\.firsrc|mfilt\.firinterp|mfilt\.firfracinterp|mfilt\.firfracdecim|mfilt\.firdecim|mfilt\.fftfirinterp|mfilt\.farrowsrc|mfilt\.cicinterp|mfilt\.cicdecim|mfilt\.cascade|mfilt|measure|maxstep|limitcycle|lagrange|kaiserwin|isstable|issos|isreal|isminphase|ismaxphase|islinphase|isfir|isallpass|int|info|impz|iirshiftc|iirshift|iirrateup|iirpowcomp|iirpeak|iirnotch|iirls|iirlpnormc|iirlpnorm|iirlp2xn|iirlp2xc|iirlp2mbc|iirlp2mb|iirlp2lp|iirlp2hp|iirlp2bsc|iirlp2bs|iirlp2bpc|iirlp2bp|iirlinphase|iirgrpdelay|iirftransf|iircomb|iirbpc2bpc|ifir|help|grpdelay|gain|freqz|freqsamp|freqrespopts|freqrespest|firtype|firpr2chfb|firnyquist|firminphase|firls|firlpnorm|firlp2lp|firlp2hp|firhalfband|firgr|fireqint|firceqrip|fircband|filtstates\.cic|filterbuilder|filter|fftcoeffs|fdesign\.rsrc|fdesign\.peak|fdesign\.parameq|fdesign\.octave|fdesign\.nyquist|fdesign\.notch|fdesign\.lowpass|fdesign\.isinclp|fdesign\.interpolator|fdesign\.hilbert|fdesign\.highpass|fdesign\.halfband|fdesign\.fracdelay|fdesign\.differentiator|fdesign\.decimator|fdesign\.ciccomp|fdesign\.bandstop|fdesign\.bandpass|fdesign\.arbmagnphase|fdesign\.arbmag|fdesign|fdatool|fcfwrite|farrow|euclidfactors|equiripple|ellip|double|disp|dfilt\.wdfallpass|dfilt\.scalar|dfilt\.parallel|dfilt\.latticemamin|dfilt\.latticemamax|dfilt\.latticearma|dfilt\.latticear|dfilt\.latticeallpass|dfilt\.dfsymfir|dfilt\.dffirt|dfilt\.dffir|dfilt\.dfasymfir|dfilt\.df2tsos|dfilt\.df2t|dfilt\.df2sos|dfilt\.df2|dfilt\.df1tsos|dfilt\.df1t|dfilt\.df1sos|dfilt\.df1|dfilt\.cascadewdfallpass|dfilt\.cascadeallpass|dfilt\.cascade|dfilt\.calatticepc|dfilt\.calattice|dfilt\.allpass|dfilt|designopts|designmethods|design|denormalize|cumsec|cost|convert|coewrite|coeread|coeffs|cl2tf|cheby2|cheby1|ca2tf|butter|block|autoscale|allpassshiftc|allpassshift|allpassrateup|allpasslp2xn|allpasslp2xc|allpasslp2mbc|allpasslp2mb|allpasslp2lp|allpasslp2hp|allpasslp2bsc|allpasslp2bs|allpasslp2bpc|allpasslp2bp|allpassbpc2bpc|adaptfilt\.ufdaf|adaptfilt\.tdafdft|adaptfilt\.tdafdct|adaptfilt\.swrls|adaptfilt\.swftf|adaptfilt\.ss|adaptfilt\.se|adaptfilt\.sd|adaptfilt\.rls|adaptfilt\.qrdrls|adaptfilt\.qrdlsl|adaptfilt\.pbufdaf|adaptfilt\.pbfdaf|adaptfilt\.nlms|adaptfilt\.lsl|adaptfilt\.lms|adaptfilt\.hswrls|adaptfilt\.hrls|adaptfilt\.gal|adaptfilt\.ftf|adaptfilt\.filtxlms|adaptfilt\.fdaf|adaptfilt\.dlms|adaptfilt\.blmsfft|adaptfilt\.blms|adaptfilt\.bap|adaptfilt\.apru|adaptfilt\.ap|adaptfilt\.adjlms|adaptfilt)\b-      comment: Matlab design toolbox-      scope: support.function.toolbox.design.matlab-  matlab_support_toolbox_excel_link:-    - match: \b(matlabsub|matlabinit|matlabfcn|MLUseFullDesktop|MLUseCellArray|MLStartDir|MLShowMatlabErrors|MLPutVar|MLPutMatrix|MLOpen|MLMissingDataAsNaN|MLGetVar|MLGetMatrix|MLGetFigure|MLEvalString|MLDeleteMatrix|MLClose|MLAutoStart|MLAppendMatrix)\b-      comment: Matlab excel link toolbox-      scope: support.function.toolbox.excel-link.matlab-  matlab_support_toolbox_filter_design_hdl_coder:-    - match: \b(generatetbstimulus|generatetb|generatehdl|fdhdltool)\b-      comment: Matlab filter design hdl coder toolbox-      scope: support.function.toolbox.filter-design-hdl-coder.matlab-  matlab_support_toolbox_financial:-    - match: \b(zero2pyld|zero2fwd|zero2disc|zbtyield|zbtprice|yldtbill|yldmat|ylddisc|yearfrac|yeardays|year|xirr|x2mdate|wrkdydif|willpctr|willad|weights2holdings|weekday|wclose|volroc|vertcat|uplus|uminus|uicalendar|ugarchsim|ugarchpred|ugarchllf|ugarch|typprice|tsmovavg|tsmom|tsaccel|tr2bonds|toweekly|totalreturnprice|tosemi|toquoted|toquarterly|tomonthly|todecimal|today|todaily|toannual|times|time2date|tick2ret|thirtytwo2dec|thirdwednesday|tbl2bond|taxedrr|targetreturn|subsref|subsasgn|stochosc|std|spctkd|sortfts|smoothts|size|sharpe|setfield|selectreturn|second|rsindex|rmfield|ret2tick|resamplets|rdivide|pyld2zero|pvvar|pvtrend|pvfix|prtbill|prmat|prdisc|prcroc|prbyzero|power|posvolidx|portvrisk|portstats|portsim|portrand|portopt|portcons|portalpha|portalloc|pointfig|plus|plot|periodicreturns|peravg|pcpval|pcglims|pcgcomp|pcalims|payuni|payper|payodd|payadv|opprofit|onbalvol|nweekdate|now|nomrr|negvolidx|mvnrstd|mvnrobj|mvnrmle|mvnrfish|mtimes|mrdivide|movavg|months|month|mirr|minute|minus|min|merge|medprice|mean|maxdrawdown|max|macd|m2xdate|lweekdate|lpm|log2|log10|log|llow|length|leadts|lbusdate|lagts|issorted|isfield|isequal|iscompatible|isbusday|irr|inforatio|hour|horzcat|holidays|holdings2weights|hist|highlow|hhigh|getnameidx|getfield|geom2arith|fwd2zero|fvvar|fvfix|fvdisc|ftsuniq|ftstool|ftsinfo|ftsgui|ftsbound|fts2mat|fts2ascii|frontier|frontcon|freqstr|freqnum|frac2cur|fpctkd|fints|filter|fillts|fieldnames|fetch|fbusdate|extfield|exp|ewstats|eomday|eomdate|end|emaxdrawdown|elpm|effrr|ecmnstd|ecmnobj|ecmnmle|ecmninit|ecmnhess|ecmnfish|ecmmvnrstd|ecmmvnrobj|ecmmvnrmle|ecmmvnrfish|ecmlsrobj|ecmlsrmle|discrate|disc2zero|diff|depstln|depsoyd|deprdv|depgendb|depfixdb|dec2thirtytwo|daysdif|daysadd|daysact|days365|days360psa|days360isda|days360e|days360|day|datewrkdy|datevec|datestr|datenum|datemnth|datefind|datedisp|dateaxis|date2time|cur2str|cur2frac|cumsum|createholidays|cpnpersz|cpndaysp|cpndaysn|cpndatepq|cpndatep|cpndatenq|cpndaten|cpncount|cov2corr|corr2cov|convertto|convert2sur|chfield|chartfts|chaikvolat|chaikosc|cftimes|cfport|cfdur|cfdates|cfconv|cfamounts|candle|busdays|busdate|boxcox|bollinger|bolling|bndyield|bndspread|bndprice|bnddury|bnddurp|bndconvy|bndconvp|blsvega|blstheta|blsrho|blsprice|blslambda|blsimpv|blsgamma|blsdelta|blkprice|blkimpv|binprice|beytbill|barh|bar3h|bar3|bar|ascii2fts|arith2geom|annuterm|annurate|amortize|adosc|adline|active2abs|acrudisc|acrubond|accrfrac|abs2active)\b-      comment: Matlab financial toolbox-      scope: support.function.toolbox.financial.matlab-  matlab_support_toolbox_financial_derivatives:-    - match: \b(trintreeshape|trintreepath|treeviewer|treeshape|treepath|time2date|swaptionbyhw|swaptionbyhjm|swaptionbybk|swaptionbybdt|swapbyzero|swapbyhw|swapbyhjm|swapbybk|swapbybdt|stockspec|stockoptspec|ratetimes|rate2disc|optstockbyitt|optstockbyeqp|optstockbycrr|optbndbyhw|optbndbyhjm|optbndbybk|optbndbybdt|mmktbyhjm|mmktbybdt|mktrintree|mktree|mkbush|lookbackbyitt|lookbackbyeqp|lookbackbycrr|itttree|itttimespec|ittsens|ittprice|isafin|intenvset|intenvsens|intenvprice|intenvget|insttypes|instswaption|instswap|instsetfield|instselect|instoptstock|instoptbnd|instlookback|instlength|instgetcell|instget|instfloor|instfloat|instfixed|instfind|instfields|instdisp|instdelete|instcompound|instcf|instcap|instbond|instbarrier|instasian|instaddfield|instadd|hwvolspec|hwtree|hwtimespec|hwsens|hwprice|hjmvolspec|hjmtree|hjmtimespec|hjmsens|hjmprice|hedgeslf|hedgeopt|floorbyhw|floorbyhjm|floorbybk|floorbybdt|floatbyzero|floatbyhw|floatbyhjm|floatbybk|floatbybdt|fixedbyzero|fixedbyhw|fixedbyhjm|fixedbybk|fixedbybdt|eqptree|eqptimespec|eqpsens|eqpprice|disc2rate|derivset|derivget|datedisp|date2time|cvtree|crrtree|crrtimespec|crrsens|crrprice|compoundbyitt|compoundbyeqp|compoundbycrr|classfin|cfbyzero|cfbyhw|cfbyhjm|cfbybk|cfbybdt|capbyhw|capbyhjm|capbybk|capbybdt|bushshape|bushpath|bondbyzero|bondbyhw|bondbyhjm|bondbybk|bondbybdt|bkvolspec|bktree|bktimespec|bksens|bkprice|bdtvolspec|bdttree|bdttimespec|bdtsens|bdtprice|barrierbyitt|barrierbyeqp|barrierbycrr|asianbyitt|asianbyeqp|asianbycrr)\b-      comment: Matlab financial derivatives toolbox-      scope: support.function.toolbox.financial-derivatives.matlab-  matlab_support_toolbox_fixed_income:-    - match: \b(zeroyield|zeroprice|tfutyieldbyrepo|tfutpricebyrepo|tfutimprepo|tfutbyyield|tfutbyprice|tbillyield2disc|tbillyield|tbillval01|tbillrepo|tbillprice|tbilldisc2yield|stepcpnyield|stepcpnprice|stepcpncfamounts|psaspeed2rate|psaspeed2default|mbsyield2speed|mbsyield2oas|mbsyield|mbswal|mbsprice2speed|mbsprice2oas|mbsprice|mbspassthrough|mbsoas2yield|mbsoas2price|mbsnoprepay|mbsdury|mbsdurp|mbsconvy|mbsconvp|mbscfamounts|liborprice|liborfloat2fixed|liborduration|convfactor|cfamounts|cdyield|cdprice|cdai|cbprice|bkput|bkfloorlet|bkcaplet|bkcall)\b-      comment: Matlab fixed income toolbox-      scope: support.function.toolbox.fixed-income.matlab-  matlab_support_toolbox_fixed_point:-    - match: \b(zlim|ylim|xlim|wordlength|waterfall|voronoin|voronoi|vertcat|upperbound|uplus|uminus|uint8|uint32|uint16|triu|trisurf|triplot|trimesh|tril|treeplot|transpose|tostring|toeplitz|times|text|surfnorm|surfl|surfc|surf|sum|subsref|subsasgn|sub|stripscaling|streamtube|streamslice|streamribbon|stem3|stem|stairs|squeeze|sqrt|spy|slice|size|single|sign|shiftdim|set|semilogy|semilogx|sdec|scatter3|scatter|savefipref|round|rose|ribbon|rgbplot|reshape|resetlog|reset|rescale|repmat|realmin|realmax|real|range|randquant|quiver3|quiver|quantizer|quantize|pow2|polar|plus|plotyy|plotmatrix|plot3|plot|permute|pcolor|patch|or|oct|nunderflows|numerictype|numberofelements|num2int|num2hex|num2bin|noverflows|not|noperations|ne|ndims|mtimes|mpy|minus|minlog|min|meshz|meshc|mesh|maxlog|max|lt|lsb|lowerbound|loglog|logical|line|length|le|isvector|issigned|isscalar|isrow|isreal|ispropequal|isobject|isnumerictype|isnumeric|isnan|isinf|isfinite|isfimath|isfi|isequal|isempty|iscolumn|ipermute|intmin|intmax|int8|int32|int16|int|innerprodintbits|imag|horzcat|histc|hist|hex2num|hex|hankel|gt|gplot|getmsb|getlsb|get|ge|fractionlength|fplot|flipud|fliplr|flipdim|fipref|fimath|fi|feather|ezsurfc|ezsurf|ezpolar|ezplot3|ezplot|ezmesh|ezcontourf|ezcontour|exponentmin|exponentmax|exponentlength|exponentbias|etreeplot|errorbar|eq|eps|end|double|divide|disp|diag|denormalmin|denormalmax|dec|ctranspose|copyobj|convergent|contourf|contourc|contour3|contour|conj|coneplot|complex|compass|comet3|comet|clabel|buffer|bitxorreduce|bitxor|bitsrl|bitsra|bitsll|bitsliceget|bitshift|bitset|bitror|bitrol|bitorreduce|bitor|bitget|bitconcat|bitcmp|bitandreduce|bitand|bin2num|bin|barh|bar|area|any|and|all|add|abs)\b-      comment: Matlab fixed-point toolbox-      scope: support.function.toolbox.fixed-point.matlab-  matlab_support_toolbox_fuzzy_logic:-    - match: \b(zmf|writefis|trimf|trapmf|surfview|subclust|smf|sigmf|showrule|showfis|sffis|setfis|ruleview|ruleedit|rmvar|rmmf|readfis|psigmf|probor|plotmf|plotfis|pimf|parsrule|newfis|mfedit|mf2mf|mam2sug|getfis|gensurf|genfis3|genfis2|genfis1|gbellmf|gaussmf|gauss2mf|fuzzy|fuzblock|fuzarith|findcluster|fcm|evalmf|evalfis|dsigmf|defuzz|convertfis|anfisedit|anfis|addvar|addrule|addmf)\b-      comment: Matlab fuzzy logic toolbox-      scope: support.function.toolbox.fuzzy-logic.matlab-  matlab_support_toolbox_garch:-    - match: \b(ret2price|price2ret|ppTSTest|ppARTest|ppARDTest|parcorr|lratiotest|lbqtest|lagmatrix|hpfilter|garchsim|garchset|garchpred|garchplot|garchma|garchinfer|garchget|garchfit|garchdisp|garchcount|garchar|dfTSTest|dfARTest|dfARDTest|crosscorr|autocorr|archtest|aicbic)\b-      comment: Matlab GARCH toolbox-      scope: support.function.toolbox.garch.matlab-  matlab_support_toolbox_genetic_algorithms:-    - match: \b(threshacceptbnd|simulannealbnd|saoptimset|saoptimget|psoptimset|psoptimget|psearchtool|patternsearch|gatool|gaoptimset|gaoptimget|gamultiobj|ga)\b-      comment: Matlab genetic algorithms toolbox-      scope: support.function.toolbox.genetic-algorithms.matlab-  matlab_support_toolbox_image_acquisition:-    - match: \b(wait|videoinput|triggerinfo|triggerconfig|trigger|stoppreview|stop|start|set|save|propinfo|preview|peekdata|obj2mfile|load|isvalid|isrunning|islogging|imaqtool|imaqreset|imaqmontage|imaqmem|imaqhwinfo|imaqhelp|imaqfind|getsnapshot|getselectedsource|getdata|get|flushdata|disp|delete|closepreview|clear)\b-      comment: Matlab image acquisition toolbox-      scope: support.function.toolbox.image-acquisition.matlab-  matlab_support_toolbox_image_processing:-    - match: \b(zoom|ycbcr2rgb|xyz2uint16|xyz2double|wiener2|whitepoint|watershed|warp|uintlut|uint8|uint16|truesize|translate|tonemap|tforminv|tformfwd|tformarray|subimage|stretchlim|strel|stdfilt|std2|roipoly|roifilt2|roifill|roicolor|rgbplot|rgb2ycbcr|rgb2ntsc|rgb2ind|rgb2hsv|rgb2gray|regionprops|reflect|rangefilt|radon|qtsetblk|qtgetblk|qtdecomp|psf2otf|poly2mask|pixval|phantom|para2fan|padarray|otf2psf|ordfilt2|ntsc2rgb|normxcorr2|nlfilter|nitfread|nitfinfo|montage|medfilt2|mean2|mat2gray|maketform|makeresampler|makelut|makecform|makeConstrainToRectFcn|label2rgb|lab2uint8|lab2uint16|lab2double|isrgb|isnitf|isind|isicc|isgray|isflat|isbw|iradon|iptwindowalign|iptsetpref|iptremovecallback|iptnum2ordinal|ipticondir|iptgetpref|iptgetapi|iptdemos|iptcheckstrs|iptchecknargin|iptcheckmap|iptcheckinput|iptcheckhandle|iptcheckconn|iptaddcallback|iptSetPointerBehavior|iptPointerManager|iptGetPointerBehavior|ippl|intlut|interfileread|interfileinfo|ind2rgb|ind2gray|imwrite|imview|imtransform|imtophat|imtool|imsubtract|imshow|imscrollpanel|imsave|imrotate|imresize|imregionalmin|imregionalmax|imrect|imreconstruct|imread|impyramid|imputfile|improfile|impositionrect|impoly|impoint|implay|impixelregionpanel|impixelregion|impixelinfoval|impixelinfo|impixel|imoverviewpanel|imoverview|imopen|imnoise|immultiply|immovie|immagbox|imline|imlincomb|imimposemin|imhmin|imhmax|imhist|imhandles|imgetfile|imgcf|imgca|imfreehand|imfinfo|imfilter|imfill|imextendedmin|imextendedmax|imerode|imellipse|imdivide|imdistline|imdisplayrange|imdilate|imcrop|imcontrast|imcontour|imcomplement|imclose|imclearborder|imbothat|imattributes|imapprox|imagemodel|imageinfo|imadjust|imadd|imabsdiff|im2uint8|im2uint16|im2single|im2java2d|im2java|im2int16|im2double|im2col|im2bw|ifftn|ifft2|ifanbeam|idct2|iccwrite|iccroot|iccread|iccfind|hsv2rgb|houghpeaks|houghlines|hough|histeq|hdrread|graythresh|grayslice|graycoprops|graycomatrix|gray2ind|getsequence|getrect|getrangefromclass|getpts|getnhood|getneighbors|getline|getimagemodel|getimage|getheight|fwind2|fwind1|ftrans2|fspecial|fsamp2|freqz2|freqspace|fliptform|findbounds|filter2|fftshift|fftn|fft2|fanbeam|fan2para|entropyfilt|entropy|edgetaper|edge|double|dither|dicomwrite|dicomuid|dicomread|dicomlookup|dicominfo|dicomdict|dicomanon|demosaic|decorrstretch|deconvwnr|deconvreg|deconvlucy|deconvblind|dctmtx|dct2|cpstruct2pairs|cpselect|cpcorr|cp2tform|corr2|convn|convmtx2|conv2|conndef|colorbar|colfilt|col2im|cmunique|cmpermute|checkerboard|bwunpack|bwulterode|bwtraceboundary|bwselect|bwperim|bwpack|bwmorph|bwlabeln|bwlabel|bwhitmiss|bweuler|bwdist|bwboundaries|bwareaopen|bwarea|brighten|blkproc|bestblk|axes2pix|applylut|applycform|analyze75read|analyze75info|adapthisteq)\b-      comment: Matlab image processing toolbox-      scope: support.function.toolbox.image-processing.matlab-  matlab_support_toolbox_instrument_control:-    - match: \b(visa|update|udp|trigger|tmtool|tcpip|stopasync|spoll|size|set|serialbreak|serial|selftest|scanstr|save|resolvehost|remove|record|readasync|query|propinfo|obj2mfile|midtest|midedit|methods|memwrite|memunmap|memread|mempoke|mempeek|memmap|makemid|load|length|iviconfigurationstore|isvalid|invoke|instrreset|instrnotify|instrid|instrhwinfo|instrhelp|instrfindall|instrfind|instrcallback|inspect|icdevice|gpib|geterror|get|fwrite|fscanf|fread|fprintf|fopen|flushoutput|flushinput|fgets|fgetl|fclose|echoudp|echotcpip|disp|disconnect|devicereset|delete|connect|commit|clrdevice|clear|binblockwrite|binblockread|add)\b-      comment: Matlab instrument control toolbox-      scope: support.function.toolbox.instrument-control.matlab-  matlab_support_toolbox_mapping:-    - match: \b(zerom|zero22pi|zdatam-ui|zdatam|wrapToPi|wrapTo360|wrapTo2Pi|wrapTo180|worldmap|worldfilewrite|worldfileread|westof|vmap0ui|vmap0rhead|vmap0read|vmap0data|vinvtran|viewshed|vfwdtran|vec2mtx|utmzoneui|utmzone|utmgeoid|usgsdems|usgsdem|usgs24kdem|usamap|updategeostruct|unwrapMultipart|unitstr|unitsratio|undotrim|undoclip|uimaptbx|trimdata|trimcart|trackui|trackg|track2|track1|track|toRadians|toDegrees|tissot|timezone|timedim|time2str|tightmap|tigerp|tigermif|tgrline|textm|tbase|tagm-ui|tagm|symbolm|surfm|surflsrm|surflm|surfdist|surfacem|str2angle|stem3m|stdm|stdist|spzerom|spcread|smoothlong|sm2rad|sm2nm|sm2km|sm2deg|sizem|showm-ui|showm|showaxes|shapewrite|shaperead|shapeinfo|shaderel|setpostn|setm|setltln|seedm|sectorg|sec2hr|sec2hms|sec2hm|sdtsinfo|sdtsdemread|scxsc|scirclui|scircleg|scircle2|scircle1|scatterm|scaleruler|satbath|rsphere|roundn|rotatetext|rotatem|rootlayr|rhxrh|restack|resizem|removeExtraNanSeparators|refvec2mat|refmat2vec|reducem|reckon|readmtx|readfk5|readfields|rcurve|rad2sm|rad2nm|rad2km|rad2dms|rad2dm|rad2deg|quiverm|quiver3m|qrydata|putpole|projlist|projinv|projfwd|project|previewmap|polyxpoly|polysplit|polymerge|polyjoin|polycut|polybool|poly2fv|poly2cw|poly2ccw|polcmap|plotm|plot3m|plabel|pixcenters|pix2map|pix2latlon|pcolorm|patchm|patchesm|parallelui|paperscale|panzoom|originui|org2pol|onem|npi2pi|northarrow|nm2sm|nm2rad|nm2km|nm2deg|newpole|neworig|navfix|nanm|nanclip|namem|n2ecc|mobjects|mlayers|mlabelzero22pi|mlabel|minvtran|minaxis|mfwdtran|meshm|meshlsrm|meshgrat|meridianfwd|meridianarc|meanm|mdistort|mat2hms|mat2dms|mapview|maptrims|maptrimp|maptriml|maptrim|maptool|mapshow|maps|mapprofile|mapoutline|maplist|mapbbox|map2pix|makesymbolspec|makerefmat|makemapped|makedbfspec|makeattribspec|majaxis|lv2ecef|ltln2val|los2|linem|linecirc|limitm|lightmui|lightm|legs|lcolorbar|latlon2pix|kmlwrite|km2sm|km2rad|km2nm|km2deg|ispolycw|ismapped|ismap|isShapeMultipart|intrplon|intrplat|interpm|inputm|ind2rgb8|imbedm|hr2sec|hr2hms|hr2hm|hms2sec|hms2mat|hms2hr|hms2hm|histr|hista|hidem-ui|hidem|handlem-ui|handlem|gtopo30s|gtopo30|gtextm|gshhs|grn2eqa|gridm|grid2image|grepfields|gradientm|globedems|globedem|getworldfilename|getseeds|getm|geotiffread|geotiffinfo|geotiff2mstruct|geoshow|geoloc2grid|geodetic2geocentricLat|geodetic2ecef|geocentric2geodeticLat|gcxsc|gcxgc|gcwaypts|gcpmap|gcm|gc2sc|fromRadians|fromDegrees|framem|flatearthpoly|flat2ecc|fipsname|findm|filterm|fillm|fill3m|extractm|extractfield|etopo5|etopo|eqa2grn|epsm|encodem|ellipse1|elevation|egm96geoid|ecef2lv|ecef2geodetic|ecc2n|ecc2flat|eastof|dteds|dted|driftvel|driftcorr|dreckon|dms2rad|dms2mat|dms2dm|dms2degrees|dms2deg|dm2degrees|distortcalc|distdim|distance|dist2str|displaym|departure|demdataui|demcmap|degrees2dms|degrees2dm|deg2sm|deg2rad|deg2nm|deg2km|deg2dms|deg2dm|defaultm|dcwrhead|dcwread|dcwgaz|dcwdata|daspectm|crossfix|convertlat|contourm|contourfm|contourcmap|contour3m|cometm|comet3m|combntns|colorui|colorm|cmapui|clrmenu|closePolygonParts|clmo-ui|clmo|clma|clipdata|clegendm|clabelm|circcirc|changem|cart2grn|camupm|camtargm|camposm|bufferm|azimuth|axesscale|axesmui|axesm|axes2ecc|avhrrlambert|avhrrgoode|areaquad|areamat|areaint|arcgridread|antipode|angledim|angl2str|almanac)\b-      comment: Matlab mapping toolbox-      scope: support.function.toolbox.mapping.matlab-  matlab_support_toolbox_model_based_calibration:-    - match: \b(modelinput|getAlternativeTypes|getAlternativeNames|YData|XDataNames|XData|Widths|Values|Value|UserVariables|UpdateResponseFeatures|UpdateResponse|Units|Type|TestPlans|TestFilters|SummaryStatisticsForTest|SummaryStatistics|StepwiseStatus|StepwiseSelection|StepwiseRegression|Status|StatisticsDialog|SizeOfParameterSet|SingleVIF|SignalUnits|SignalNames|SetupDialog|SetTermStatus|SaveAs|Save|RollbackEdit|RestoreDataForTest|RestoreData|Responses|ResponseSignalName|Response|RemoveVariable|RemoveTestFilter|RemoveOutliersForTest|RemoveOutliers|RemoveFilter|RemoveData|Remove|RecordsPerTest|Properties|PredictedValueForTest|PredictedValue|PartialVIF|Parameters|ParameterStatistics|PEVForTest|PEV|Owner|OutputData|OutlierIndicesForTest|OutlierIndices|NumberOfTests|NumberOfRecords|NumberOfParameters|NumberOfInputs|New|Names|Name|MultipleVIF|ModifyVariable|ModifyTestFilter|ModifyFilter|Modified|ModelSetup|ModelForTest|Model|MakeHierarchicalResponse|LocalResponses|LoadProject|Load|Levels|Level|Jacobian|IsEditable|IsBeingEdited|IsAlternative|InputsPerLevel|Inputs|InputSignalNames|InputSetupDialog|InputData|ImportFromMBCDataStructure|ImportFromFile|GetTermStatus|GetTermLabel|GetIncludedTerms|GetDesignMatrix|GetAllTerms|FitAlgorithm|Fit|Filters|Filename|ExportToMBCDataStructure|Export|Evaluate|DoubleResponseData|DoubleInputData|DiagnosticStatistics|DetachData|DefineTestGroups|DefineNumberOfRecordsPerTest|DefaultModels|DataFileTypes|Data|CreateTestplan|CreateResponseFeature|CreateResponse|CreateProject|CreateModel|CreateData|CreateAlternativeModels|CreateAlgorithm|Covariance|Correlation|CopyData|CommitEdit|ChooseAsBest|Centers|BoxCoxSSE|BeginEdit|AttachData|Append|AlternativeResponses|AlternativeModelStatistics|AliasMatrix|AddVariable|AddTestFilter|AddFilter)\b-      comment: Matlab model-based calibration toolbox-      scope: support.function.toolbox.model-based-calibration.matlab-  matlab_support_toolbox_model_predictive_control:-    - match: \b(zpk|trim|tf|ss|size|sim|setoutdist|setname|setmpcsignals|setmpcdata|setindist|setestim|set|qpdantz|plot|pack|mpcverbosity|mpcstate|mpcsimopt|mpcprops|mpcmove|mpchelp|mpc|getoutdist|getname|getmpcdata|getindist|getestim|get|d2d|compare|cloffset)\b-      comment: Matlab model predictive control toolbox-      scope: support.function.toolbox.model-predictive-control.matlab-  matlab_support_toolbox_neural_network:-    - match: \b(vec2ind|tribas|trainscg|trains|trainrp|trainr|trainoss|trainlm|traingdx|traingdm|traingda|traingd|traincgp|traincgf|traincgb|trainc|trainbr|trainbfgc|trainbfg|trainb|train|tansig|sse|srchhyb|srchgol|srchcha|srchbre|srchbac|sp2narx|softmax|sim|setx|seq2con|scalprod|satlins|satlin|revert|removerows|removeconstantrows|randtop|rands|randnr|randnc|radbas|quant|purelin|processpca|postreg|poslin|pnormc|plotvec|plotv|plotsom|plotpv|plotperf|plotpc|plotes|plotep|plotbr|normr|normprod|normc|nntool|nnt2som|nnt2rb|nnt2p|nnt2lvq|nnt2lin|nnt2hop|nnt2ff|nnt2elm|nnt2c|nftool|newsom|newrbe|newrb|newpnn|newp|newnarxsp|newnarx|newlvq|newlrn|newlind|newlin|newhop|newgrnn|newfftd|newff|newelm|newdtdnn|newcf|newc|network|netsum|netprod|netinv|negdist|mseregec|msereg|mse|minmax|midpoint|maxlinlr|mapstd|mapminmax|mandist|mae|logsig|linkdist|learnwh|learnsom|learnpn|learnp|learnos|learnlv2|learnlv1|learnk|learnis|learnhd|learnh|learngdm|learngd|learncon|initzero|initwb|initnw|initlay|initcon|init|ind2vec|hintonwb|hintonw|hextop|hardlims|hardlim|gridtop|getx|gensim|fixunknowns|errsurf|dotprod|dividerand|divideint|divideind|divideblock|dist|display|disp|convwf|concur|con2seq|compet|combvec|calcperf|calcpd|calcjx|calcjejj|calcgx|boxdist|adapt)\b-      comment: Matlab neural network toolbox-      scope: support.function.toolbox.neural-network.matlab-  matlab_support_toolbox_opc:-    - match: \b(writeasync|write|wait|trend|stop|start|showopcevents|set|serveritems|serveritemprops|save|removepublicgroup|refresh|readasync|read|propinfo|peekdata|openosf|opctool|opcsupport|opcstruct2timeseries|opcstruct2array|opcserverinfo|opcreset|opcregister|opcread|opcqstr|opcqparts|opcqid|opchelp|opcfind|opcda|opccallback|obj2mfile|makepublic|load|isvalid|getnamespace|getdata|get|genslwrite|genslread|flushdata|flatnamespace|disp|disconnect|delete|copyobj|connect|clonegroup|cleareventlog|cancelasync|additem|addgroup)\b-      comment: Matlab OPC toolbox-      scope: support.function.toolbox.opc.matlab-  matlab_support_toolbox_optimization:-    - match: \b(quadprog|optimtool|optimset|optimget|lsqnonneg|lsqnonlin|lsqlin|lsqcurvefit|linprog|gangstr|fzmult|fzero|fsolve|fseminf|fminunc|fminsearch|fminimax|fmincon|fminbnd|fgoalattain|color|bintprog)\b-      comment: Matlab optimization toolbox-      scope: support.function.toolbox.optimization.matlab-  matlab_support_toolbox_rf:-    - match: \b(writeva|write|timeresp|smith|setop|semilogy|semilogx|rfmodel\.rational|rfdata\.power|rfdata\.noise|rfdata\.nf|rfdata\.network|rfdata\.mixerspur|rfdata\.ip3|rfdata\.data|rfckt\.txline|rfckt\.twowire|rfckt\.shuntrlc|rfckt\.seriesrlc|rfckt\.series|rfckt\.rlcgline|rfckt\.passive|rfckt\.parallelplate|rfckt\.parallel|rfckt\.mixer|rfckt\.microstrip|rfckt\.lclowpasstee|rfckt\.lclowpasspi|rfckt\.lchighpasstee|rfckt\.lchighpasspi|rfckt\.lcbandstoptee|rfckt\.lcbandstoppi|rfckt\.lcbandpasstee|rfckt\.lcbandpasspi|rfckt\.hybridg|rfckt\.hybrid|rfckt\.delay|rfckt\.datafile|rfckt\.cpw|rfckt\.coaxial|rfckt\.cascade|rfckt\.amplifier|restore|read|polar|plotyy|plot|loglog|listparam|listformat|impulse|getz0|getop|freqresp|extract|circle|calculate|analyze)\b-      comment: Matlab RF toolbox-      scope: support.function.toolbox.rf.matlab-  matlab_support_toolbox_robust_control:-    - match: \b(wcsens|wcnorm|wcmargin|wcgopt|wcgain|usubs|uss|usimsamp|usiminfo|usimfill|usample|ureal|uplot|umat|ultidyn|ufrd|udyn|ucomplexm|ucomplex|sysic|symdec|stack|stabproj|squeeze|slowfast|skewdec|simplify|showlmi|setmvar|setlmis|sectf|sdlsim|sdhinfsyn|sdhinfnorm|schurmr|robuststab|robustperf|robopt|repmat|reduce|randuss|randumat|randatom|quadstab|quadperf|pvinfo|pvec|psys|psinfo|popov|polydec|pdsimul|pdlstab|normalized2actual|newlmi|ncfsyn|ncfmr|ncfmargin|mussvextract|mussv|msfsyn|modreal|mktito|mkfilter|mixsyn|mincx|matnbr|mat2dec|ltrsyn|ltiarray2uss|loopsyn|loopsens|loopmargin|lmivar|lmiterm|lmireg|lminbr|lmiinfo|lmiedit|lftdata|isuncertain|ispsys|imp2ss|imp2exp|icsignal|iconnect|icomplexify|hinfsyn|hinfgs|hankelsv|hankelmr|h2syn|h2hinfsyn|gridureal|gevp|getlmis|genphase|gapmetric|fitmagfrd|fitfrd|feasp|evallmi|drawmag|dmplot|dksyn|dkitopt|diag|delmvar|dellmi|defcx|decnbr|decinfo|decay|dec2mat|dcgainmr|cpmargin|complexify|cmsclsyn|bstmr|bilin|balancmr|augw|aff2pol|actual2normalized)\b-      comment: Matlab robust control toolbox-      scope: support.function.toolbox.robust-control.matlab-  matlab_support_toolbox_signal_processing:-    - match: \b(zplane|zp2tf|zp2ss|zp2sos|zerophase|yulewalk|xcov|xcorr2|xcorr|wvtool|wintool|window|vco|upsample|upfirdn|unwrap|uencode|udecode|tukeywin|tripuls|triang|tfestimate|tf2zpk|tf2zp|tf2ss|tf2sos|tf2latc|taylorwin|strips|stmcb|stepz|ss2zp|ss2tf|ss2sos|square|sptool|spectrum\.yulear|spectrum\.welch|spectrum\.periodogram|spectrum\.music|spectrum\.mtm|spectrum\.mcov|spectrum\.eigenvector|spectrum\.cov|spectrum\.burg|spectrum|spectrogram|sosfilt|sos2zp|sos2tf|sos2ss|sos2cell|sinc|sigwin|sgolayfilt|sgolay|seqperiod|schurrc|sawtooth|rootmusic|rooteig|rlevinson|residuez|resample|rectwin|rectpuls|rceps|rc2poly|rc2lar|rc2is|rc2ac|pyulear|pwelch|pulstran|prony|pow2db|polystab|polyscale|poly2rc|poly2lsf|poly2ac|pmusic|pmtm|pmcov|phasez|phasedelay|periodogram|peig|pcov|pburg|parzenwin|nuttallwin|mscohere|modulate|medfilt1|maxflat|lsf2poly|lpc|lp2lp|lp2hp|lp2bs|lp2bp|levinson|latcfilt|latc2tf|lar2rc|kaiserord|kaiser|is2rc|invfreqz|invfreqs|intfilt|interp|impz|impinvar|ifft2|ifft|idct|icceps|hilbert|hann|hamming|grpdelay|goertzel|gmonopuls|gausswin|gaussfir|gauspuls|fvtool|freqz|freqspace|freqs|flattopwin|firrcos|firpmord|firpm|firls|fircls1|fircls|fir2|fir1|findpeaks|filtstates\.dfiir|filtstates|filtic|filtfilt|filternorm|filter2|filter|fftshift|fftfilt|fft2|fft|fdatool|eqtflength|ellipord|ellipap|ellip|dspfwiz|dspdata\.pseudospectrum|dspdata\.psd|dspdata\.msspectrum|dspdata|dpsssave|dpssload|dpssdir|dpssclear|dpss|downsample|diric|digitrevorder|dftmtx|dfilt\.statespace|dfilt\.scalar|dfilt\.parallel|dfilt\.latticemamin|dfilt\.latticemamax|dfilt\.latticearma|dfilt\.latticear|dfilt\.latticeallpass|dfilt\.fftfir|dfilt\.dfsymfir|dfilt\.dffirt|dfilt\.dffir|dfilt\.dfasymfir|dfilt\.df2tsos|dfilt\.df2t|dfilt\.df2sos|dfilt\.df2|dfilt\.df1tsos|dfilt\.df1t|dfilt\.df1sos|dfilt\.df1|dfilt\.delay|dfilt\.cascade|dfilt|demod|deconv|decimate|dct|db2pow|czt|cpsd|cplxpair|cov|corrmtx|corrcoef|convmtx|conv2|conv|chirp|cheby2|cheby1|chebwin|cheb2ord|cheb2ap|cheb1ord|cheb1ap|cfirpm|cell2sos|cconv|cceps|buttord|butter|buttap|buffer|bohmanwin|blackmanharris|blackman|bitrevorder|bilinear|besself|besselap|bartlett|barthannwin|aryule|armcov|arcov|arburg|angle|ac2rc|ac2poly|abs)\b-      comment: Matlab signal processing toolbox-      scope: support.function.toolbox.signal-processing.matlab-  matlab_support_toolbox_spline:-    - match: \b(tpaps|titanium|subplus|stmak|stcol|spterms|sprpp|spmak|splpp|splinetool|spcrv|spcol|spaps|spapi|spap2|sorted|slvblk|rsmak|rscvn|rpmak|ppmak|optknt|newknt|knt2mlt|knt2brk|getcurve|franke|fnzeros|fnxtr|fnval|fntlr|fnrfn|fnplt|fnmin|fnjmp|fnint|fndir|fnder|fncmb|fnchg|fnbrk|fn2fm|cscvn|csaps|csapi|csape|chbpnt|bspline|bspligui|brk2knt|bkbrk|aveknt|augknt|aptknt)\b-      comment: Matlab spline toolbox-      scope: support.function.toolbox.spline.matlab-  matlab_support_toolbox_statistics:-    - match: \b(ztest|zscore|x2fx|wishrnd|wblstat|wblrnd|wblplot|wblpdf|wbllike|wblinv|wblfit|wblcdf|view|vartestn|vartest2|vartest|var|upperparams|unifstat|unifrnd|unifpdf|unifit|unifinv|unifcdf|unidstat|unidrnd|unidpdf|unidinv|unidcdf|type|ttest2|ttest|tstat|trnd|trimmean|treeval|treetest|treeprune|treefit|treedisp|tpdf|tinv|tiedrank|test|tdfread|tcdf|tblwrite|tblread|tabulate|surfht|summary|stepwisefit|stepwise|std|statset|statget|squareform|sortrows|sort|slicesample|skewness|silhouette|signtest|signrank|setlabels|set|segment|scatterhist|sampsizepwr|runstest|rstool|rsmdemo|rowexch|rotatefactors|robustfit|robustdemo|risk|ridge|replacedata|reorderlevels|regstats|regress|refline|refcurve|rcoplot|raylstat|raylrnd|raylpdf|raylinv|raylfit|raylcdf|ranksum|range|randtool|randsample|random|randg|quantile|qqplot|prune|procrustes|probplot|princomp|prctile|posterior|polyval|polytool|polyfit|polyconf|poisstat|poissrnd|poisspdf|poissinv|poissfit|poisscdf|perms|pearsrnd|pdist|pdf|pcares|pcacov|partialcorr|paretotails|pareto|parent|parallelcoords|ordinal|numnodes|nsegments|normstat|normspec|normrnd|normplot|normpdf|normlike|norminv|normfit|normcdf|nominal|nodesize|nodeprob|nodeerr|nlpredci|nlparci|nlintool|nlinfit|ncx2stat|ncx2rnd|ncx2pdf|ncx2inv|ncx2cdf|nctstat|nctrnd|nctpdf|nctinv|nctcdf|ncfstat|ncfrnd|ncfpdf|ncfinv|ncfcdf|nbinstat|nbinrnd|nbinpdf|nbininv|nbinfit|nbincdf|nanvar|nansum|nanstd|nanmin|nanmedian|nanmean|nanmax|nancov|mvtrnd|mvtpdf|mvtcdf|mvregresslike|mvregress|mvnrnd|mvnpdf|mvncdf|multivarichart|multcompare|moment|mode|mnrval|mnrnd|mnrfit|mnpdf|mlecov|mle|mhsample|mergelevels|median|mean|mdscale|manovacluster|manova1|maineffectsplot|mahal|mad|lsqnonneg|lsline|lscov|lowerparams|lognstat|lognrnd|lognpdf|lognlike|logninv|lognfit|logncdf|linkage|linhyptest|lillietest|lhsnorm|lhsdesign|leverage|levelcounts|kurtosis|kstest2|kstest|ksdensity|kruskalwallis|kmeans|join|johnsrnd|jbtest|jackknife|iwishrnd|isundefined|ismember|islevel|isbranch|iqr|invpred|interactionplot|inconsistent|icdf|hygestat|hygernd|hygepdf|hygeinv|hygecdf|hougen|hmmviterbi|hmmtrain|hmmgenerate|hmmestimate|hmmdecode|histfit|hist3|hist|harmmean|hadamard|gscatter|grpstats|grp2idx|gpstat|gprnd|gppdf|gplotmatrix|gplike|gpinv|gpfit|gpcdf|gname|gmdistribution|glyphplot|glmval|glmfit|gline|gevstat|gevrnd|gevpdf|gevlike|gevinv|gevfit|gevcdf|getlabels|get|geostat|geornd|geopdf|geomean|geoinv|geocdf|gamstat|gamrnd|gampdf|gamlike|gaminv|gamfit|gamcdf|gagerr|fullfact|fsurfht|fstat|frnd|friedman|fracfactgen|fracfact|fpdf|fit|finv|ff2n|fcdf|factoran|expstat|exprnd|exppdf|explike|expinv|expfit|expcdf|evstat|evrnd|evpdf|evlike|evinv|evfit|evcdf|eval|errorbar|ecdfhist|ecdf|dwtest|dummyvar|droplevels|disttool|dfittool|dendrogram|dcovary|daugment|datasetfun|dataset|cutvar|cuttype|cutpoint|cutcategories|crosstab|coxphfit|cov|corrcov|corrcoef|corr|cordexch|copulastat|copularnd|copulapdf|copulaparam|copulafit|copulacdf|cophenet|controlrules|controlchart|combnk|cmdscale|clusterdata|cluster|classregtree|classprob|classify|classcount|cholcov|children|chi2stat|chi2rnd|chi2pdf|chi2inv|chi2gof|chi2cdf|cdfplot|cdf|ccdesign|casewrite|caseread|capaplot|capability|canoncorr|candgen|candexch|boxplot|boundary|bootstrp|bootci|biplot|binostat|binornd|binopdf|binoinv|binofit|binocdf|betastat|betarnd|betapdf|betalike|betainv|betafit|betacdf|bbdesign|barttest|aoctool|ansaribradley|anovan|anova2|anova1|andrewsplot|addlevels|addedvarplot)\b-      comment: Matlab statistics toolbox-      scope: support.function.toolbox.statistics.matlab-  matlab_support_toolbox_symbolic_math:-    - match: \b(ztrans|zeta|vpa|uint8|uint64|uint32|uint16|triu|tril|taylortool|taylor|symsum|syms|sym2poly|sym|svd|subs|subexpr|sort|solve|size|sinint|single|simplify|simple|rsums|rref|round|real|rank|quorem|procread|pretty|poly2sym|poly|numden|null|mod|mhelp|mfunlist|mfun|mapleinit|maple|log2|log10|limit|latex|laplace|lambertw|jordan|jacobian|iztrans|inv|int8|int64|int32|int16|int|imag|ilaplace|ifourier|hypergeom|horner|heaviside|funtool|frac|fourier|fortran|floor|fix|finverse|findsym|factor|ezsurfc|ezsurf|ezpolar|ezplot3|ezplot|ezmeshc|ezmesh|ezcontourf|ezcontour|expm|expand|eq|eig|dsolve|double|dirac|digits|diff|diag|det|cosint|conj|compose|colspace|collect|coeffs|ceil|ccode)\b-      comment: Matlab symbolic math toolbox-      scope: support.function.toolbox.symbolic-math.matlab-  matlab_support_toolbox_system_identification:-    - match: \b(zpkdata|zpk|wavenet|view|unitgain|treepartition|timestamp|tfdata|tf|struc|step|ssdata|ss|spafdr|spa|size|simsd|sim|sigmoidnet|setstruc|setpname|setpar|setinit|set|selstruc|segment|saturation|rplr|rpem|roe|resid|resample|realdata|rbj|rarx|rarmax|pzmap|pwlinear|present|predict|polyreg|polydata|poly1d|plot|pexcit|pem|pe|oe|nyquist|nuderst|noisecnv|nlhw|nlarx|nkshift|neuralnet|n4sid|misdata|midprefs|merge|lintan|linear|linapp|ivx|ivstruc|ivar|iv4|isreal|init|impulse|ifft|idss|idresamp|idproc|idpoly|idnlmodel|idnlhw|idnlgrey|idnlarx|idmodel|idmdlsim|idinput|idgrey|idfrd|idfilt|ident|iddata|idarx|getreg|getpar|getinit|getexp|get|fselect|freqresp|frd|fpe|fft|ffplot|feedback|fcat|evaluate|etfe|diff|detrend|delayest|deadzone|d2c|customreg|customnet|cra|covf|compare|c2d|bode|bj|balred|arxstruc|arxdata|arx|armax|ar|aic|advice|addreg|EstimationInfo)\b-      comment: Matlab system identification toolbox-      scope: support.function.toolbox.system-identification.matlab-  matlab_support_toolbox_virtual_reality:-    - match: \b(vrworld|vrwhos|vrwho|vrview|vrspacemouse|vrsetpref|vrrotvec2mat|vrrotvec|vrrotmat2vec|vrplay|vrori2dir|vrnode|vrlib|vrjoystick|vrinstall|vrgetpref|vrfigure|vrdrawnow|vrdir2ori|vrclose|vrclear)\b-      comment: Matlab virtual reality toolbox-      scope: support.function.toolbox.virtual-reality.matlab-  matlab_support_toolbox_wavelet:-    - match: \b(wvarchg|wtreemgr|wthrmngr|wthresh|wthcoef2|wthcoef|wtbxmngr|wtbo|wscalogram|write|wrev|wrcoef2|wrcoef|wpviewcf|wptree|wpthcoef|wpsplt|wprec2|wprec|wprcoef|wpjoin|wpfun|wpdencmp|wpdec2|wpdec|wpcutree|wpcoef|wpbmpen|wp2wtree|wnoisest|wnoise|wmulden|wmspca|wmaxlev|wkeep|wfusmat|wfusimg|wfilters|wfbmesti|wfbm|wextend|wentropy|wenergy2|wenergy|wdencmp|wden|wdcenergy|wdcbm2|wdcbm|wcodemat|wbmpen|waverec2|waverec|wavenames|wavemngr|wavemenu|waveinfo|wavefun2|wavefun|wavedemo|wavedec2|wavedec|wave2lp|upwlev2|upwlev|upcoef2|upcoef|treeord|treedpth|tnodes|thselect|symwavf|symaux|swt2|swt|shanwavf|set|scal2frq|readtree|read|rbiowavf|qmf|plot|pat2cwav|orthfilt|ntree|ntnode|noleaves|nodesplt|nodepar|nodejoin|nodedesc|nodeasc|mswthresh|mswden|mswcmptp|mswcmpscr|mswcmp|morlet|meyeraux|meyer|mexihat|mdwtrec|mdwtdec|mdwtcluster|lwtcoef2|lwtcoef|lwt2|lwt|lsinfo|ls2filt|liftwave|liftfilt|leaves|laurpoly|laurmat|iswt2|iswt|istnode|isnode|intwave|ind2depo|ilwt2|ilwt|idwt2|idwt|get|gauswavf|filt2ls|fbspwavf|entrupd|dyadup|dyaddown|dwtmode|dwt2|dwt|dtree|drawtree|displs|disp|detcoef2|detcoef|depo2ind|ddencmp|dbwavf|dbaux|cwt|coifwavf|cmorwavf|chgwdeccfs|cgauwavf|cfs2wpt|centfrq|bswfun|biorwavf|biorfilt|besttree|bestlevt|appcoef2|appcoef|allnodes|addlift)\b-      comment: Matlab wavelet toolbox-      scope: support.function.toolbox.wavelet.matlab-  matlab_variable_function:-    - match: \b(nargin|nargout|varargin|varargout)\b-      comment: MATLAB variables-      scope: variable.other.function.matlab-  matlab_oop:-    - match: \b(classdef)\b-      scope: keyword.other.oop.matlab+            - match: \bRepeating\b+              scope: variable.parameter.attribute.matlab+        - match: '{{eol}}'+          set:+            - meta_scope: meta.arguments.matlab+            - match: \bend\b+              scope: keyword.control.end.arguments.matlab+              pop: true+            - match: \b\.\?+              scope: keyword.operator.properties.matlab+            - include: argument-placeholder+            - include: builtin-types+            - include: expressions+    - match: (?=\S)+      set: function-body++  function-body:+    - meta_scope: meta.function.matlab+    - match: \bend\b+      scope: keyword.control.end.function.matlab+      pop: true+    - include: function-declaration+    - include: keywords+    - include: expressions++  class-declaration:+    - match: \bclassdef\b+      scope: keyword.declaration.class.matlab       push:-        - meta_scope: meta.classdef.matlab+        - meta_scope: meta.class.matlab+        - include: eol-pop         - match: \(-          scope: punctuation.definition.properties.begin.matlab+          scope: punctuation.section.parens.begin.matlab           push:-            - meta_scope: meta.properties.matlab+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop             - match: \)-              scope: punctuation.definition.properties.end.matlab+              scope: punctuation.section.parens.end.matlab               pop: true-            - match: ','-              scope: punctuation.separator.matlab-            - match: \b(Abstract|AllowedSubclasses|ConstructOnLoad|HandleCompatible|Hidden|InferiorClasses|Sealed)\s*(=)-              captures:-                1: variable.parameter.matlab-                2: keyword.operator.symbols.matlab-            - match: \b(false|true)\b-              scope: constant.language.matlab-        - match : \b(\w+)\b(?:\s*(<)\s*(\w+))?-          captures:-            1: entity.name.class.matlab-            2: punctuation.definition.inheritance.matlab-            3: entity.other.inherited-class.matlab+            # https://www.mathworks.com/help/matlab/matlab_oop/class-attributes.html+            - match: \b(?:Abstract|AllowedSubclasses|ConstructOnLoad|HandleCompatible|Hidden|InferiorClasses|Sealed)\b+              scope: variable.parameter.attribute.matlab+            - include: expressions+        - match: '{{identifier}}'+          scope: entity.name.class.matlab+          set:+            - meta_content_scope: meta.class.matlab+            - include: line-continuation+            - match: '{{eol}}'+              set: class-body+            - match: <+              scope: punctuation.separator.inheritance.matlab+              set:+                - meta_content_scope: meta.class.matlab+                - include: line-continuation+                - match: '{{eol}}'+                  set: class-body+                - match: '{{identifier}}'+                  scope: entity.other.inherited-class.matlab+                - match: \&+                  scope: punctuation.separator.sequence.matlab++  class-body:+    - meta_scope: meta.class.matlab+    - match: \bend\b+      scope: keyword.control.end.class.matlab+      pop: true+    - include: comments+    - include: class-properties+    - include: class-methods+    - include: class-events+    - include: class-enumeration++  class-properties:+    - match: \bproperties\b+      scope: keyword.declaration.properties.matlab+      push:+        - meta_scope: meta.properties.matlab+        - match: '{{eol}}'+          set: class-properties-body+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop+            - match: \)+              scope: punctuation.section.parens.end.matlab+              pop: true+            # https://www.mathworks.com/help/matlab/matlab_oop/property-attributes.html+            - match: \b(?:AbortSet|Abstract|Access|Constant|Dependent|GetAccess|GetObservable|Hidden|NonCopyable|PartialMatchPriority|SetAccess|SetObservable|Transient)\b+              scope: variable.parameter.attribute.matlab+            - match: \b(?:public|protected|private)\b+              scope: storage.modifier.matlab+            - include: expressions++  class-properties-body:+    - meta_scope: meta.properties.matlab+    - match: \bend\b+      scope: keyword.control.end.properties.matlab+      pop: true+    - include: builtin-types+    - include: expressions++  class-methods:+    - match: \bmethods\b+      scope: keyword.declaration.methods.matlab+      push:+        - meta_scope: meta.methods.matlab+        - match: '{{eol}}'+          set: class-methods-body+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop+            - match: \)+              scope: punctuation.section.parens.end.matlab+              pop: true+            # https://www.mathworks.com/help/matlab/matlab_oop/method-attributes.html+            - match: \b(?:Abstract|Access|Hidden|Sealed|Static)\b+              scope: variable.parameter.attribute.matlab+            - match: \b(?:public|protected|private)\b+              scope: storage.modifier.matlab+            - include: expressions++  class-methods-body:+    - meta_scope: meta.methods.matlab+    - match: \bend\b+      scope: keyword.control.end.methods.matlab+      pop: true+    - include: comments+    - include: function-declaration++  class-events:+    - match: \bevents\b+      scope: keyword.declaration.events.matlab+      push:+        - meta_scope: meta.events.matlab+        - match: '{{eol}}'+          set: class-events-body+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop+            - match: \)+              scope: punctuation.section.parens.end.matlab+              pop: true+            # https://www.mathworks.com/help/matlab/matlab_oop/event-attributes.html+            - match: \b(?:Hidden|ListenAccess|NotifyAccess)\b+              scope: variable.parameter.attribute.matlab+            - match: \b(?:public|protected|private)\b+              scope: storage.modifier.matlab+            - include: expressions++  class-events-body:+    - meta_scope: meta.events.matlab+    - match: \bend\b+      scope: keyword.control.end.events.matlab+      pop: true+    - include: comments+    - include: variable++  class-enumeration:+    - match: \benumeration\b+      scope: keyword.declaration.enumeration.matlab+      push: class-enumeration-body++  class-enumeration-body:+    - meta_scope: meta.enumeration.matlab+    - match: \bend\b+      scope: keyword.control.end.enumeration.matlab+      pop: true+    - include: expressions++###[ KEYWORDS AND FLOW CONTROL BLOCKS ]#######################################++  # https://www.mathworks.com/help/matlab/ref/iskeyword.html+  # https://www.mathworks.com/help/matlab/control-flow.html+  keywords:+    - include: if+    - include: switch+    - include: for+    - include: parfor+    - include: while+    - include: try+    - include: spmd+    - match: \bbreak\b+      scope: keyword.control.flow.break.matlab+    - match: \bcontinue\b+      scope: keyword.control.flow.continue.matlab+    - match: \breturn\b+      scope: keyword.control.flow.return.matlab+    - match: \bglobal\b+      scope: storage.modifier.global.matlab+    - match: \bpersistent\b+      scope: storage.modifier.persistent.matlab++  if:+    - match: \bif\b+      scope: keyword.control.conditional.if.matlab+      push:+        - meta_scope: meta.block.if.matlab+        - match: \belseif\b+          scope: keyword.control.conditional.elseif.matlab+        - match: \belse\b+          scope: keyword.control.conditional.else.matlab+        - match: \bend\b+          scope: keyword.control.end.if.matlab           pop: true-    - match: \b(properties)\s+(\()-      captures:-        1: keyword.other.oop.matlab-        2: punctuation.definition.properties.begin.matlab+        - include: keywords+        - include: expressions++  switch:+    - match: \bswitch\b+      scope: keyword.control.conditional.switch.matlab       push:-        - match: \)-          scope: punctuation.definition.properties.end.matlab+        - meta_scope: meta.block.switch.matlab+        - match: \bcase\b+          scope: keyword.control.conditional.case.matlab+        - match: \botherwise\b+          scope: keyword.control.conditional.otherwise.matlab+        - match: \bend\b+          scope: keyword.control.end.switch.matlab           pop: true-        - match: ','-          scope: punctuation.separator.matlab-        - match: \b(AbortSet|Abstract|Access|Constant|Dependent|GetAccess|GetObservable|Hidden|NonCopyable|SetAccess|SetObservable|Transient)\s*(=)-          captures:-            1: variable.parameter.matlab-            2: keyword.operator.symbols.matlab-        - match: \b(false|true|public|protected|private)\b-          scope: constant.language.matlab-    - match: \b(properties|events|enumeration)\b-      scope: keyword.other.oop.matlab-  not_equal_invalid:-    - match: \s*!=\s*-      comment: Not equal is written ~= not !=.-      scope: invalid.illegal.invalid-inequality.matlab-  number:-    - match: '\b(0[xX])(\h+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b'-      scope: meta.number.integer.hexadecimal.matlab-      captures:-        1: constant.numeric.base.matlab-        2: constant.numeric.value.matlab-        3: constant.numeric.suffix.matlab-    - match: '\b(0[bB])([01]+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b'-      scope: meta.number.integer.binary.matlab-      captures:-        1: constant.numeric.base.matlab-        2: constant.numeric.value.matlab-        3: constant.numeric.suffix.matlab-    - match: '((?:\d*(\.))?\d+(?:[Ee][-+]?\d+)?)(i|j)\b'-      scope: meta.number.imaginary.decimal.matlab-      captures:-        1: constant.numeric.value.matlab-        2: punctuation.separator.decimal.matlab-        3: constant.numeric.suffix.matlab-    - match: '(?:\d*(\.))?\d+(?:[Ee][-+]?\d+)?\b'-      scope: meta.number.float.decimal.matlab constant.numeric.value.matlab-      captures:-        1: punctuation.separator.decimal.matlab-  operators:-    - match: \s*(==|~=|~|>|>=|<|<=|=|&|&&|:|\||\|\||\+|-|\*|\.\*|/|\./|\\|\.\\|\^|\.\^)\s*-      comment: Operator symbols-      scope: keyword.operator.symbols.matlab-  parens:-    - match: \(-      scope: punctuation.section.parens.begin.matlab+        - include: keywords+        - include: expressions++  for:+    - match: \bfor\b+      scope: keyword.control.loop.for.matlab       push:-        - meta_scope: meta.parens.matlab-        - match: \)-          scope: punctuation.section.parens.end.matlab-          # pop: true-          set: transpose_post_parens-        - include: allofem-        - include: end_in_parens-  special_characters:-    - match: '((\%([\+\-0]?\d{0,3}(\.\d{1,3})?)(c|d|e|E|f|g|G|s|((b|t)?(o|u|x|X))))|\%\%|\\(b|f|n|r|t|\\))'-      comment: Operator symbols-      scope: constant.character.escape.matlab-  string:-    - match: ''''-      scope: punctuation.definition.string.begin.matlab+        - meta_scope: meta.block.for.matlab+        - match: \bend\b+          scope: keyword.control.end.for.matlab+          pop: true+        - include: keywords+        - include: expressions++  parfor:+    - match: \bparfor\b+      scope: keyword.control.loop.parfor.matlab       push:-        - meta_scope: string.quoted.single.matlab-        - match: '''(?=(\]|\)|\}|=|~|<|>|&|\||-|\+|\*|\.|\^|\||\s|;|:|,))'-          scope: punctuation.definition.string.end.matlab+        - meta_scope: meta.block.parfor.matlab+        - match: \bend\b+          scope: keyword.control.end.parfor.matlab           pop: true-        - include: escaped_quote-        - include: unescaped_quote-        - include: special_characters-    - match: '"'-      scope: punctuation.definition.string.begin.matlab+        - include: keywords+        - include: expressions++  while:+    - match: \bwhile\b+      scope: keyword.control.loop.while.matlab       push:-        - meta_scope: string.quoted.double.matlab-        - match: '"'-          scope: punctuation.definition.string.end.matlab+        - meta_scope: meta.block.while.matlab+        - match: \bend\b+          scope: keyword.control.end.while.matlab           pop: true+        - include: keywords+        - include: expressions++  try:+    - match: \btry\b+      scope: keyword.control.exception.try.matlab+      push:+        - meta_scope: meta.block.try.matlab+        - match: \bcatch\b+          scope: keyword.control.exception.catch.matlab+        - match: \bend\b+          scope: keyword.control.end.try.matlab+          pop: true+        - include: keywords+        - include: expressions++  spmd:+    - match: \bspmd\b+      scope: keyword.control.parallel.spmd.matlab+      push:+        - meta_scope: meta.block.spmd.matlab+        - match: \bend\b+          scope: keyword.control.end.spmd.matlab+          pop: true+        - include: keywords+        - include: expressions++###[ OPERATORS AND PUNCTUATION ]##############################################++  # https://www.mathworks.com/help/matlab/matlab_prog/matlab-operators-and-special-characters.html+  operators:+    - match: '\+|-|\*|\.\*|/|\./|\\|\.\\|\^|\.\^'+      scope: keyword.operator.arithmetic.matlab+    - match: '==|~=|>=|>|<=|<'+      scope: keyword.operator.comparison.matlab+    - match: '~|&&|&|\|\||\|'+      scope: keyword.operator.logical.matlab+    - match: ':'+      scope: keyword.operator.colon.matlab+    - match: '='+      scope: keyword.operator.assignment.matlab+    - match: \?(?=[A-Za-z])+      scope: keyword.operator.metaclass.matlab+    - match: \!+      scope: keyword.operator.shell-escape.matlab+      push:+        - meta_content_scope: meta.shell-escape.matlab string.unquoted.matlab+        - match: \n+          scope: meta.shell-escape.matlab string.unquoted.matlab+          pop: true+    - match: \b\@+      scope: punctuation.accessor.at.matlab+    - match: \@+      scope: keyword.operator.at.matlab+      push:+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          set:+            - meta_scope: meta.function.parameters.matlab+            - include: line-continuation+            - include: eol-pop+            - match: '{{identifier}}'+              scope: variable.parameter.input.matlab+            - include: separator-comma+            - match: \)+              scope: punctuation.section.parens.end.matlab+              pop: true+        - match: ''+          pop: true+   transpose:-    - match: '\b({{id}})(\.?'')'+    - match: (?:\s*(\.\')|(\'))?       captures:-        1 : meta.variable.other.valid.matlab-        2 : keyword.operator.transpose.matlab-  transpose_post_parens:-    - match: '(\.?'')'-      captures:-        1 : keyword.operator.transpose.matlab-      pop: true-    - match: ''+        1: keyword.operator.transpose.matlab+        2: keyword.operator.transpose.matlab       pop: true-  unescaped_quote:-    - match: "'(?=.)"-      scope: invalid.illegal.unescaped-quote.matlab-  variable:-    - match: '\b{{id}}\b'-      comment: Valid variable. Added meta to disable highlighting-      scope: meta.variable.other.valid.matlab-  variable_assignment:-    - match: '=\s*\.{0,2}\s*;?\s*$\n?'-      comment: Incomplete variable assignment.-      scope: invalid.illegal.incomplete-variable-assignment.matlab-  variable_invalid:++  accessor-dot:+    - match: (?<=\S)\.+      scope: punctuation.accessor.dot.matlab++  terminator:+    - match: \;+      scope: punctuation.terminator.matlab++  separator-comma:+    - match: \,+      scope: punctuation.separator.sequence.matlab++  separator-semicolon:+    - match: \;+      scope: punctuation.separator.sequence.matlab++###[ BUILTIN CONSTANTS, VARIABLES AND DATA TYPES ]############################++  # Functions that are usually used without parameters and return a constant+  builtin-constants:+    - match: \b(true|false|eps|pi|Inf|NaN|NaT|flintmax|intmax|intmin|realmax|realmin|namelengthmax)\b+      scope: constant.language.matlab+      push: transpose++  builtin-variables:+    - match: \b(ans|nargin|nargout|varargin|varargout)\b+      scope: variable.language.matlab+      push: transpose++  builtin-types:+    - match: \b(?:categorical|cell|char|complex|double|int8|int16|int32|int64|logical|single|string|struct|table|timeseries|timetable|uint8|uint16|uint32|uint64)\b(?!\()+      scope: storage.type.matlab++  last-index:+    - match: \bend\b+      scope: variable.language.matlab+      push: transpose++  argument-placeholder:+    - match: \~(?![A-Za-z])+      scope: variable.language.blank.matlab++###[ BUILTIN COMMANDS AND FUNCTIONS ]#########################################++  # Functions that are usually used only in command syntax form, i.e. without paramaters or+  # with string parameters but omitted parentheses:  functionName input1 ... inputN+  builtin-commands:+    - match: \b(?:clc|clearvars|clock|commandwindow|copyfile|date|figure|gca|gcbf|gcbo|gcf|gco|groot|home|mkdir|movefile|now|restoredefaultpath|rmdir|tic|toc|type|waitforbuttonpress)\b+      scope: keyword.other.command.matlab+    # Commands that are usually only used in the MATLAB command window (REPL)+    # - match: \b(?:commandhistory|demo|doc|docsearch|edit|filebrowser|finish|help|helpbrowser|helpdesk|helpwin|info|lookfor|preferences|support|startup|ver|whatsnew)\b+    #   scope: keyword.other.command.matlab+    # https://www.mathworks.com/help/matlab/ref/axis.html+    - match: \b(axis)(?:\s+(manual|auto|tight|padded|equal|image|square|fill|vis3d|normal|xy|ij|on|off))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/beep.html+    - match: \b(beep)(?:\s+(on|off))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/box.html+    - match: \b(box)(?:\s+(on|off))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/matlab.graphics.interaction.internal.brush.html+    - match: \b(brush)(?:\s+(on|off))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/cla.html+    - match: \b(cla)(?:\s+(reset))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/clear.html+    - match: \b(clear)(?:\s+(all|classes|functions|global|import|java|mex|variables))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/close.html+    - match: \b(close)(?:\s+(all)(?:\s+(hidden|force))?)?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+        3: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/diary.html+    - match: \b(diary)(?:\s+(on|off))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/drawnow.html+    - match: \b(drawnow)(?:\s+(limitrate|nocallbacks|update|expose))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/echo.html+    - match: \b(echo)(?:\s+(?:(on|off)(?:\s+(all))?|(filename)(?:\s+(on|off))?))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+        3: support.constant.matlab+        4: support.constant.matlab+        5: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/exist.html+    - match: \b(exist)(?:\s+(\w+)(?:\s+(builtin|class|dir|file|var))?)?\b+      captures:+        1: keyword.other.command.matlab+        2: variable.other.matlab+        3: storage.type.matlab+    # https://www.mathworks.com/help/matlab/ref/exit.html+    # https://www.mathworks.com/help/matlab/ref/quit.html+    - match: \b(exit|quit)(?:\s+(cancel|force))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/format.html+    - match: \b(format)(?:\s+(short|long|shortE|longE|shortG|longG|shortEng|longEng|bank|hex|rational|compact|loose))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/grid.html+    - match: \b(grid)(?:\s+(on|off|minor))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/hidden.html+    - match: \b(hidden)(?:\s+(on|off))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/hold.html+    - match: \b(hold)(?:\s+(on|off|all))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/import.html+    - match: \b(import)\b(?:\s+((?:\w+\.)*(?:\w+|\*)?))?+      captures:+        1: keyword.other.import.matlab+        2: meta.path.import.matlab+    # https://www.mathworks.com/help/matlab/ref/material.html+    - match: \b(material)(?:\s+(shiny|dull|metal|default))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/mex.html+    - match: \bmex\b(?!\.)+      scope: keyword.other.command.matlab+    # https://www.mathworks.com/help/matlab/ref/more.html+    - match: \b(more)(?:\s+(on|off))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/opengl.html+    - match: \b(opengl)(?:\s+(info|software|hardware|hardwarebasic))?\b+      captures:+        1: keyword.other.command.matlab+        2: support.constant.matlab+    # https://www.mathworks.com/help/matlab/ref/who.html+    # https://www.mathworks.com/help/matlab/ref/whos.html+    - match: \b(who|whos)(?:\s+(global))?\b+      captures:+        1: keyword.other.command.matlab+        2: storage.modifier.matlab++  # Parentheses are usually omitted when functions are used without parameters.+  # This command syntax is also possible for functions with string parameters.+  # Only the function names are matched here to allow both command syntax and function syntax form.+  # https://www.mathworks.com/help/matlab/matlab_prog/command-vs-function-syntax.html+  builtin-functions:

I'm not sure whether it makes sense here to have all function names defined as a variable, because they are used only once in this syntax.

The classification represents the function lists from the Matlab docs (left side menu at https://www.mathworks.com/help/matlab/referencelist.html?type=function&listtype=cat&category=index&blocktype=all&capability=&s_tid=CRUX_lftnav). I hope that I've removed all duplicates and "non-functions". To merge all lists would probably make it easier to find duplicates.

jwortmann

comment created time in 7 hours

Pull request review commentsublimehq/Packages

[Matlab] Better syntax highlighting

 contexts:       scope: comment.line.percentage.matlab       captures:         1: punctuation.definition.comment.matlab-  all_matlab_keywords:-    - include: matlab_keyword_control-    - include: matlab_keyword_operator-    - include: matlab_keyword_other-    - include: matlab_oop-    - include: matlab_storage_type-    - include: matlab_storage_modifier-    - include: matlab_constant_language-    - include: matlab_variable_function-    - include: matlab_keyword_desktop-    - include: matlab_keyword_mathematics-    - include: matlab_keyword_analysis-    - include: matlab_storage_control-    - include: matlab_support_graphics-    - include: matlab_support_function-    - include: matlab_support_external-    - include: matlab_support_toolbox_aerospace-    - include: matlab_support_toolbox_bioinformatics-    - include: matlab_support_toolbox_communications-    - include: matlab_support_toolbox_control_systems-    - include: matlab_support_toolbox_curve_fitting-    - include: matlab_support_toolbox_data_acquisition-    - include: matlab_support_toolbox_database-    - include: matlab_support_toolbox_datafeed-    - include: matlab_support_toolbox_design-    - include: matlab_support_toolbox_excel_link-    - include: matlab_support_toolbox_filter_design_hdl_coder-    - include: matlab_support_toolbox_financial_derivatives-    - include: matlab_support_toolbox_financial-    - include: matlab_support_toolbox_fixed_income-    - include: matlab_support_toolbox_fixed_point-    - include: matlab_support_toolbox_fuzzy_logic-    - include: matlab_support_toolbox_garch-    - include: matlab_support_toolbox_genetic_algorithms-    - include: matlab_support_toolbox_image_acquisition-    - include: matlab_support_toolbox_image_processing-    - include: matlab_support_toolbox_instrument_control-    - include: matlab_support_toolbox_mapping-    - include: matlab_support_toolbox_model_predictive_control-    - include: matlab_support_toolbox_model_based_calibration-    - include: matlab_support_toolbox_neural_network-    - include: matlab_support_toolbox_opc-    - include: matlab_support_toolbox_optimization-    - include: matlab_support_toolbox_rf-    - include: matlab_support_toolbox_robust_control-    - include: matlab_support_toolbox_signal_processing-    - include: matlab_support_toolbox_spline-    - include: matlab_support_toolbox_statistics-    - include: matlab_support_toolbox_symbolic_math-    - include: matlab_support_toolbox_system_identification-    - include: matlab_support_toolbox_virtual_reality-    - include: matlab_support_toolbox_wavelet-  allofem:-    - include: parens-    - include: curlybrackets-    - include: end_in_parens-    - include: brackets-    - include: transpose-    - include: string-    - include: all_matlab_keywords-    - include: all_matlab_comments-    - include: variable-    - include: number-    - include: variable_invalid-    - include: operators-    - match: (\.\.\.)\s*(\S.*\n?)?++  line-continuation:+    - match: (\.{3})\s*(\S.*\n?)?       captures:-        1: punctuation.separator.continuation.matlab+        1: punctuation.separator.continuation.line.matlab         2: comment.line.matlab++###[ LANGUAGE FUNDAMENTALS ]##################################################++  numbers:+    - match: \b(0[xX])(\h+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b+      scope: meta.number.integer.hexadecimal.matlab+      captures:+        1: constant.numeric.base.matlab+        2: constant.numeric.value.matlab+        3: constant.numeric.suffix.matlab+      push: transpose+    - match: \b(0[bB])([01]+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b+      scope: meta.number.integer.binary.matlab+      captures:+        1: constant.numeric.base.matlab+        2: constant.numeric.value.matlab+        3: constant.numeric.suffix.matlab+      push: transpose+    - match: ((?:\d+(\.)\d*|(\.)?\d+)(?:[Ee][-+]?\d+)?)(i|j)\b+      scope: meta.number.imaginary.decimal.matlab+      captures:+        1: constant.numeric.value.matlab+        2: punctuation.separator.decimal.matlab+        3: punctuation.separator.decimal.matlab+        4: constant.numeric.suffix.matlab+      push: transpose+    - match: (?:\d+(\.)\d*|(\.)?\d+)(?:[Ee][-+]?\d+)?(?!\w)+      scope: meta.number.float.decimal.matlab constant.numeric.value.matlab+      captures:+        1: punctuation.separator.decimal.matlab+        2: punctuation.separator.decimal.matlab+      push: transpose++  string:+    - match: \'+      scope: punctuation.definition.string.begin.matlab+      push:+        - meta_scope: string.quoted.single.matlab+        - match: \'(?=(\]|\)|\}|=|~|<|>|&|\||-|\+|\*|\.|\^|\||\s|;|:|,))+          scope: punctuation.definition.string.end.matlab+          set:+            - match: (?:\s*(\.\'))?+              captures:+                1: keyword.operator.transpose.matlab+              pop: true+        # escaped quote+        - match: \'\'+          scope: constant.character.escape.matlab+        # unescaped quote+        - match: \'(?=.)+          scope: invalid.illegal.unescaped-quote.matlab+        - include: escaped-character+        - include: format-spec+    - match: \"+      scope: punctuation.definition.string.begin.matlab+      push:+        - meta_scope: string.quoted.double.matlab+        - match: \"\"+          scope: constant.character.escape.matlab+        - match: \"+          scope: punctuation.definition.string.end.matlab+          set: transpose+        - include: escaped-character+        - include: format-spec++  escaped-character:+    - match: \%\%|\\\\|\\[abfnrtv]+      scope: constant.character.escape.matlab++  format-spec:+    - match: \%(?:\d\$)?[-+\s0#]?(?:\d+|\*)?(?:\.\d+|\.\*)?(?:[cdeEfgGis]|[bt]?[ouxX])+      scope: constant.other.placeholder.matlab++  variable:+    - match: \b{{identifier}}\b+      scope: meta.variable.other.valid.matlab+      captures:+        1: punctuation.accessor.dot.matlab+      push: transpose++  transposed-variable:+    - match: \b({{identifier}})(?:\s*(\.\')|(\'))+      captures:+        1: meta.variable.other.valid.matlab+        2: keyword.operator.transpose.matlab+        3: keyword.operator.transpose.matlab++  variable-assignment:+    - match: \b({{identifier}})\s*(=)(?!=)+      captures:+        1: meta.variable.other.valid.matlab+        2: keyword.operator.assignment.matlab++  structure:+    - match: \b{{identifier}}(\.)\b+      captures:+        1: punctuation.accessor.dot.matlab+      push:+        - meta_scope: meta.variable.other.valid.matlab+        - match: '{{identifier}}(\.)\b'+          captures:+            1: punctuation.accessor.dot.matlab+        - match: '{{identifier}}'+          set: transpose++###[ PARENS/BRACKETS/BRACES BLOCKS ]##########################################++  parens:+    - match: \(+      scope: punctuation.section.parens.begin.matlab+      push:+        - meta_scope: meta.parens.matlab+        - match: \)+          scope: punctuation.section.parens.end.matlab+          set: transpose+        - include: last-index+        - include: expressions+   brackets:-    - match: '\['+    - match: \[       scope: punctuation.section.brackets.begin.matlab       push:         - meta_scope: meta.brackets.matlab-        - match: '\]'+        - match: \]           scope: punctuation.section.brackets.end.matlab-          set: transpose_post_parens-        - include: allofem-  constants_override:-    - match: '(^|\;)\s*(ans|i|j|inf|Inf|nan|NaN|eps|end)\s*=[^=]'-      comment: The user is trying to override MATLAB constants and functions.-      scope: meta.inappropriate.matlab-  curlybrackets:-    - match: '\{'-      scope: meta.brackets.curly.matlab+          set: transpose+        - include: separator-semicolon+        - include: argument-placeholder+        - include: expressions++  braces:+    - match: \{+      scope: punctuation.section.braces.begin.matlab       push:-        - meta_content_scope: meta.brackets.curly.matlab-        - match: '\}'-          scope: meta.brackets.curly.matlab-          set: transpose_post_parens-        - include: allofem-        - include: end_in_parens-  end_in_parens:-    - match: \bend\b-      comment: end as operator symbol-      scope: keyword.operator.symbols.matlab-  escaped_quote:-    - match: "''"-      scope: constant.character.escape.matlab+        - meta_scope: meta.braces.matlab+        - match: \}+          scope: punctuation.section.braces.end.matlab+          set: transpose+        - include: separator-semicolon+        - include: last-index+        - include: expressions -  # Function-  function:-    - match: '^\s*(function)\b'-      captures:-        1 : keyword.other.matlab+###[ DECLARATION BLOCKS ]#####################################################++  function-declaration:+    - match: \bfunction\b+      scope: keyword.declaration.function.matlab       push:-        - match: \b(\w+)\s+(=)+        - meta_scope: meta.function.matlab+        - include: line-continuation+        - match: '{{eol}}'+          set: function-body-arguments+        - match: ({{identifier}})\s*(=)           captures:-            1: variable.parameter.output.function.matlab+            1: variable.parameter.output.matlab             2: keyword.operator.assignment.matlab-        - match: '\['-          scope: punctuation.section.brackets.matlab+        - match: \[+          scope: punctuation.section.brackets.begin.matlab           push:-            - match: \b\w+\b-              scope: variable.parameter.output.function.matlab-            - match: ','-              scope: punctuation.separator.matlab-            - match: '\]'-              scope: punctuation.section.brackets.matlab+            - match: '{{identifier}}'+              scope: variable.parameter.output.matlab+            - include: line-continuation+            - match: '{{eol}}'+              set: function-body-arguments+            - include: separator-comma+            - match: \]+              scope: punctuation.section.brackets.end.matlab               pop: true-        - match: '(=)?\s*\b(\w+)\s*(\()'+        - match: =+          scope: keyword.operator.assignment.matlab+        - match: (?:(?:set|get)(\.))?{{identifier}}+          scope: entity.name.function.matlab           captures:-            1: keyword.operator.assignment.matlab-            2: entity.name.function.matlab-            3: punctuation.section.parens.begin.matlab+            1: punctuation.accessor.dot.matlab+        - match: (?=\()           set:             - meta_scope: meta.function.parameters.matlab-            - match: \b\w+\b-              scope: variable.parameter.input.function.matlab-            - match: ','-              scope: punctuation.separator.matlab-            - match: '\)'+            - include: line-continuation+            - match: '{{eol}}'+              set: function-body-arguments+            - match: \(

I'm not exactly sure why I used that lookahead here, maybe because it was necessary for correct boundaries of the meta scopes. I'll check it soon and look whether I can adjust it.

jwortmann

comment created time in 7 hours

Pull request review commentsublimehq/Packages

[Matlab] Better syntax highlighting

 contexts:       scope: comment.line.percentage.matlab       captures:         1: punctuation.definition.comment.matlab-  all_matlab_keywords:-    - include: matlab_keyword_control-    - include: matlab_keyword_operator-    - include: matlab_keyword_other-    - include: matlab_oop-    - include: matlab_storage_type-    - include: matlab_storage_modifier-    - include: matlab_constant_language-    - include: matlab_variable_function-    - include: matlab_keyword_desktop-    - include: matlab_keyword_mathematics-    - include: matlab_keyword_analysis-    - include: matlab_storage_control-    - include: matlab_support_graphics-    - include: matlab_support_function-    - include: matlab_support_external-    - include: matlab_support_toolbox_aerospace-    - include: matlab_support_toolbox_bioinformatics-    - include: matlab_support_toolbox_communications-    - include: matlab_support_toolbox_control_systems-    - include: matlab_support_toolbox_curve_fitting-    - include: matlab_support_toolbox_data_acquisition-    - include: matlab_support_toolbox_database-    - include: matlab_support_toolbox_datafeed-    - include: matlab_support_toolbox_design-    - include: matlab_support_toolbox_excel_link-    - include: matlab_support_toolbox_filter_design_hdl_coder-    - include: matlab_support_toolbox_financial_derivatives-    - include: matlab_support_toolbox_financial-    - include: matlab_support_toolbox_fixed_income-    - include: matlab_support_toolbox_fixed_point-    - include: matlab_support_toolbox_fuzzy_logic-    - include: matlab_support_toolbox_garch-    - include: matlab_support_toolbox_genetic_algorithms-    - include: matlab_support_toolbox_image_acquisition-    - include: matlab_support_toolbox_image_processing-    - include: matlab_support_toolbox_instrument_control-    - include: matlab_support_toolbox_mapping-    - include: matlab_support_toolbox_model_predictive_control-    - include: matlab_support_toolbox_model_based_calibration-    - include: matlab_support_toolbox_neural_network-    - include: matlab_support_toolbox_opc-    - include: matlab_support_toolbox_optimization-    - include: matlab_support_toolbox_rf-    - include: matlab_support_toolbox_robust_control-    - include: matlab_support_toolbox_signal_processing-    - include: matlab_support_toolbox_spline-    - include: matlab_support_toolbox_statistics-    - include: matlab_support_toolbox_symbolic_math-    - include: matlab_support_toolbox_system_identification-    - include: matlab_support_toolbox_virtual_reality-    - include: matlab_support_toolbox_wavelet-  allofem:-    - include: parens-    - include: curlybrackets-    - include: end_in_parens-    - include: brackets-    - include: transpose-    - include: string-    - include: all_matlab_keywords-    - include: all_matlab_comments-    - include: variable-    - include: number-    - include: variable_invalid-    - include: operators-    - match: (\.\.\.)\s*(\S.*\n?)?++  line-continuation:+    - match: (\.{3})\s*(\S.*\n?)?       captures:-        1: punctuation.separator.continuation.matlab+        1: punctuation.separator.continuation.line.matlab         2: comment.line.matlab++###[ LANGUAGE FUNDAMENTALS ]##################################################++  numbers:+    - match: \b(0[xX])(\h+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b+      scope: meta.number.integer.hexadecimal.matlab+      captures:+        1: constant.numeric.base.matlab+        2: constant.numeric.value.matlab+        3: constant.numeric.suffix.matlab+      push: transpose+    - match: \b(0[bB])([01]+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b+      scope: meta.number.integer.binary.matlab+      captures:+        1: constant.numeric.base.matlab+        2: constant.numeric.value.matlab+        3: constant.numeric.suffix.matlab+      push: transpose+    - match: ((?:\d+(\.)\d*|(\.)?\d+)(?:[Ee][-+]?\d+)?)(i|j)\b+      scope: meta.number.imaginary.decimal.matlab+      captures:+        1: constant.numeric.value.matlab+        2: punctuation.separator.decimal.matlab+        3: punctuation.separator.decimal.matlab+        4: constant.numeric.suffix.matlab+      push: transpose+    - match: (?:\d+(\.)\d*|(\.)?\d+)(?:[Ee][-+]?\d+)?(?!\w)+      scope: meta.number.float.decimal.matlab constant.numeric.value.matlab+      captures:+        1: punctuation.separator.decimal.matlab+        2: punctuation.separator.decimal.matlab+      push: transpose++  string:+    - match: \'+      scope: punctuation.definition.string.begin.matlab+      push:+        - meta_scope: string.quoted.single.matlab+        - match: \'(?=(\]|\)|\}|=|~|<|>|&|\||-|\+|\*|\.|\^|\||\s|;|:|,))+          scope: punctuation.definition.string.end.matlab+          set:+            - match: (?:\s*(\.\'))?+              captures:+                1: keyword.operator.transpose.matlab+              pop: true+        # escaped quote+        - match: \'\'+          scope: constant.character.escape.matlab+        # unescaped quote+        - match: \'(?=.)+          scope: invalid.illegal.unescaped-quote.matlab+        - include: escaped-character+        - include: format-spec+    - match: \"+      scope: punctuation.definition.string.begin.matlab+      push:+        - meta_scope: string.quoted.double.matlab+        - match: \"\"+          scope: constant.character.escape.matlab+        - match: \"+          scope: punctuation.definition.string.end.matlab+          set: transpose+        - include: escaped-character+        - include: format-spec++  escaped-character:+    - match: \%\%|\\\\|\\[abfnrtv]+      scope: constant.character.escape.matlab++  format-spec:+    - match: \%(?:\d\$)?[-+\s0#]?(?:\d+|\*)?(?:\.\d+|\.\*)?(?:[cdeEfgGis]|[bt]?[ouxX])+      scope: constant.other.placeholder.matlab++  variable:+    - match: \b{{identifier}}\b+      scope: meta.variable.other.valid.matlab+      captures:+        1: punctuation.accessor.dot.matlab+      push: transpose++  transposed-variable:+    - match: \b({{identifier}})(?:\s*(\.\')|(\'))+      captures:+        1: meta.variable.other.valid.matlab+        2: keyword.operator.transpose.matlab+        3: keyword.operator.transpose.matlab++  variable-assignment:+    - match: \b({{identifier}})\s*(=)(?!=)+      captures:+        1: meta.variable.other.valid.matlab+        2: keyword.operator.assignment.matlab++  structure:+    - match: \b{{identifier}}(\.)\b+      captures:+        1: punctuation.accessor.dot.matlab+      push:+        - meta_scope: meta.variable.other.valid.matlab+        - match: '{{identifier}}(\.)\b'+          captures:+            1: punctuation.accessor.dot.matlab+        - match: '{{identifier}}'+          set: transpose++###[ PARENS/BRACKETS/BRACES BLOCKS ]##########################################++  parens:+    - match: \(+      scope: punctuation.section.parens.begin.matlab+      push:+        - meta_scope: meta.parens.matlab+        - match: \)+          scope: punctuation.section.parens.end.matlab+          set: transpose+        - include: last-index+        - include: expressions+   brackets:-    - match: '\['+    - match: \[       scope: punctuation.section.brackets.begin.matlab       push:         - meta_scope: meta.brackets.matlab-        - match: '\]'+        - match: \]           scope: punctuation.section.brackets.end.matlab-          set: transpose_post_parens-        - include: allofem-  constants_override:-    - match: '(^|\;)\s*(ans|i|j|inf|Inf|nan|NaN|eps|end)\s*=[^=]'-      comment: The user is trying to override MATLAB constants and functions.-      scope: meta.inappropriate.matlab-  curlybrackets:-    - match: '\{'-      scope: meta.brackets.curly.matlab+          set: transpose+        - include: separator-semicolon+        - include: argument-placeholder+        - include: expressions++  braces:+    - match: \{+      scope: punctuation.section.braces.begin.matlab       push:-        - meta_content_scope: meta.brackets.curly.matlab-        - match: '\}'-          scope: meta.brackets.curly.matlab-          set: transpose_post_parens-        - include: allofem-        - include: end_in_parens-  end_in_parens:-    - match: \bend\b-      comment: end as operator symbol-      scope: keyword.operator.symbols.matlab-  escaped_quote:-    - match: "''"-      scope: constant.character.escape.matlab+        - meta_scope: meta.braces.matlab+        - match: \}+          scope: punctuation.section.braces.end.matlab+          set: transpose+        - include: separator-semicolon+        - include: last-index+        - include: expressions -  # Function-  function:-    - match: '^\s*(function)\b'-      captures:-        1 : keyword.other.matlab+###[ DECLARATION BLOCKS ]#####################################################++  function-declaration:+    - match: \bfunction\b+      scope: keyword.declaration.function.matlab       push:-        - match: \b(\w+)\s+(=)+        - meta_scope: meta.function.matlab+        - include: line-continuation+        - match: '{{eol}}'+          set: function-body-arguments+        - match: ({{identifier}})\s*(=)           captures:-            1: variable.parameter.output.function.matlab+            1: variable.parameter.output.matlab             2: keyword.operator.assignment.matlab-        - match: '\['-          scope: punctuation.section.brackets.matlab+        - match: \[+          scope: punctuation.section.brackets.begin.matlab           push:-            - match: \b\w+\b-              scope: variable.parameter.output.function.matlab-            - match: ','-              scope: punctuation.separator.matlab-            - match: '\]'-              scope: punctuation.section.brackets.matlab+            - match: '{{identifier}}'+              scope: variable.parameter.output.matlab+            - include: line-continuation+            - match: '{{eol}}'+              set: function-body-arguments+            - include: separator-comma+            - match: \]+              scope: punctuation.section.brackets.end.matlab               pop: true-        - match: '(=)?\s*\b(\w+)\s*(\()'+        - match: =+          scope: keyword.operator.assignment.matlab+        - match: (?:(?:set|get)(\.))?{{identifier}}+          scope: entity.name.function.matlab           captures:-            1: keyword.operator.assignment.matlab-            2: entity.name.function.matlab-            3: punctuation.section.parens.begin.matlab+            1: punctuation.accessor.dot.matlab+        - match: (?=\()           set:             - meta_scope: meta.function.parameters.matlab-            - match: \b\w+\b-              scope: variable.parameter.input.function.matlab-            - match: ','-              scope: punctuation.separator.matlab-            - match: '\)'+            - include: line-continuation+            - match: '{{eol}}'+              set: function-body-arguments+            - match: \(+              scope: punctuation.section.parens.begin.matlab+            - match: '{{identifier}}'+              scope: variable.parameter.input.matlab+            - include: separator-comma+            - include: argument-placeholder+            - match: \)+              scope: punctuation.section.parens.end.matlab+              set: function-body-arguments++  function-body-arguments:+    - meta_content_scope: meta.function.matlab+    - include: comments+    - match: \barguments\b+      scope: keyword.context.arguments.matlab+      push:+        - meta_scope: meta.arguments.matlab+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: eol-pop+            - match: \)               scope: punctuation.section.parens.end.matlab               pop: true-        - match: \b(\w+)\s*(?=%|$)-          captures:-            1: entity.name.function.matlab-          pop: true-  # Matlab keywords-  matlab_constant_language:-    - match: \b(ans|eps|false|Inf|inf|intmax|intmin|namelengthmax|NaN|nan|on|off|realmax|realmin|true|i|j|pi)\b-      comment: MATLAB constants-      scope: constant.language.matlab-  matlab_keyword_analysis:-    - match: \b(abs|addevent|addsample|addsampletocollection|addts|angle|conv|conv2|convn|corrcoef|cov|cplxpair|ctranspose|cumtrapz|deconv|del2|delevent|delsample|delsamplefromcollection|detrend|diff|fft|fft2|fftn|fftshift|fftw|filter|filter2|getabstime|getdatasamplesize|getinterpmethod|getqualitydesc|getsampleusingtime|gettimeseriesnames|gettsafteratevent|gettsafterevent|gettsatevent|gettsbeforeatevent|gettsbeforeevent|gettsbetweenevents|gradient|idealfilter|ifft|ifft2|ifftn|ifftshift|iqr|max|mean|median|min|mldivide|mode|mrdivide|removets|resample|setabstime|setinterpmethod|settimeseriesnames|std|synchronize|timeseries|trapz|tscollection|tsdata.event|tsprops|tstool|var)\b-      comment: Data Analysis-      scope: keyword.analysis.matlab-  matlab_keyword_control:-    - match: \b(break|case|catch|continue|else|elseif|end|for|parfor|if|otherwise|pause|rethrow|return|start|startat|stop|switch|try|wait|while)\b-      comment: Control keywords-      scope: keyword.control.matlab-  matlab_keyword_desktop:-    - match: \b(addpath|assignin|builddocsearchdb|cd|checkin|checkout|clc|clear|clipboard|cmopts|commandhistory|commandwindow|computer|copyfile|customverctrl|dbclear|dbcont|dbdown|dbquit|dbstack|dbstatus|dbstep|dbstop|dbtype|dbup|debug|demo|diary|dir|doc|docopt|docsearch|dos|echodemo|edit|exit|fileattrib|filebrowser|finish|format|genpath|getenv|grabcode|help|helpbrowser|helpwin|home|hostid|info|keyboard|license|lookfor|ls|matlab|matlabrc|matlabroot|memory|mkdir|mlint|mlintrpt|more|movefile|notebook|openvar|pack|partialpath|path|path2rc|pathdef|pathsep|pathtool|perl|playshow|prefdir|preferences|profile|profsave|publish|pwd|quit|recycle|rehash|restoredefaultpath|rmdir|rmpath|savepath|setenv|startup|support|system|toolboxdir|type|undocheckout|unix|ver|verctrl|verLessThan|version|web|what|whatsnew|which|winqueryreg|workspace)\b|(^\s*!.*$)-      comment: Desktop Tools and Development-      scope: keyword.desktop.matlab-  matlab_keyword_mathematics:-    - match: \b(accumarray|acos|acosd|acosh|acot|acotd|acoth|acsc|acscd|acsch|airy|amd|asec|asecd|asech|asin|asind|asinh|atan|atan2|atand|atanh|balance|besselh|besseli|besselj|besselk|bessely|beta|betainc|betaln|bicg|bicgstab|blkdiag|bsxfun|bvp4c|bvpget|bvpinit|bvpset|bvpxtend|cart2pol|cart2sph|cat|cdf2rdf|ceil|cgs|chol|cholinc|cholupdate|circshift|colamd|colperm|compan|complex|cond|condeig|condest|conj|convhull|convhulln|cos|cosd|cosh|cot|cotd|coth|cross|csc|cscd|csch|cumprod|cumsum|dblquad|dde23|ddeget|ddesd|ddeset|decic|det|deval|diag|disp|display|dmperm|dot|eig|eigs|ellipj|ellipke|erf|erfc|erfcinv|erfcx|erfinv|etree|etreeplot|exp|expint|expm|expm1|eye|factor|factorial|find|fix|flipdim|fliplr|flipud|floor|fminbnd|fminsearch|freqspace|full|funm|fzero|gallery|gamma|gammainc|gammaln|gcd|gmres|gplot|griddata|griddata3|griddatan|gsvd|hadamard|hankel|hess|hilb|horzcat|hypot|idivide|ilu|imag|ind2sub|Inf|inline|interp1|interp1q|interp2|interp3|interpft|interpn|inv|invhilb|ipermute|kron|lcm|ldl|legendre|length|linsolve|linspace|log|log10|log1p|log2|logm|logspace|lscov|lsqnonneg|lsqr|lu|luinc|magic|meshgrid|minres|mkpp|mod|NaN|nchoosek|ndgrid|ndims|nextpow2|nnz|nonzeros|norm|normest|nthroot|null|numel|nzmax|ode113|ode15i|ode15s|ode23|ode23s|ode23t|ode23tb|ode45|odefile|odeget|odeset|odextend|ones|optimget|optimset|ordeig|ordqz|ordschur|orth|pascal|pcg|pchip|pdepe|pdeval|perms|permute|pinv|planerot|pol2cart|poly|polyder|polyeig|polyfit|polyint|polyval|polyvalm|pow2|ppval|primes|prod|psi|qmr|qr|qrdelete|qrinsert|qrupdate|quad|quadl|quadv|qz|rand|randn|randperm|rank|rat|rats|rcond|real|reallog|realpow|realsqrt|rem|repmat|reshape|residue|roots|rosser|rot90|round|rref|rsf2csf|schur|sec|secd|sech|shiftdim|sign|sin|sind|sinh|size|sort|sortrows|spalloc|sparse|spaugment|spconvert|spdiags|speye|spfun|sph2cart|spline|spones|spparms|sprand|sprandn|sprandsym|sprank|spy|sqrt|sqrtm|squeeze|ss2tf|sub2ind|subspace|sum|svd|svds|symamd|symbfact|symmlq|symrcm|tan|tand|tanh|toeplitz|trace|treelayout|treeplot|tril|triplequad|triu|unmkpp|unwrap|vander|vectorize|vertcat|wilkinson|zeros)\b-      comment: Mathematics-      scope: keyword.mathematics.matlab-  matlab_keyword_operator:-    - match: \b(all|and|any|bitand|bitcmp|bitget|bitmax|bitor|bitset|bitshift|bitxor|eq|ge|gt|isa|isappdata|iscell|iscellstr|ischar|iscom|isdir|isempty|isequal|isequalwithequalnans|isevent|isfield|isfinite|isfloat|isglobal|ishandle|ishold|isinf|isinteger|isinterface|isjava|iskeyword|isletter|islogical|ismac|ismember|ismethod|isnan|isnumeric|isobject|ispc|ispref|isprime|isprop|isreal|isscalar|issorted|isspace|issparse|isstrprop|isstruct|isstudent|isunix|isvarname|isvector|le|lt|mislocked|or|ne|not|setxor|union|unique|xor)\b-      comment: Operator keywords-      scope: keyword.operator.matlab-  matlab_keyword_other:-    - match: \b(addOptional|addParamValue|addRequired|addtodate|arrayfun|assert|blanks|builtin|calendar|cell|celldisp|cellfun|cellplot|clock|cputime|createCopy|datatipinfo|date|datenum|datestr|datevec|dbmex|deal|deblank|depdir|depfun|echo|eomday|error|etime|eval|evalc|evalin|exist|feval|fieldnames|findstr|func2str|genvarname|getfield|global|inferiorto|inmem|intersect|intwarning|lasterr|lasterror|lastwarn|loadobj|lower|methods|methodsview|mex|mexext|mfilename|mlock|munlock|nargchk|nargoutchk|now|orderfields|parse|pcode|regexp|regexpi|regexprep|regexptranslate|rmfield|run|saveobj|setdiff|setfield|sprintf|sscanf|strcat|strcmp|strcmpi|strfind|strings|strjust|strmatch|strncmp|strncmpi|strread|strrep|strtok|strtrim|structfun|strvcat|subsasgn|subsindex|subsref|substruct|superiorto|swapbytes|symvar|tic|timer|timerfind|timerfindall|toc|typecast|upper|warning|weekday|who|whos)\b-      comment: Other keywords-      scope: keyword.other.matlab-  matlab_storage_control:-    - match: \b(addframe|ascii|audioplayer|audiorecorder|aufinfo|auread|auwrite|avifile|aviinfo|aviread|beep|binary|cdfepoch|cdfinfo|cdfread|cdfwrite|csvread|csvwrite|daqread|dlmread|dlmwrite|exifread|feof|ferror|fgetl|fgets|filehandle|filemarker|fileparts|filesep|fitsinfo|fitsread|fopen|fprintf|fread|frewind|fscanf|fseek|ftell|ftp|fullfile|fwrite|gunzip|gzip|hdf|hdf5|hdf5info|hdf5read|hdf5write|hdfinfo|hdfread|hdftool|imfinfo|importdata|imread|imwrite|lin2mu|load|memmapfile|mget|mmfileinfo|movie2avi|mput|mu2lin|multibandread|multibandwrite|open|rename|save|sendmail|sound|soundsc|tar|tempdir|tempname|textread|textscan|todatenum|uiimport|untar|unzip|urlread|urlwrite|wavfinfo|wavplay|wavread|wavrecord|wavwrite|winopen|wk1finfo|wk1read|wk1write|xlsfinfo|xlsread|xlswrite|xmlread|xmlwrite|xslt|zip)\b-      comment: File I/O-      scope: storage.control.matlab-  matlab_storage_modifier:-    - match: \b(base2dec|bin2dec|cast|cell2mat|cell2struct|cellstr|char|dec2base|dec2bin|dec2hex|hex2dec|hex2num|int2str|mat2cell|mat2str|num2cell|native2unicode|num2hex|num2str|persistent|str2double|str2func|str2mat|str2num|struct2cell|unicode2native)\b-      comment: Storage modifiers-      scope: storage.modifier.matlab-  matlab_storage_type:-    - match: \b(class|double|function|functions|input|inputname|inputParser|int16|int32|int64|int8|logical|single|struct|uint16|uint32|uint64|uint8)\b-      comment: Storage types-      scope: storage.type.matlab-  matlab_support_external:-    - match: \b(actxcontrol|actxcontrollist|actxcontrolselect|actxGetRunningServer|actxserver|addproperty|calllib|callSoapService|createClassFromWsdl|createSoapMessage|ddeadv|ddeexec|ddeinit|ddepoke|ddereq|ddeterm|ddeunadv|deleteproperty|enableservice|eventlisteners|events|Execute|GetCharArray|GetFullMatrix|GetVariable|GetWorkspaceData|import|instrcallback|instrfind|instrfindall|interfaces|invoke|javaaddpath|javaArray|javachk|javaclasspath|javaMethod|javaObject|javarmpath|libfunctions|libfunctionsview|libisloaded|libpointer|libstruct|loadlibrary|MaximizeCommandWindow|MinimizeCommandWindow|move|parseSoapResponse|PutCharArray|PutFullMatrix|PutWorkspaceData|readasync|record|registerevent|release|send|serial|serialbreak|stopasync|unloadlibrary|unregisterallevents|unregisterevent|usejava)\b-      comment: External Interfaces-      scope: support.external.matlab-  matlab_support_function:-    - match: \b(addpref|align|dialog|errordlg|export2wsdlg|getappdata|getpixelposition|getpref|ginput|guidata|guide|guihandles|helpdlg|inputdlg|inspect|listdlg|listfonts|menu|movegui|msgbox|openfig|printdlg|printpreview|questdlg|rmappdata|rmpref|selectmoveresize|setappdata|setpixelposition|setpref|textwrap|uibuttongroup|uicontextmenu|uicontrol|uigetdir|uigetfile|uigetpref|uimenu|uiopen|uipanel|uipushtool|uiputfile|uiresume|uisave|uisetcolor|uisetfont|uisetpref|uistack|uitoggletool|uitoolbar|uiwait|waitbar|waitfor|waitforbuttonpress|warndlg)\b-      comment: Creating Graphical User Interfaces-      scope: support.function.matlab-  matlab_support_graphics:-    - match: \b(alim|allchild|alpha|alphamap|ancestor|annotation|area|axes|axis|bar|bar3|bar3h|barh|box|brighten|camdolly|cameratoolbar|camlight|camlookat|camorbit|campan|campos|camproj|camroll|camtarget|camup|camva|camzoom|caxis|cla|clabel|clf|close|closereq|colorbar|colordef|colormap|colormapeditor|ColorSpec|comet|comet3|compass|coneplot|contour|contour3|contourc|contourf|contourslice|contrast|copyobj|curl|cylinder|daspect|datacursormode|datetick|delaunay|delaunay3|delaunayn|delete|diffuse|divergence|dragrect|drawnow|dsearch|dsearchn|ellipsoid|errorbar|ezcontour|ezcontourf|ezmesh|ezmeshc|ezplot|ezplot3|ezpolar|ezsurf|ezsurfc|feather|figure|figurepalette|fill|fill3|findall|findfigs|findobj|flow|fplot|frame2im|frameedit|gca|gcbf|gcbo|gcf|gco|get|getframe|graymon|grid|gtext|hgexport|hggroup|hgload|hgsave|hgtransform|hidden|hist|histc|hold|hsv2rgb|im2frame|im2java|image|imagesc|imformats|ind2rgb|inpolygon|interpstreamspeed|isocaps|isocolors|isonormals|isosurface|legend|light|lightangle|lighting|line|LineSpec|linkaxes|linkprop|loglog|makehgtform|material|mesh|meshc|meshz|movie|newplot|noanimate|opengl|orient|pan|pareto|patch|pbaspect|pcolor|peaks|pie|pie3|plot|plot3|plotbrowser|plotedit|plotmatrix|plottools|plotyy|polar|polyarea|print|printopt|propedit|propertyeditor|quiver|quiver3|rbbox|rectangle|rectint|reducepatch|reducevolume|refresh|refreshdata|reset|rgb2hsv|rgbplot|ribbon|rose|rotate|rotate3d|saveas|scatter|scatter3|semilogx|semilogy|set|shading|showplottool|shrinkfaces|slice|smooth3|specular|sphere|spinmap|stairs|stem|stem3|stream2|stream3|streamline|streamparticles|streamribbon|streamslice|streamtube|subplot|subvolume|surf|surf2patch|surface|surfc|surfl|surfnorm|tetramesh|texlabel|text|title|trimesh|triplot|trisurf|tsearch|tsearchn|view|viewmtx|volumebounds|voronoi|voronoin|waterfall|whitebg|xlabel|xlim|ylabel|ylim|zlabel|zlim|zoom)\b-      comment: Graphics-      scope: support.function.graphics.matlab-  matlab_support_toolbox_aerospace:-    - match: \b(wrldmagm|updateNodes|updateCamera|updateBodies|update|show|saveas|rrtheta|rrsigma|rrdelta|removeViewpoint|removeNode|removeBody|read|quatrotate|quatnormalize|quatnorm|quatmultiply|quatmod|quatinv|quatdivide|quatconj|quat2dcm|quat2angle|play|nodeInfo|moveBody|move|mjuliandate|machnumber|load|lla2ecef|leapyear|juliandate|initialize|initIfNeeded|hide|gravitywgs84|geoidegm96|geod2geoc|geocradius|geoc2geod|generatePatches|findstartstoptimes|fganimation|ecef2lla|dpressure|delete|decyear|dcmecef2ned|dcmbody2wind|dcm2quat|dcm2latlon|dcm2angle|dcm2alphabeta|datcomimport|createBody|correctairspeed|convvel|convtemp|convpres|convmass|convlength|convforce|convdensity|convangvel|convangacc|convang|convacc|atmospalt|atmosnrlmsise00|atmosnonstd|atmoslapse|atmosisa|atmoscoesa|atmoscira|angle2quat|angle2dcm|alphabeta|airspeed|addViewpoint|addRoute|addNode|addBody|VirtualRealityAnimation|Viewpoint|Node|Geometry|GenerateRunScript|Camera|Body|Animation)\b-      comment: Matlab aerospace toolbox-      scope: support.function.toolbox.aerospace.matlab-  matlab_support_toolbox_bioinformatics:-    - match: \b(zonebackadj|weights|view|traverse|traceplot|topoorder|swalign|svmtrain|svmsmoset|svmclassify|subtree|sptread|showhmmprof|showalignment|shortestpath|seqwordcount|seqtool|seqshowwords|seqshoworfs|seqreverse|seqrcomplement|seqprofile|seqpdist|seqneighjoin|seqmatch|seqlogo|seqlinkage|seqinsertgaps|seqdotplot|seqdisp|seqconsensus|seqcomplement|seq2regexp|select|scfread|samplealign|rnaplot|rnafold|rnaconvert|rna2dna|rmasummary|rmabackadj|revgeneticcode|restrict|reroot|reorder|redgreencmap|rebasecuts|rankfeatures|randseq|randfeatures|ramachandran|quantilenorm|prune|proteinpropplot|proteinplot|profalign|probesetvalues|probesetplot|probesetlookup|probesetlink|probelibraryinfo|plot|phytreewrite|phytreetool|phytreeread|phytree|pfamhmmread|pdist|pdbwrite|pdbread|pdbdistplot|pam|palindromes|optimalleaforder|oligoprop|nwalign|num2goid|nuc44|ntdensity|nt2int|nt2aa|nmercount|mzxmlread|mzxml2peaks|multialignviewer|multialignread|multialign|msviewer|mssgolay|msresample|msppresample|mspeaks|mspalign|msnorm|mslowess|msheatmap|msdotplot|msbackadj|msalign|molweight|molviewer|minspantree|maxflow|mavolcanoplot|mattest|mapcaplot|manorm|malowess|maloglog|mairplot|mainvarsetnorm|maimage|magetfield|mafdr|maboxplot|knnimpute|knnclassify|joinseq|jcampread|isspantree|isomorphism|isoelectric|isdag|int2nt|int2aa|imageneread|hmmprofstruct|hmmprofmerge|hmmprofgenerate|hmmprofestimate|hmmprofalign|graphtraverse|graphtopoorder|graphshortestpath|graphpred2path|graphminspantree|graphmaxflow|graphisspantree|graphisomorphism|graphisdag|graphconncomp|graphcluster|graphallshortestpaths|gprread|gonnet|goannotread|getrelatives|getpdb|getnodesbyid|getnewickstr|getmatrix|gethmmtree|gethmmprof|gethmmalignment|getgeodata|getgenpept|getgenbank|getembl|getedgesbynodeid|getdescendants|getcanonical|getbyname|getblast|getancestors|get|geosoftread|genpeptread|genevarfilter|geneticcode|generangefilter|geneont|genelowvalfilter|geneentropyfilter|genbankread|gcrmabackadj|gcrma|galread|featuresparse|featuresmap|fastawrite|fastaread|exprprofvar|exprprofrange|evalrasmolscript|emblread|dolayout|dndsml|dnds|dna2rna|dimercount|dayhoff|cytobandread|crossvalind|cpgisland|conncomp|codoncount|codonbias|clustergram|cleave|classperf|chromosomeplot|cghcbs|celintensityread|blosum|blastreadlocal|blastread|blastncbi|blastlocal|blastformat|biograph|baselookup|basecount|atomiccomp|aminolookup|allshortestpaths|agferead|affyread|affyprobeseqread|affyprobeaffinities|affyinvarsetnorm|aacount|aa2nt|aa2int)\b-      comment: Matlab bioinformatics toolbox-      scope: support.function.toolbox.bioinformatics.matlab-  matlab_support_toolbox_communications:-    - match: \b(wgn|vitdec|vec2mat|varlms|syndtable|symerr|stdchan|ssbmod|ssbdemod|signlms|shift2mask|seqgen\.pn|seqgen|semianalytic|scatterplot|rsgenpoly|rsencof|rsenc|rsdecof|rsdec|rls|ricianchan|reset|rectpulse|rcosine|rcosiir|rcosflt|rcosfir|rayleighchan|randsrc|randintrlv|randint|randerr|randdeintrlv|quantiz|qfuncinv|qfunc|qammod|qamdemod|pskmod|pskdemod|primpoly|poly2trellis|pmmod|pmdemod|plot|pammod|pamdemod|oqpskmod|oqpskdemod|oct2dec|normlms|noisebw|muxintrlv|muxdeintrlv|mskmod|mskdemod|modnorm|modem\.qammod|modem\.qamdemod|modem\.pskmod|modem\.pskdemod|modem\.pammod|modem\.pamdemod|modem\.oqpskmod|modem\.oqpskdemod|modem\.mskmod|modem\.mskdemod|modem\.genqammod|modem\.genqamdemod|modem\.dpskmod|modem\.dpskdemod|modem|mlseeq|mldivide|minpol|matintrlv|matdeintrlv|mask2shift|marcumq|log|lms|lloyds|lineareq|istrellis|isprimitive|iscatastrophic|intrlv|intdump|ifft|huffmanenco|huffmandict|huffmandeco|hilbiir|helscanintrlv|helscandeintrlv|helintrlv|heldeintrlv|hank2sys|hammgen|gray2bin|gfweight|gftuple|gftrunc|gftable|gfsub|gfroots|gfrepcov|gfrank|gfprimfd|gfprimdf|gfprimck|gfpretty|gfmul|gfminpol|gflineq|gffilter|gfdiv|gfdeconv|gfcosets|gfconv|gfadd|gf|genqammod|genqamdemod|gen2par|fskmod|fskdemod|fmmod|fmdemod|finddelay|filter|fft|fec\.ldpcenc|fec\.ldpcdec|eyediagram|equalize|encode|dvbs2ldpc|dpskmod|dpskdemod|dpcmopt|dpcmenco|dpcmdeco|doppler\.rounded|doppler\.rjakes|doppler\.jakes|doppler\.gaussian|doppler\.flat|doppler\.bigaussian|doppler\.ajakes|doppler|distspec|dftmtx|dfe|deintrlv|decode|de2bi|cyclpoly|cyclgen|cosets|convmtx|convintrlv|convenc|convdeintrlv|compand|commscope\.eyediagram|commscope|cma|bsc|biterr|bin2gray|bi2de|bertool|bersync|berfit|berfading|berconfint|bercoding|berawgn|bchnumerr|bchgenpoly|bchenc|bchdec|awgn|arithenco|arithdeco|ammod|amdemod|alignsignals|algintrlv|algdeintrlv)\b-      comment: Matlab communications toolbox-      scope: support.function.toolbox.communications.matlab-  matlab_support_toolbox_control_systems:-    - match: \b(zpkdata|zpk|zgrid|zero|totaldelay|tfdata|tf|stepplot|stepinfo|step|stack|stabsep|ssdata|ssbal|ss2ss|ss|sminreal|size|sisotool|sisoinit|sigmaplot|sigma|sgrid|setoptions|setdelaymodel|set|series|rss|rlocusplot|rlocus|reshape|reg|real|pzplot|pzmap|pole|place|parallel|pade|ord2|obsvf|obsv|nyquistplot|nyquist|norm|nicholsplot|nichols|ngrid|ndims|modsep|modred|minreal|margin|lyapchol|lyap|ltiview|ltiprops|ltimodels|lsimplot|lsiminfo|lsim|lqry|lqrd|lqr|lqgreg|lqg|lft|kalmd|kalman|issiso|isproper|isempty|isdt|isct|iopzplot|iopzmap|inv|interp|initialplot|initial|impulseplot|impulse|imag|hsvplot|hsvd|hasdelay|gram|getoptions|getdelaymodel|get|gensig|gdare|gcare|fselect|freqresp|frdata|frd|fnorm|filt|feedback|fcat|evalfr|estim|esort|dssdata|dss|dsort|drss|dlyapchol|dlyap|dlqr|delayss|delay2z|dcgain|dare|damp|d2d|d2c|ctrlpref|ctrbf|ctrb|covar|connect|conj|chgunits|care|canon|c2d|bodeplot|bodemag|bode|bandwidth|balred|balreal|augstate|append|allmargin|acker|abs)\b-      comment: Matlab control systems toolbox-      scope: support.function.toolbox.control-systems.matlab-  matlab_support_toolbox_curve_fitting:-    - match: \b(type|smooth|set|probvalues|probnames|predint|plot|numcoeffs|numargs|islinear|integrate|indepnames|get|formula|fittype|fitoptions|fit|feval|excludedata|differentiate|dependnames|datastats|confint|coeffvalues|coeffnames|cftool|cflibhelp|cfit|category|argnames)\b-      comment: Matlab curve fitting toolbox-      scope: support.function.toolbox.curve-fitting.matlab-  matlab_support_toolbox_data_acquisition:-    - match: \b(wait|trigger|stop|start|softscope|size|showdaqevents|setverify|set|save|putvalue|putsample|putdata|propinfo|peekdata|obj2mfile|muxchanidx|makenames|load|length|isvalid|issending|isrunning|islogging|isdioline|ischannel|inspect|getvalue|getsample|getdata|get|flushdata|disp|digitalio|delete|dec2binvec|daqreset|daqregister|daqread|daqmem|daqhwinfo|daqhelp|daqfind|daqcallback|clear|binvec2dec|analogoutput|analoginput|addmuxchannel|addline|addchannel)\b-      comment: Matlab data acquisition toolbox-      scope: support.function.toolbox.data-acquisition.matlab-  matlab_support_toolbox_database:-    - match: \b(width|versioncolumns|update|unregister|tables|tableprivileges|supports|sql2native|setdbprefs|set|runstoredprocedure|rsmd|rows|rollback|resultset|register|querytimeout|querybuilder|procedures|procedurecolumns|primarykeys|ping|namecolumn|logintimeout|isurl|isreadonly|isnullcolumn|isjdbc|isdriver|isconnection|insert|indexinfo|importedkeys|getdatasources|get|fetchmulti|fetch|fastinsert|exportedkeys|exec|drivermanager|driver|dmd|database\.fetch|database|cursor\.fetch|crossreference|confds|commit|columns|columnprivileges|columnnames|cols|close|clearwarnings|bestrowid|attr)\b-      comment: Matlab database toolbox-      scope: support.function.toolbox.database.matlab-  matlab_support_toolbox_datafeed:-    - match: \b(yahoo|tables|stop|stockticker|showtrades|reuters|pricevol|nextinfo|kx|isconnection|insert|info|idc|hyperfeed|havertool|haver|get|fred|fetch|factset|exec|datastream|close|bloomberg)\b-      comment: Matlab datafeed toolbox-      scope: support.function.toolbox.datafeed.matlab-  matlab_support_toolbox_design:-    - match: \b(zplane|zpkshiftc|zpkshift|zpkrateup|zpklp2xn|zpklp2xc|zpklp2mbc|zpklp2mb|zpklp2lp|zpklp2hp|zpklp2bsc|zpklp2bs|zpklp2bpc|zpklp2bp|zpkftransf|zpkbpc2bpc|zerophase|window|validstructures|tf2cl|tf2ca|stepz|specifyall|sos|setspecs|set2int|scaleopts|scalecheck|scale|reset|reorder|reffilter|realizemdl|qreport|polyphase|phasez|phasedelay|parallel|order|nstates|normalizefreq|normalize|norm|noisepsdopts|noisepsd|multistage|msesim|msepred|mfilt\.linearinterp|mfilt\.iirwdfinterp|mfilt\.iirwdfdecim|mfilt\.iirinterp|mfilt\.iirdecim|mfilt\.holdinterp|mfilt\.firtdecim|mfilt\.firsrc|mfilt\.firinterp|mfilt\.firfracinterp|mfilt\.firfracdecim|mfilt\.firdecim|mfilt\.fftfirinterp|mfilt\.farrowsrc|mfilt\.cicinterp|mfilt\.cicdecim|mfilt\.cascade|mfilt|measure|maxstep|limitcycle|lagrange|kaiserwin|isstable|issos|isreal|isminphase|ismaxphase|islinphase|isfir|isallpass|int|info|impz|iirshiftc|iirshift|iirrateup|iirpowcomp|iirpeak|iirnotch|iirls|iirlpnormc|iirlpnorm|iirlp2xn|iirlp2xc|iirlp2mbc|iirlp2mb|iirlp2lp|iirlp2hp|iirlp2bsc|iirlp2bs|iirlp2bpc|iirlp2bp|iirlinphase|iirgrpdelay|iirftransf|iircomb|iirbpc2bpc|ifir|help|grpdelay|gain|freqz|freqsamp|freqrespopts|freqrespest|firtype|firpr2chfb|firnyquist|firminphase|firls|firlpnorm|firlp2lp|firlp2hp|firhalfband|firgr|fireqint|firceqrip|fircband|filtstates\.cic|filterbuilder|filter|fftcoeffs|fdesign\.rsrc|fdesign\.peak|fdesign\.parameq|fdesign\.octave|fdesign\.nyquist|fdesign\.notch|fdesign\.lowpass|fdesign\.isinclp|fdesign\.interpolator|fdesign\.hilbert|fdesign\.highpass|fdesign\.halfband|fdesign\.fracdelay|fdesign\.differentiator|fdesign\.decimator|fdesign\.ciccomp|fdesign\.bandstop|fdesign\.bandpass|fdesign\.arbmagnphase|fdesign\.arbmag|fdesign|fdatool|fcfwrite|farrow|euclidfactors|equiripple|ellip|double|disp|dfilt\.wdfallpass|dfilt\.scalar|dfilt\.parallel|dfilt\.latticemamin|dfilt\.latticemamax|dfilt\.latticearma|dfilt\.latticear|dfilt\.latticeallpass|dfilt\.dfsymfir|dfilt\.dffirt|dfilt\.dffir|dfilt\.dfasymfir|dfilt\.df2tsos|dfilt\.df2t|dfilt\.df2sos|dfilt\.df2|dfilt\.df1tsos|dfilt\.df1t|dfilt\.df1sos|dfilt\.df1|dfilt\.cascadewdfallpass|dfilt\.cascadeallpass|dfilt\.cascade|dfilt\.calatticepc|dfilt\.calattice|dfilt\.allpass|dfilt|designopts|designmethods|design|denormalize|cumsec|cost|convert|coewrite|coeread|coeffs|cl2tf|cheby2|cheby1|ca2tf|butter|block|autoscale|allpassshiftc|allpassshift|allpassrateup|allpasslp2xn|allpasslp2xc|allpasslp2mbc|allpasslp2mb|allpasslp2lp|allpasslp2hp|allpasslp2bsc|allpasslp2bs|allpasslp2bpc|allpasslp2bp|allpassbpc2bpc|adaptfilt\.ufdaf|adaptfilt\.tdafdft|adaptfilt\.tdafdct|adaptfilt\.swrls|adaptfilt\.swftf|adaptfilt\.ss|adaptfilt\.se|adaptfilt\.sd|adaptfilt\.rls|adaptfilt\.qrdrls|adaptfilt\.qrdlsl|adaptfilt\.pbufdaf|adaptfilt\.pbfdaf|adaptfilt\.nlms|adaptfilt\.lsl|adaptfilt\.lms|adaptfilt\.hswrls|adaptfilt\.hrls|adaptfilt\.gal|adaptfilt\.ftf|adaptfilt\.filtxlms|adaptfilt\.fdaf|adaptfilt\.dlms|adaptfilt\.blmsfft|adaptfilt\.blms|adaptfilt\.bap|adaptfilt\.apru|adaptfilt\.ap|adaptfilt\.adjlms|adaptfilt)\b-      comment: Matlab design toolbox-      scope: support.function.toolbox.design.matlab-  matlab_support_toolbox_excel_link:-    - match: \b(matlabsub|matlabinit|matlabfcn|MLUseFullDesktop|MLUseCellArray|MLStartDir|MLShowMatlabErrors|MLPutVar|MLPutMatrix|MLOpen|MLMissingDataAsNaN|MLGetVar|MLGetMatrix|MLGetFigure|MLEvalString|MLDeleteMatrix|MLClose|MLAutoStart|MLAppendMatrix)\b-      comment: Matlab excel link toolbox-      scope: support.function.toolbox.excel-link.matlab-  matlab_support_toolbox_filter_design_hdl_coder:-    - match: \b(generatetbstimulus|generatetb|generatehdl|fdhdltool)\b-      comment: Matlab filter design hdl coder toolbox-      scope: support.function.toolbox.filter-design-hdl-coder.matlab-  matlab_support_toolbox_financial:-    - match: \b(zero2pyld|zero2fwd|zero2disc|zbtyield|zbtprice|yldtbill|yldmat|ylddisc|yearfrac|yeardays|year|xirr|x2mdate|wrkdydif|willpctr|willad|weights2holdings|weekday|wclose|volroc|vertcat|uplus|uminus|uicalendar|ugarchsim|ugarchpred|ugarchllf|ugarch|typprice|tsmovavg|tsmom|tsaccel|tr2bonds|toweekly|totalreturnprice|tosemi|toquoted|toquarterly|tomonthly|todecimal|today|todaily|toannual|times|time2date|tick2ret|thirtytwo2dec|thirdwednesday|tbl2bond|taxedrr|targetreturn|subsref|subsasgn|stochosc|std|spctkd|sortfts|smoothts|size|sharpe|setfield|selectreturn|second|rsindex|rmfield|ret2tick|resamplets|rdivide|pyld2zero|pvvar|pvtrend|pvfix|prtbill|prmat|prdisc|prcroc|prbyzero|power|posvolidx|portvrisk|portstats|portsim|portrand|portopt|portcons|portalpha|portalloc|pointfig|plus|plot|periodicreturns|peravg|pcpval|pcglims|pcgcomp|pcalims|payuni|payper|payodd|payadv|opprofit|onbalvol|nweekdate|now|nomrr|negvolidx|mvnrstd|mvnrobj|mvnrmle|mvnrfish|mtimes|mrdivide|movavg|months|month|mirr|minute|minus|min|merge|medprice|mean|maxdrawdown|max|macd|m2xdate|lweekdate|lpm|log2|log10|log|llow|length|leadts|lbusdate|lagts|issorted|isfield|isequal|iscompatible|isbusday|irr|inforatio|hour|horzcat|holidays|holdings2weights|hist|highlow|hhigh|getnameidx|getfield|geom2arith|fwd2zero|fvvar|fvfix|fvdisc|ftsuniq|ftstool|ftsinfo|ftsgui|ftsbound|fts2mat|fts2ascii|frontier|frontcon|freqstr|freqnum|frac2cur|fpctkd|fints|filter|fillts|fieldnames|fetch|fbusdate|extfield|exp|ewstats|eomday|eomdate|end|emaxdrawdown|elpm|effrr|ecmnstd|ecmnobj|ecmnmle|ecmninit|ecmnhess|ecmnfish|ecmmvnrstd|ecmmvnrobj|ecmmvnrmle|ecmmvnrfish|ecmlsrobj|ecmlsrmle|discrate|disc2zero|diff|depstln|depsoyd|deprdv|depgendb|depfixdb|dec2thirtytwo|daysdif|daysadd|daysact|days365|days360psa|days360isda|days360e|days360|day|datewrkdy|datevec|datestr|datenum|datemnth|datefind|datedisp|dateaxis|date2time|cur2str|cur2frac|cumsum|createholidays|cpnpersz|cpndaysp|cpndaysn|cpndatepq|cpndatep|cpndatenq|cpndaten|cpncount|cov2corr|corr2cov|convertto|convert2sur|chfield|chartfts|chaikvolat|chaikosc|cftimes|cfport|cfdur|cfdates|cfconv|cfamounts|candle|busdays|busdate|boxcox|bollinger|bolling|bndyield|bndspread|bndprice|bnddury|bnddurp|bndconvy|bndconvp|blsvega|blstheta|blsrho|blsprice|blslambda|blsimpv|blsgamma|blsdelta|blkprice|blkimpv|binprice|beytbill|barh|bar3h|bar3|bar|ascii2fts|arith2geom|annuterm|annurate|amortize|adosc|adline|active2abs|acrudisc|acrubond|accrfrac|abs2active)\b-      comment: Matlab financial toolbox-      scope: support.function.toolbox.financial.matlab-  matlab_support_toolbox_financial_derivatives:-    - match: \b(trintreeshape|trintreepath|treeviewer|treeshape|treepath|time2date|swaptionbyhw|swaptionbyhjm|swaptionbybk|swaptionbybdt|swapbyzero|swapbyhw|swapbyhjm|swapbybk|swapbybdt|stockspec|stockoptspec|ratetimes|rate2disc|optstockbyitt|optstockbyeqp|optstockbycrr|optbndbyhw|optbndbyhjm|optbndbybk|optbndbybdt|mmktbyhjm|mmktbybdt|mktrintree|mktree|mkbush|lookbackbyitt|lookbackbyeqp|lookbackbycrr|itttree|itttimespec|ittsens|ittprice|isafin|intenvset|intenvsens|intenvprice|intenvget|insttypes|instswaption|instswap|instsetfield|instselect|instoptstock|instoptbnd|instlookback|instlength|instgetcell|instget|instfloor|instfloat|instfixed|instfind|instfields|instdisp|instdelete|instcompound|instcf|instcap|instbond|instbarrier|instasian|instaddfield|instadd|hwvolspec|hwtree|hwtimespec|hwsens|hwprice|hjmvolspec|hjmtree|hjmtimespec|hjmsens|hjmprice|hedgeslf|hedgeopt|floorbyhw|floorbyhjm|floorbybk|floorbybdt|floatbyzero|floatbyhw|floatbyhjm|floatbybk|floatbybdt|fixedbyzero|fixedbyhw|fixedbyhjm|fixedbybk|fixedbybdt|eqptree|eqptimespec|eqpsens|eqpprice|disc2rate|derivset|derivget|datedisp|date2time|cvtree|crrtree|crrtimespec|crrsens|crrprice|compoundbyitt|compoundbyeqp|compoundbycrr|classfin|cfbyzero|cfbyhw|cfbyhjm|cfbybk|cfbybdt|capbyhw|capbyhjm|capbybk|capbybdt|bushshape|bushpath|bondbyzero|bondbyhw|bondbyhjm|bondbybk|bondbybdt|bkvolspec|bktree|bktimespec|bksens|bkprice|bdtvolspec|bdttree|bdttimespec|bdtsens|bdtprice|barrierbyitt|barrierbyeqp|barrierbycrr|asianbyitt|asianbyeqp|asianbycrr)\b-      comment: Matlab financial derivatives toolbox-      scope: support.function.toolbox.financial-derivatives.matlab-  matlab_support_toolbox_fixed_income:-    - match: \b(zeroyield|zeroprice|tfutyieldbyrepo|tfutpricebyrepo|tfutimprepo|tfutbyyield|tfutbyprice|tbillyield2disc|tbillyield|tbillval01|tbillrepo|tbillprice|tbilldisc2yield|stepcpnyield|stepcpnprice|stepcpncfamounts|psaspeed2rate|psaspeed2default|mbsyield2speed|mbsyield2oas|mbsyield|mbswal|mbsprice2speed|mbsprice2oas|mbsprice|mbspassthrough|mbsoas2yield|mbsoas2price|mbsnoprepay|mbsdury|mbsdurp|mbsconvy|mbsconvp|mbscfamounts|liborprice|liborfloat2fixed|liborduration|convfactor|cfamounts|cdyield|cdprice|cdai|cbprice|bkput|bkfloorlet|bkcaplet|bkcall)\b-      comment: Matlab fixed income toolbox-      scope: support.function.toolbox.fixed-income.matlab-  matlab_support_toolbox_fixed_point:-    - match: \b(zlim|ylim|xlim|wordlength|waterfall|voronoin|voronoi|vertcat|upperbound|uplus|uminus|uint8|uint32|uint16|triu|trisurf|triplot|trimesh|tril|treeplot|transpose|tostring|toeplitz|times|text|surfnorm|surfl|surfc|surf|sum|subsref|subsasgn|sub|stripscaling|streamtube|streamslice|streamribbon|stem3|stem|stairs|squeeze|sqrt|spy|slice|size|single|sign|shiftdim|set|semilogy|semilogx|sdec|scatter3|scatter|savefipref|round|rose|ribbon|rgbplot|reshape|resetlog|reset|rescale|repmat|realmin|realmax|real|range|randquant|quiver3|quiver|quantizer|quantize|pow2|polar|plus|plotyy|plotmatrix|plot3|plot|permute|pcolor|patch|or|oct|nunderflows|numerictype|numberofelements|num2int|num2hex|num2bin|noverflows|not|noperations|ne|ndims|mtimes|mpy|minus|minlog|min|meshz|meshc|mesh|maxlog|max|lt|lsb|lowerbound|loglog|logical|line|length|le|isvector|issigned|isscalar|isrow|isreal|ispropequal|isobject|isnumerictype|isnumeric|isnan|isinf|isfinite|isfimath|isfi|isequal|isempty|iscolumn|ipermute|intmin|intmax|int8|int32|int16|int|innerprodintbits|imag|horzcat|histc|hist|hex2num|hex|hankel|gt|gplot|getmsb|getlsb|get|ge|fractionlength|fplot|flipud|fliplr|flipdim|fipref|fimath|fi|feather|ezsurfc|ezsurf|ezpolar|ezplot3|ezplot|ezmesh|ezcontourf|ezcontour|exponentmin|exponentmax|exponentlength|exponentbias|etreeplot|errorbar|eq|eps|end|double|divide|disp|diag|denormalmin|denormalmax|dec|ctranspose|copyobj|convergent|contourf|contourc|contour3|contour|conj|coneplot|complex|compass|comet3|comet|clabel|buffer|bitxorreduce|bitxor|bitsrl|bitsra|bitsll|bitsliceget|bitshift|bitset|bitror|bitrol|bitorreduce|bitor|bitget|bitconcat|bitcmp|bitandreduce|bitand|bin2num|bin|barh|bar|area|any|and|all|add|abs)\b-      comment: Matlab fixed-point toolbox-      scope: support.function.toolbox.fixed-point.matlab-  matlab_support_toolbox_fuzzy_logic:-    - match: \b(zmf|writefis|trimf|trapmf|surfview|subclust|smf|sigmf|showrule|showfis|sffis|setfis|ruleview|ruleedit|rmvar|rmmf|readfis|psigmf|probor|plotmf|plotfis|pimf|parsrule|newfis|mfedit|mf2mf|mam2sug|getfis|gensurf|genfis3|genfis2|genfis1|gbellmf|gaussmf|gauss2mf|fuzzy|fuzblock|fuzarith|findcluster|fcm|evalmf|evalfis|dsigmf|defuzz|convertfis|anfisedit|anfis|addvar|addrule|addmf)\b-      comment: Matlab fuzzy logic toolbox-      scope: support.function.toolbox.fuzzy-logic.matlab-  matlab_support_toolbox_garch:-    - match: \b(ret2price|price2ret|ppTSTest|ppARTest|ppARDTest|parcorr|lratiotest|lbqtest|lagmatrix|hpfilter|garchsim|garchset|garchpred|garchplot|garchma|garchinfer|garchget|garchfit|garchdisp|garchcount|garchar|dfTSTest|dfARTest|dfARDTest|crosscorr|autocorr|archtest|aicbic)\b-      comment: Matlab GARCH toolbox-      scope: support.function.toolbox.garch.matlab-  matlab_support_toolbox_genetic_algorithms:-    - match: \b(threshacceptbnd|simulannealbnd|saoptimset|saoptimget|psoptimset|psoptimget|psearchtool|patternsearch|gatool|gaoptimset|gaoptimget|gamultiobj|ga)\b-      comment: Matlab genetic algorithms toolbox-      scope: support.function.toolbox.genetic-algorithms.matlab-  matlab_support_toolbox_image_acquisition:-    - match: \b(wait|videoinput|triggerinfo|triggerconfig|trigger|stoppreview|stop|start|set|save|propinfo|preview|peekdata|obj2mfile|load|isvalid|isrunning|islogging|imaqtool|imaqreset|imaqmontage|imaqmem|imaqhwinfo|imaqhelp|imaqfind|getsnapshot|getselectedsource|getdata|get|flushdata|disp|delete|closepreview|clear)\b-      comment: Matlab image acquisition toolbox-      scope: support.function.toolbox.image-acquisition.matlab-  matlab_support_toolbox_image_processing:-    - match: \b(zoom|ycbcr2rgb|xyz2uint16|xyz2double|wiener2|whitepoint|watershed|warp|uintlut|uint8|uint16|truesize|translate|tonemap|tforminv|tformfwd|tformarray|subimage|stretchlim|strel|stdfilt|std2|roipoly|roifilt2|roifill|roicolor|rgbplot|rgb2ycbcr|rgb2ntsc|rgb2ind|rgb2hsv|rgb2gray|regionprops|reflect|rangefilt|radon|qtsetblk|qtgetblk|qtdecomp|psf2otf|poly2mask|pixval|phantom|para2fan|padarray|otf2psf|ordfilt2|ntsc2rgb|normxcorr2|nlfilter|nitfread|nitfinfo|montage|medfilt2|mean2|mat2gray|maketform|makeresampler|makelut|makecform|makeConstrainToRectFcn|label2rgb|lab2uint8|lab2uint16|lab2double|isrgb|isnitf|isind|isicc|isgray|isflat|isbw|iradon|iptwindowalign|iptsetpref|iptremovecallback|iptnum2ordinal|ipticondir|iptgetpref|iptgetapi|iptdemos|iptcheckstrs|iptchecknargin|iptcheckmap|iptcheckinput|iptcheckhandle|iptcheckconn|iptaddcallback|iptSetPointerBehavior|iptPointerManager|iptGetPointerBehavior|ippl|intlut|interfileread|interfileinfo|ind2rgb|ind2gray|imwrite|imview|imtransform|imtophat|imtool|imsubtract|imshow|imscrollpanel|imsave|imrotate|imresize|imregionalmin|imregionalmax|imrect|imreconstruct|imread|impyramid|imputfile|improfile|impositionrect|impoly|impoint|implay|impixelregionpanel|impixelregion|impixelinfoval|impixelinfo|impixel|imoverviewpanel|imoverview|imopen|imnoise|immultiply|immovie|immagbox|imline|imlincomb|imimposemin|imhmin|imhmax|imhist|imhandles|imgetfile|imgcf|imgca|imfreehand|imfinfo|imfilter|imfill|imextendedmin|imextendedmax|imerode|imellipse|imdivide|imdistline|imdisplayrange|imdilate|imcrop|imcontrast|imcontour|imcomplement|imclose|imclearborder|imbothat|imattributes|imapprox|imagemodel|imageinfo|imadjust|imadd|imabsdiff|im2uint8|im2uint16|im2single|im2java2d|im2java|im2int16|im2double|im2col|im2bw|ifftn|ifft2|ifanbeam|idct2|iccwrite|iccroot|iccread|iccfind|hsv2rgb|houghpeaks|houghlines|hough|histeq|hdrread|graythresh|grayslice|graycoprops|graycomatrix|gray2ind|getsequence|getrect|getrangefromclass|getpts|getnhood|getneighbors|getline|getimagemodel|getimage|getheight|fwind2|fwind1|ftrans2|fspecial|fsamp2|freqz2|freqspace|fliptform|findbounds|filter2|fftshift|fftn|fft2|fanbeam|fan2para|entropyfilt|entropy|edgetaper|edge|double|dither|dicomwrite|dicomuid|dicomread|dicomlookup|dicominfo|dicomdict|dicomanon|demosaic|decorrstretch|deconvwnr|deconvreg|deconvlucy|deconvblind|dctmtx|dct2|cpstruct2pairs|cpselect|cpcorr|cp2tform|corr2|convn|convmtx2|conv2|conndef|colorbar|colfilt|col2im|cmunique|cmpermute|checkerboard|bwunpack|bwulterode|bwtraceboundary|bwselect|bwperim|bwpack|bwmorph|bwlabeln|bwlabel|bwhitmiss|bweuler|bwdist|bwboundaries|bwareaopen|bwarea|brighten|blkproc|bestblk|axes2pix|applylut|applycform|analyze75read|analyze75info|adapthisteq)\b-      comment: Matlab image processing toolbox-      scope: support.function.toolbox.image-processing.matlab-  matlab_support_toolbox_instrument_control:-    - match: \b(visa|update|udp|trigger|tmtool|tcpip|stopasync|spoll|size|set|serialbreak|serial|selftest|scanstr|save|resolvehost|remove|record|readasync|query|propinfo|obj2mfile|midtest|midedit|methods|memwrite|memunmap|memread|mempoke|mempeek|memmap|makemid|load|length|iviconfigurationstore|isvalid|invoke|instrreset|instrnotify|instrid|instrhwinfo|instrhelp|instrfindall|instrfind|instrcallback|inspect|icdevice|gpib|geterror|get|fwrite|fscanf|fread|fprintf|fopen|flushoutput|flushinput|fgets|fgetl|fclose|echoudp|echotcpip|disp|disconnect|devicereset|delete|connect|commit|clrdevice|clear|binblockwrite|binblockread|add)\b-      comment: Matlab instrument control toolbox-      scope: support.function.toolbox.instrument-control.matlab-  matlab_support_toolbox_mapping:-    - match: \b(zerom|zero22pi|zdatam-ui|zdatam|wrapToPi|wrapTo360|wrapTo2Pi|wrapTo180|worldmap|worldfilewrite|worldfileread|westof|vmap0ui|vmap0rhead|vmap0read|vmap0data|vinvtran|viewshed|vfwdtran|vec2mtx|utmzoneui|utmzone|utmgeoid|usgsdems|usgsdem|usgs24kdem|usamap|updategeostruct|unwrapMultipart|unitstr|unitsratio|undotrim|undoclip|uimaptbx|trimdata|trimcart|trackui|trackg|track2|track1|track|toRadians|toDegrees|tissot|timezone|timedim|time2str|tightmap|tigerp|tigermif|tgrline|textm|tbase|tagm-ui|tagm|symbolm|surfm|surflsrm|surflm|surfdist|surfacem|str2angle|stem3m|stdm|stdist|spzerom|spcread|smoothlong|sm2rad|sm2nm|sm2km|sm2deg|sizem|showm-ui|showm|showaxes|shapewrite|shaperead|shapeinfo|shaderel|setpostn|setm|setltln|seedm|sectorg|sec2hr|sec2hms|sec2hm|sdtsinfo|sdtsdemread|scxsc|scirclui|scircleg|scircle2|scircle1|scatterm|scaleruler|satbath|rsphere|roundn|rotatetext|rotatem|rootlayr|rhxrh|restack|resizem|removeExtraNanSeparators|refvec2mat|refmat2vec|reducem|reckon|readmtx|readfk5|readfields|rcurve|rad2sm|rad2nm|rad2km|rad2dms|rad2dm|rad2deg|quiverm|quiver3m|qrydata|putpole|projlist|projinv|projfwd|project|previewmap|polyxpoly|polysplit|polymerge|polyjoin|polycut|polybool|poly2fv|poly2cw|poly2ccw|polcmap|plotm|plot3m|plabel|pixcenters|pix2map|pix2latlon|pcolorm|patchm|patchesm|parallelui|paperscale|panzoom|originui|org2pol|onem|npi2pi|northarrow|nm2sm|nm2rad|nm2km|nm2deg|newpole|neworig|navfix|nanm|nanclip|namem|n2ecc|mobjects|mlayers|mlabelzero22pi|mlabel|minvtran|minaxis|mfwdtran|meshm|meshlsrm|meshgrat|meridianfwd|meridianarc|meanm|mdistort|mat2hms|mat2dms|mapview|maptrims|maptrimp|maptriml|maptrim|maptool|mapshow|maps|mapprofile|mapoutline|maplist|mapbbox|map2pix|makesymbolspec|makerefmat|makemapped|makedbfspec|makeattribspec|majaxis|lv2ecef|ltln2val|los2|linem|linecirc|limitm|lightmui|lightm|legs|lcolorbar|latlon2pix|kmlwrite|km2sm|km2rad|km2nm|km2deg|ispolycw|ismapped|ismap|isShapeMultipart|intrplon|intrplat|interpm|inputm|ind2rgb8|imbedm|hr2sec|hr2hms|hr2hm|hms2sec|hms2mat|hms2hr|hms2hm|histr|hista|hidem-ui|hidem|handlem-ui|handlem|gtopo30s|gtopo30|gtextm|gshhs|grn2eqa|gridm|grid2image|grepfields|gradientm|globedems|globedem|getworldfilename|getseeds|getm|geotiffread|geotiffinfo|geotiff2mstruct|geoshow|geoloc2grid|geodetic2geocentricLat|geodetic2ecef|geocentric2geodeticLat|gcxsc|gcxgc|gcwaypts|gcpmap|gcm|gc2sc|fromRadians|fromDegrees|framem|flatearthpoly|flat2ecc|fipsname|findm|filterm|fillm|fill3m|extractm|extractfield|etopo5|etopo|eqa2grn|epsm|encodem|ellipse1|elevation|egm96geoid|ecef2lv|ecef2geodetic|ecc2n|ecc2flat|eastof|dteds|dted|driftvel|driftcorr|dreckon|dms2rad|dms2mat|dms2dm|dms2degrees|dms2deg|dm2degrees|distortcalc|distdim|distance|dist2str|displaym|departure|demdataui|demcmap|degrees2dms|degrees2dm|deg2sm|deg2rad|deg2nm|deg2km|deg2dms|deg2dm|defaultm|dcwrhead|dcwread|dcwgaz|dcwdata|daspectm|crossfix|convertlat|contourm|contourfm|contourcmap|contour3m|cometm|comet3m|combntns|colorui|colorm|cmapui|clrmenu|closePolygonParts|clmo-ui|clmo|clma|clipdata|clegendm|clabelm|circcirc|changem|cart2grn|camupm|camtargm|camposm|bufferm|azimuth|axesscale|axesmui|axesm|axes2ecc|avhrrlambert|avhrrgoode|areaquad|areamat|areaint|arcgridread|antipode|angledim|angl2str|almanac)\b-      comment: Matlab mapping toolbox-      scope: support.function.toolbox.mapping.matlab-  matlab_support_toolbox_model_based_calibration:-    - match: \b(modelinput|getAlternativeTypes|getAlternativeNames|YData|XDataNames|XData|Widths|Values|Value|UserVariables|UpdateResponseFeatures|UpdateResponse|Units|Type|TestPlans|TestFilters|SummaryStatisticsForTest|SummaryStatistics|StepwiseStatus|StepwiseSelection|StepwiseRegression|Status|StatisticsDialog|SizeOfParameterSet|SingleVIF|SignalUnits|SignalNames|SetupDialog|SetTermStatus|SaveAs|Save|RollbackEdit|RestoreDataForTest|RestoreData|Responses|ResponseSignalName|Response|RemoveVariable|RemoveTestFilter|RemoveOutliersForTest|RemoveOutliers|RemoveFilter|RemoveData|Remove|RecordsPerTest|Properties|PredictedValueForTest|PredictedValue|PartialVIF|Parameters|ParameterStatistics|PEVForTest|PEV|Owner|OutputData|OutlierIndicesForTest|OutlierIndices|NumberOfTests|NumberOfRecords|NumberOfParameters|NumberOfInputs|New|Names|Name|MultipleVIF|ModifyVariable|ModifyTestFilter|ModifyFilter|Modified|ModelSetup|ModelForTest|Model|MakeHierarchicalResponse|LocalResponses|LoadProject|Load|Levels|Level|Jacobian|IsEditable|IsBeingEdited|IsAlternative|InputsPerLevel|Inputs|InputSignalNames|InputSetupDialog|InputData|ImportFromMBCDataStructure|ImportFromFile|GetTermStatus|GetTermLabel|GetIncludedTerms|GetDesignMatrix|GetAllTerms|FitAlgorithm|Fit|Filters|Filename|ExportToMBCDataStructure|Export|Evaluate|DoubleResponseData|DoubleInputData|DiagnosticStatistics|DetachData|DefineTestGroups|DefineNumberOfRecordsPerTest|DefaultModels|DataFileTypes|Data|CreateTestplan|CreateResponseFeature|CreateResponse|CreateProject|CreateModel|CreateData|CreateAlternativeModels|CreateAlgorithm|Covariance|Correlation|CopyData|CommitEdit|ChooseAsBest|Centers|BoxCoxSSE|BeginEdit|AttachData|Append|AlternativeResponses|AlternativeModelStatistics|AliasMatrix|AddVariable|AddTestFilter|AddFilter)\b-      comment: Matlab model-based calibration toolbox-      scope: support.function.toolbox.model-based-calibration.matlab-  matlab_support_toolbox_model_predictive_control:-    - match: \b(zpk|trim|tf|ss|size|sim|setoutdist|setname|setmpcsignals|setmpcdata|setindist|setestim|set|qpdantz|plot|pack|mpcverbosity|mpcstate|mpcsimopt|mpcprops|mpcmove|mpchelp|mpc|getoutdist|getname|getmpcdata|getindist|getestim|get|d2d|compare|cloffset)\b-      comment: Matlab model predictive control toolbox-      scope: support.function.toolbox.model-predictive-control.matlab-  matlab_support_toolbox_neural_network:-    - match: \b(vec2ind|tribas|trainscg|trains|trainrp|trainr|trainoss|trainlm|traingdx|traingdm|traingda|traingd|traincgp|traincgf|traincgb|trainc|trainbr|trainbfgc|trainbfg|trainb|train|tansig|sse|srchhyb|srchgol|srchcha|srchbre|srchbac|sp2narx|softmax|sim|setx|seq2con|scalprod|satlins|satlin|revert|removerows|removeconstantrows|randtop|rands|randnr|randnc|radbas|quant|purelin|processpca|postreg|poslin|pnormc|plotvec|plotv|plotsom|plotpv|plotperf|plotpc|plotes|plotep|plotbr|normr|normprod|normc|nntool|nnt2som|nnt2rb|nnt2p|nnt2lvq|nnt2lin|nnt2hop|nnt2ff|nnt2elm|nnt2c|nftool|newsom|newrbe|newrb|newpnn|newp|newnarxsp|newnarx|newlvq|newlrn|newlind|newlin|newhop|newgrnn|newfftd|newff|newelm|newdtdnn|newcf|newc|network|netsum|netprod|netinv|negdist|mseregec|msereg|mse|minmax|midpoint|maxlinlr|mapstd|mapminmax|mandist|mae|logsig|linkdist|learnwh|learnsom|learnpn|learnp|learnos|learnlv2|learnlv1|learnk|learnis|learnhd|learnh|learngdm|learngd|learncon|initzero|initwb|initnw|initlay|initcon|init|ind2vec|hintonwb|hintonw|hextop|hardlims|hardlim|gridtop|getx|gensim|fixunknowns|errsurf|dotprod|dividerand|divideint|divideind|divideblock|dist|display|disp|convwf|concur|con2seq|compet|combvec|calcperf|calcpd|calcjx|calcjejj|calcgx|boxdist|adapt)\b-      comment: Matlab neural network toolbox-      scope: support.function.toolbox.neural-network.matlab-  matlab_support_toolbox_opc:-    - match: \b(writeasync|write|wait|trend|stop|start|showopcevents|set|serveritems|serveritemprops|save|removepublicgroup|refresh|readasync|read|propinfo|peekdata|openosf|opctool|opcsupport|opcstruct2timeseries|opcstruct2array|opcserverinfo|opcreset|opcregister|opcread|opcqstr|opcqparts|opcqid|opchelp|opcfind|opcda|opccallback|obj2mfile|makepublic|load|isvalid|getnamespace|getdata|get|genslwrite|genslread|flushdata|flatnamespace|disp|disconnect|delete|copyobj|connect|clonegroup|cleareventlog|cancelasync|additem|addgroup)\b-      comment: Matlab OPC toolbox-      scope: support.function.toolbox.opc.matlab-  matlab_support_toolbox_optimization:-    - match: \b(quadprog|optimtool|optimset|optimget|lsqnonneg|lsqnonlin|lsqlin|lsqcurvefit|linprog|gangstr|fzmult|fzero|fsolve|fseminf|fminunc|fminsearch|fminimax|fmincon|fminbnd|fgoalattain|color|bintprog)\b-      comment: Matlab optimization toolbox-      scope: support.function.toolbox.optimization.matlab-  matlab_support_toolbox_rf:-    - match: \b(writeva|write|timeresp|smith|setop|semilogy|semilogx|rfmodel\.rational|rfdata\.power|rfdata\.noise|rfdata\.nf|rfdata\.network|rfdata\.mixerspur|rfdata\.ip3|rfdata\.data|rfckt\.txline|rfckt\.twowire|rfckt\.shuntrlc|rfckt\.seriesrlc|rfckt\.series|rfckt\.rlcgline|rfckt\.passive|rfckt\.parallelplate|rfckt\.parallel|rfckt\.mixer|rfckt\.microstrip|rfckt\.lclowpasstee|rfckt\.lclowpasspi|rfckt\.lchighpasstee|rfckt\.lchighpasspi|rfckt\.lcbandstoptee|rfckt\.lcbandstoppi|rfckt\.lcbandpasstee|rfckt\.lcbandpasspi|rfckt\.hybridg|rfckt\.hybrid|rfckt\.delay|rfckt\.datafile|rfckt\.cpw|rfckt\.coaxial|rfckt\.cascade|rfckt\.amplifier|restore|read|polar|plotyy|plot|loglog|listparam|listformat|impulse|getz0|getop|freqresp|extract|circle|calculate|analyze)\b-      comment: Matlab RF toolbox-      scope: support.function.toolbox.rf.matlab-  matlab_support_toolbox_robust_control:-    - match: \b(wcsens|wcnorm|wcmargin|wcgopt|wcgain|usubs|uss|usimsamp|usiminfo|usimfill|usample|ureal|uplot|umat|ultidyn|ufrd|udyn|ucomplexm|ucomplex|sysic|symdec|stack|stabproj|squeeze|slowfast|skewdec|simplify|showlmi|setmvar|setlmis|sectf|sdlsim|sdhinfsyn|sdhinfnorm|schurmr|robuststab|robustperf|robopt|repmat|reduce|randuss|randumat|randatom|quadstab|quadperf|pvinfo|pvec|psys|psinfo|popov|polydec|pdsimul|pdlstab|normalized2actual|newlmi|ncfsyn|ncfmr|ncfmargin|mussvextract|mussv|msfsyn|modreal|mktito|mkfilter|mixsyn|mincx|matnbr|mat2dec|ltrsyn|ltiarray2uss|loopsyn|loopsens|loopmargin|lmivar|lmiterm|lmireg|lminbr|lmiinfo|lmiedit|lftdata|isuncertain|ispsys|imp2ss|imp2exp|icsignal|iconnect|icomplexify|hinfsyn|hinfgs|hankelsv|hankelmr|h2syn|h2hinfsyn|gridureal|gevp|getlmis|genphase|gapmetric|fitmagfrd|fitfrd|feasp|evallmi|drawmag|dmplot|dksyn|dkitopt|diag|delmvar|dellmi|defcx|decnbr|decinfo|decay|dec2mat|dcgainmr|cpmargin|complexify|cmsclsyn|bstmr|bilin|balancmr|augw|aff2pol|actual2normalized)\b-      comment: Matlab robust control toolbox-      scope: support.function.toolbox.robust-control.matlab-  matlab_support_toolbox_signal_processing:-    - match: \b(zplane|zp2tf|zp2ss|zp2sos|zerophase|yulewalk|xcov|xcorr2|xcorr|wvtool|wintool|window|vco|upsample|upfirdn|unwrap|uencode|udecode|tukeywin|tripuls|triang|tfestimate|tf2zpk|tf2zp|tf2ss|tf2sos|tf2latc|taylorwin|strips|stmcb|stepz|ss2zp|ss2tf|ss2sos|square|sptool|spectrum\.yulear|spectrum\.welch|spectrum\.periodogram|spectrum\.music|spectrum\.mtm|spectrum\.mcov|spectrum\.eigenvector|spectrum\.cov|spectrum\.burg|spectrum|spectrogram|sosfilt|sos2zp|sos2tf|sos2ss|sos2cell|sinc|sigwin|sgolayfilt|sgolay|seqperiod|schurrc|sawtooth|rootmusic|rooteig|rlevinson|residuez|resample|rectwin|rectpuls|rceps|rc2poly|rc2lar|rc2is|rc2ac|pyulear|pwelch|pulstran|prony|pow2db|polystab|polyscale|poly2rc|poly2lsf|poly2ac|pmusic|pmtm|pmcov|phasez|phasedelay|periodogram|peig|pcov|pburg|parzenwin|nuttallwin|mscohere|modulate|medfilt1|maxflat|lsf2poly|lpc|lp2lp|lp2hp|lp2bs|lp2bp|levinson|latcfilt|latc2tf|lar2rc|kaiserord|kaiser|is2rc|invfreqz|invfreqs|intfilt|interp|impz|impinvar|ifft2|ifft|idct|icceps|hilbert|hann|hamming|grpdelay|goertzel|gmonopuls|gausswin|gaussfir|gauspuls|fvtool|freqz|freqspace|freqs|flattopwin|firrcos|firpmord|firpm|firls|fircls1|fircls|fir2|fir1|findpeaks|filtstates\.dfiir|filtstates|filtic|filtfilt|filternorm|filter2|filter|fftshift|fftfilt|fft2|fft|fdatool|eqtflength|ellipord|ellipap|ellip|dspfwiz|dspdata\.pseudospectrum|dspdata\.psd|dspdata\.msspectrum|dspdata|dpsssave|dpssload|dpssdir|dpssclear|dpss|downsample|diric|digitrevorder|dftmtx|dfilt\.statespace|dfilt\.scalar|dfilt\.parallel|dfilt\.latticemamin|dfilt\.latticemamax|dfilt\.latticearma|dfilt\.latticear|dfilt\.latticeallpass|dfilt\.fftfir|dfilt\.dfsymfir|dfilt\.dffirt|dfilt\.dffir|dfilt\.dfasymfir|dfilt\.df2tsos|dfilt\.df2t|dfilt\.df2sos|dfilt\.df2|dfilt\.df1tsos|dfilt\.df1t|dfilt\.df1sos|dfilt\.df1|dfilt\.delay|dfilt\.cascade|dfilt|demod|deconv|decimate|dct|db2pow|czt|cpsd|cplxpair|cov|corrmtx|corrcoef|convmtx|conv2|conv|chirp|cheby2|cheby1|chebwin|cheb2ord|cheb2ap|cheb1ord|cheb1ap|cfirpm|cell2sos|cconv|cceps|buttord|butter|buttap|buffer|bohmanwin|blackmanharris|blackman|bitrevorder|bilinear|besself|besselap|bartlett|barthannwin|aryule|armcov|arcov|arburg|angle|ac2rc|ac2poly|abs)\b-      comment: Matlab signal processing toolbox-      scope: support.function.toolbox.signal-processing.matlab-  matlab_support_toolbox_spline:-    - match: \b(tpaps|titanium|subplus|stmak|stcol|spterms|sprpp|spmak|splpp|splinetool|spcrv|spcol|spaps|spapi|spap2|sorted|slvblk|rsmak|rscvn|rpmak|ppmak|optknt|newknt|knt2mlt|knt2brk|getcurve|franke|fnzeros|fnxtr|fnval|fntlr|fnrfn|fnplt|fnmin|fnjmp|fnint|fndir|fnder|fncmb|fnchg|fnbrk|fn2fm|cscvn|csaps|csapi|csape|chbpnt|bspline|bspligui|brk2knt|bkbrk|aveknt|augknt|aptknt)\b-      comment: Matlab spline toolbox-      scope: support.function.toolbox.spline.matlab-  matlab_support_toolbox_statistics:-    - match: \b(ztest|zscore|x2fx|wishrnd|wblstat|wblrnd|wblplot|wblpdf|wbllike|wblinv|wblfit|wblcdf|view|vartestn|vartest2|vartest|var|upperparams|unifstat|unifrnd|unifpdf|unifit|unifinv|unifcdf|unidstat|unidrnd|unidpdf|unidinv|unidcdf|type|ttest2|ttest|tstat|trnd|trimmean|treeval|treetest|treeprune|treefit|treedisp|tpdf|tinv|tiedrank|test|tdfread|tcdf|tblwrite|tblread|tabulate|surfht|summary|stepwisefit|stepwise|std|statset|statget|squareform|sortrows|sort|slicesample|skewness|silhouette|signtest|signrank|setlabels|set|segment|scatterhist|sampsizepwr|runstest|rstool|rsmdemo|rowexch|rotatefactors|robustfit|robustdemo|risk|ridge|replacedata|reorderlevels|regstats|regress|refline|refcurve|rcoplot|raylstat|raylrnd|raylpdf|raylinv|raylfit|raylcdf|ranksum|range|randtool|randsample|random|randg|quantile|qqplot|prune|procrustes|probplot|princomp|prctile|posterior|polyval|polytool|polyfit|polyconf|poisstat|poissrnd|poisspdf|poissinv|poissfit|poisscdf|perms|pearsrnd|pdist|pdf|pcares|pcacov|partialcorr|paretotails|pareto|parent|parallelcoords|ordinal|numnodes|nsegments|normstat|normspec|normrnd|normplot|normpdf|normlike|norminv|normfit|normcdf|nominal|nodesize|nodeprob|nodeerr|nlpredci|nlparci|nlintool|nlinfit|ncx2stat|ncx2rnd|ncx2pdf|ncx2inv|ncx2cdf|nctstat|nctrnd|nctpdf|nctinv|nctcdf|ncfstat|ncfrnd|ncfpdf|ncfinv|ncfcdf|nbinstat|nbinrnd|nbinpdf|nbininv|nbinfit|nbincdf|nanvar|nansum|nanstd|nanmin|nanmedian|nanmean|nanmax|nancov|mvtrnd|mvtpdf|mvtcdf|mvregresslike|mvregress|mvnrnd|mvnpdf|mvncdf|multivarichart|multcompare|moment|mode|mnrval|mnrnd|mnrfit|mnpdf|mlecov|mle|mhsample|mergelevels|median|mean|mdscale|manovacluster|manova1|maineffectsplot|mahal|mad|lsqnonneg|lsline|lscov|lowerparams|lognstat|lognrnd|lognpdf|lognlike|logninv|lognfit|logncdf|linkage|linhyptest|lillietest|lhsnorm|lhsdesign|leverage|levelcounts|kurtosis|kstest2|kstest|ksdensity|kruskalwallis|kmeans|join|johnsrnd|jbtest|jackknife|iwishrnd|isundefined|ismember|islevel|isbranch|iqr|invpred|interactionplot|inconsistent|icdf|hygestat|hygernd|hygepdf|hygeinv|hygecdf|hougen|hmmviterbi|hmmtrain|hmmgenerate|hmmestimate|hmmdecode|histfit|hist3|hist|harmmean|hadamard|gscatter|grpstats|grp2idx|gpstat|gprnd|gppdf|gplotmatrix|gplike|gpinv|gpfit|gpcdf|gname|gmdistribution|glyphplot|glmval|glmfit|gline|gevstat|gevrnd|gevpdf|gevlike|gevinv|gevfit|gevcdf|getlabels|get|geostat|geornd|geopdf|geomean|geoinv|geocdf|gamstat|gamrnd|gampdf|gamlike|gaminv|gamfit|gamcdf|gagerr|fullfact|fsurfht|fstat|frnd|friedman|fracfactgen|fracfact|fpdf|fit|finv|ff2n|fcdf|factoran|expstat|exprnd|exppdf|explike|expinv|expfit|expcdf|evstat|evrnd|evpdf|evlike|evinv|evfit|evcdf|eval|errorbar|ecdfhist|ecdf|dwtest|dummyvar|droplevels|disttool|dfittool|dendrogram|dcovary|daugment|datasetfun|dataset|cutvar|cuttype|cutpoint|cutcategories|crosstab|coxphfit|cov|corrcov|corrcoef|corr|cordexch|copulastat|copularnd|copulapdf|copulaparam|copulafit|copulacdf|cophenet|controlrules|controlchart|combnk|cmdscale|clusterdata|cluster|classregtree|classprob|classify|classcount|cholcov|children|chi2stat|chi2rnd|chi2pdf|chi2inv|chi2gof|chi2cdf|cdfplot|cdf|ccdesign|casewrite|caseread|capaplot|capability|canoncorr|candgen|candexch|boxplot|boundary|bootstrp|bootci|biplot|binostat|binornd|binopdf|binoinv|binofit|binocdf|betastat|betarnd|betapdf|betalike|betainv|betafit|betacdf|bbdesign|barttest|aoctool|ansaribradley|anovan|anova2|anova1|andrewsplot|addlevels|addedvarplot)\b-      comment: Matlab statistics toolbox-      scope: support.function.toolbox.statistics.matlab-  matlab_support_toolbox_symbolic_math:-    - match: \b(ztrans|zeta|vpa|uint8|uint64|uint32|uint16|triu|tril|taylortool|taylor|symsum|syms|sym2poly|sym|svd|subs|subexpr|sort|solve|size|sinint|single|simplify|simple|rsums|rref|round|real|rank|quorem|procread|pretty|poly2sym|poly|numden|null|mod|mhelp|mfunlist|mfun|mapleinit|maple|log2|log10|limit|latex|laplace|lambertw|jordan|jacobian|iztrans|inv|int8|int64|int32|int16|int|imag|ilaplace|ifourier|hypergeom|horner|heaviside|funtool|frac|fourier|fortran|floor|fix|finverse|findsym|factor|ezsurfc|ezsurf|ezpolar|ezplot3|ezplot|ezmeshc|ezmesh|ezcontourf|ezcontour|expm|expand|eq|eig|dsolve|double|dirac|digits|diff|diag|det|cosint|conj|compose|colspace|collect|coeffs|ceil|ccode)\b-      comment: Matlab symbolic math toolbox-      scope: support.function.toolbox.symbolic-math.matlab-  matlab_support_toolbox_system_identification:-    - match: \b(zpkdata|zpk|wavenet|view|unitgain|treepartition|timestamp|tfdata|tf|struc|step|ssdata|ss|spafdr|spa|size|simsd|sim|sigmoidnet|setstruc|setpname|setpar|setinit|set|selstruc|segment|saturation|rplr|rpem|roe|resid|resample|realdata|rbj|rarx|rarmax|pzmap|pwlinear|present|predict|polyreg|polydata|poly1d|plot|pexcit|pem|pe|oe|nyquist|nuderst|noisecnv|nlhw|nlarx|nkshift|neuralnet|n4sid|misdata|midprefs|merge|lintan|linear|linapp|ivx|ivstruc|ivar|iv4|isreal|init|impulse|ifft|idss|idresamp|idproc|idpoly|idnlmodel|idnlhw|idnlgrey|idnlarx|idmodel|idmdlsim|idinput|idgrey|idfrd|idfilt|ident|iddata|idarx|getreg|getpar|getinit|getexp|get|fselect|freqresp|frd|fpe|fft|ffplot|feedback|fcat|evaluate|etfe|diff|detrend|delayest|deadzone|d2c|customreg|customnet|cra|covf|compare|c2d|bode|bj|balred|arxstruc|arxdata|arx|armax|ar|aic|advice|addreg|EstimationInfo)\b-      comment: Matlab system identification toolbox-      scope: support.function.toolbox.system-identification.matlab-  matlab_support_toolbox_virtual_reality:-    - match: \b(vrworld|vrwhos|vrwho|vrview|vrspacemouse|vrsetpref|vrrotvec2mat|vrrotvec|vrrotmat2vec|vrplay|vrori2dir|vrnode|vrlib|vrjoystick|vrinstall|vrgetpref|vrfigure|vrdrawnow|vrdir2ori|vrclose|vrclear)\b-      comment: Matlab virtual reality toolbox-      scope: support.function.toolbox.virtual-reality.matlab-  matlab_support_toolbox_wavelet:-    - match: \b(wvarchg|wtreemgr|wthrmngr|wthresh|wthcoef2|wthcoef|wtbxmngr|wtbo|wscalogram|write|wrev|wrcoef2|wrcoef|wpviewcf|wptree|wpthcoef|wpsplt|wprec2|wprec|wprcoef|wpjoin|wpfun|wpdencmp|wpdec2|wpdec|wpcutree|wpcoef|wpbmpen|wp2wtree|wnoisest|wnoise|wmulden|wmspca|wmaxlev|wkeep|wfusmat|wfusimg|wfilters|wfbmesti|wfbm|wextend|wentropy|wenergy2|wenergy|wdencmp|wden|wdcenergy|wdcbm2|wdcbm|wcodemat|wbmpen|waverec2|waverec|wavenames|wavemngr|wavemenu|waveinfo|wavefun2|wavefun|wavedemo|wavedec2|wavedec|wave2lp|upwlev2|upwlev|upcoef2|upcoef|treeord|treedpth|tnodes|thselect|symwavf|symaux|swt2|swt|shanwavf|set|scal2frq|readtree|read|rbiowavf|qmf|plot|pat2cwav|orthfilt|ntree|ntnode|noleaves|nodesplt|nodepar|nodejoin|nodedesc|nodeasc|mswthresh|mswden|mswcmptp|mswcmpscr|mswcmp|morlet|meyeraux|meyer|mexihat|mdwtrec|mdwtdec|mdwtcluster|lwtcoef2|lwtcoef|lwt2|lwt|lsinfo|ls2filt|liftwave|liftfilt|leaves|laurpoly|laurmat|iswt2|iswt|istnode|isnode|intwave|ind2depo|ilwt2|ilwt|idwt2|idwt|get|gauswavf|filt2ls|fbspwavf|entrupd|dyadup|dyaddown|dwtmode|dwt2|dwt|dtree|drawtree|displs|disp|detcoef2|detcoef|depo2ind|ddencmp|dbwavf|dbaux|cwt|coifwavf|cmorwavf|chgwdeccfs|cgauwavf|cfs2wpt|centfrq|bswfun|biorwavf|biorfilt|besttree|bestlevt|appcoef2|appcoef|allnodes|addlift)\b-      comment: Matlab wavelet toolbox-      scope: support.function.toolbox.wavelet.matlab-  matlab_variable_function:-    - match: \b(nargin|nargout|varargin|varargout)\b-      comment: MATLAB variables-      scope: variable.other.function.matlab-  matlab_oop:-    - match: \b(classdef)\b-      scope: keyword.other.oop.matlab+            - match: \bRepeating\b+              scope: variable.parameter.attribute.matlab+        - match: '{{eol}}'+          set:+            - meta_scope: meta.arguments.matlab+            - match: \bend\b+              scope: keyword.control.end.arguments.matlab+              pop: true+            - match: \b\.\?+              scope: keyword.operator.properties.matlab+            - include: argument-placeholder+            - include: builtin-types+            - include: expressions+    - match: (?=\S)+      set: function-body++  function-body:+    - meta_scope: meta.function.matlab+    - match: \bend\b+      scope: keyword.control.end.function.matlab+      pop: true+    - include: function-declaration+    - include: keywords+    - include: expressions++  class-declaration:+    - match: \bclassdef\b+      scope: keyword.declaration.class.matlab       push:-        - meta_scope: meta.classdef.matlab+        - meta_scope: meta.class.matlab+        - include: eol-pop         - match: \(-          scope: punctuation.definition.properties.begin.matlab+          scope: punctuation.section.parens.begin.matlab           push:-            - meta_scope: meta.properties.matlab+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop             - match: \)-              scope: punctuation.definition.properties.end.matlab+              scope: punctuation.section.parens.end.matlab               pop: true-            - match: ','-              scope: punctuation.separator.matlab-            - match: \b(Abstract|AllowedSubclasses|ConstructOnLoad|HandleCompatible|Hidden|InferiorClasses|Sealed)\s*(=)-              captures:-                1: variable.parameter.matlab-                2: keyword.operator.symbols.matlab-            - match: \b(false|true)\b-              scope: constant.language.matlab-        - match : \b(\w+)\b(?:\s*(<)\s*(\w+))?-          captures:-            1: entity.name.class.matlab-            2: punctuation.definition.inheritance.matlab-            3: entity.other.inherited-class.matlab+            # https://www.mathworks.com/help/matlab/matlab_oop/class-attributes.html+            - match: \b(?:Abstract|AllowedSubclasses|ConstructOnLoad|HandleCompatible|Hidden|InferiorClasses|Sealed)\b+              scope: variable.parameter.attribute.matlab+            - include: expressions+        - match: '{{identifier}}'+          scope: entity.name.class.matlab+          set:+            - meta_content_scope: meta.class.matlab+            - include: line-continuation+            - match: '{{eol}}'+              set: class-body+            - match: <+              scope: punctuation.separator.inheritance.matlab+              set:+                - meta_content_scope: meta.class.matlab+                - include: line-continuation+                - match: '{{eol}}'+                  set: class-body+                - match: '{{identifier}}'+                  scope: entity.other.inherited-class.matlab+                - match: \&+                  scope: punctuation.separator.sequence.matlab++  class-body:+    - meta_scope: meta.class.matlab+    - match: \bend\b+      scope: keyword.control.end.class.matlab+      pop: true+    - include: comments+    - include: class-properties+    - include: class-methods+    - include: class-events+    - include: class-enumeration++  class-properties:+    - match: \bproperties\b+      scope: keyword.declaration.properties.matlab+      push:+        - meta_scope: meta.properties.matlab+        - match: '{{eol}}'+          set: class-properties-body+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop+            - match: \)+              scope: punctuation.section.parens.end.matlab+              pop: true+            # https://www.mathworks.com/help/matlab/matlab_oop/property-attributes.html+            - match: \b(?:AbortSet|Abstract|Access|Constant|Dependent|GetAccess|GetObservable|Hidden|NonCopyable|PartialMatchPriority|SetAccess|SetObservable|Transient)\b+              scope: variable.parameter.attribute.matlab+            - match: \b(?:public|protected|private)\b+              scope: storage.modifier.matlab+            - include: expressions++  class-properties-body:+    - meta_scope: meta.properties.matlab+    - match: \bend\b+      scope: keyword.control.end.properties.matlab+      pop: true+    - include: builtin-types+    - include: expressions++  class-methods:+    - match: \bmethods\b+      scope: keyword.declaration.methods.matlab+      push:+        - meta_scope: meta.methods.matlab+        - match: '{{eol}}'+          set: class-methods-body+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop+            - match: \)+              scope: punctuation.section.parens.end.matlab+              pop: true+            # https://www.mathworks.com/help/matlab/matlab_oop/method-attributes.html+            - match: \b(?:Abstract|Access|Hidden|Sealed|Static)\b+              scope: variable.parameter.attribute.matlab+            - match: \b(?:public|protected|private)\b+              scope: storage.modifier.matlab+            - include: expressions++  class-methods-body:+    - meta_scope: meta.methods.matlab+    - match: \bend\b+      scope: keyword.control.end.methods.matlab+      pop: true+    - include: comments+    - include: function-declaration++  class-events:+    - match: \bevents\b+      scope: keyword.declaration.events.matlab+      push:+        - meta_scope: meta.events.matlab+        - match: '{{eol}}'+          set: class-events-body+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop+            - match: \)+              scope: punctuation.section.parens.end.matlab+              pop: true+            # https://www.mathworks.com/help/matlab/matlab_oop/event-attributes.html+            - match: \b(?:Hidden|ListenAccess|NotifyAccess)\b+              scope: variable.parameter.attribute.matlab+            - match: \b(?:public|protected|private)\b+              scope: storage.modifier.matlab+            - include: expressions++  class-events-body:+    - meta_scope: meta.events.matlab+    - match: \bend\b+      scope: keyword.control.end.events.matlab+      pop: true+    - include: comments+    - include: variable++  class-enumeration:+    - match: \benumeration\b+      scope: keyword.declaration.enumeration.matlab+      push: class-enumeration-body++  class-enumeration-body:+    - meta_scope: meta.enumeration.matlab+    - match: \bend\b+      scope: keyword.control.end.enumeration.matlab+      pop: true+    - include: expressions++###[ KEYWORDS AND FLOW CONTROL BLOCKS ]#######################################++  # https://www.mathworks.com/help/matlab/ref/iskeyword.html+  # https://www.mathworks.com/help/matlab/control-flow.html+  keywords:+    - include: if+    - include: switch+    - include: for+    - include: parfor+    - include: while+    - include: try+    - include: spmd+    - match: \bbreak\b+      scope: keyword.control.flow.break.matlab+    - match: \bcontinue\b+      scope: keyword.control.flow.continue.matlab+    - match: \breturn\b+      scope: keyword.control.flow.return.matlab+    - match: \bglobal\b+      scope: storage.modifier.global.matlab+    - match: \bpersistent\b+      scope: storage.modifier.persistent.matlab++  if:+    - match: \bif\b+      scope: keyword.control.conditional.if.matlab+      push:+        - meta_scope: meta.block.if.matlab+        - match: \belseif\b+          scope: keyword.control.conditional.elseif.matlab+        - match: \belse\b+          scope: keyword.control.conditional.else.matlab+        - match: \bend\b+          scope: keyword.control.end.if.matlab           pop: true-    - match: \b(properties)\s+(\()-      captures:-        1: keyword.other.oop.matlab-        2: punctuation.definition.properties.begin.matlab+        - include: keywords+        - include: expressions++  switch:+    - match: \bswitch\b+      scope: keyword.control.conditional.switch.matlab       push:-        - match: \)-          scope: punctuation.definition.properties.end.matlab+        - meta_scope: meta.block.switch.matlab+        - match: \bcase\b+          scope: keyword.control.conditional.case.matlab+        - match: \botherwise\b+          scope: keyword.control.conditional.otherwise.matlab+        - match: \bend\b+          scope: keyword.control.end.switch.matlab           pop: true-        - match: ','-          scope: punctuation.separator.matlab-        - match: \b(AbortSet|Abstract|Access|Constant|Dependent|GetAccess|GetObservable|Hidden|NonCopyable|SetAccess|SetObservable|Transient)\s*(=)-          captures:-            1: variable.parameter.matlab-            2: keyword.operator.symbols.matlab-        - match: \b(false|true|public|protected|private)\b-          scope: constant.language.matlab-    - match: \b(properties|events|enumeration)\b-      scope: keyword.other.oop.matlab-  not_equal_invalid:-    - match: \s*!=\s*-      comment: Not equal is written ~= not !=.-      scope: invalid.illegal.invalid-inequality.matlab-  number:-    - match: '\b(0[xX])(\h+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b'-      scope: meta.number.integer.hexadecimal.matlab-      captures:-        1: constant.numeric.base.matlab-        2: constant.numeric.value.matlab-        3: constant.numeric.suffix.matlab-    - match: '\b(0[bB])([01]+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b'-      scope: meta.number.integer.binary.matlab-      captures:-        1: constant.numeric.base.matlab-        2: constant.numeric.value.matlab-        3: constant.numeric.suffix.matlab-    - match: '((?:\d*(\.))?\d+(?:[Ee][-+]?\d+)?)(i|j)\b'-      scope: meta.number.imaginary.decimal.matlab-      captures:-        1: constant.numeric.value.matlab-        2: punctuation.separator.decimal.matlab-        3: constant.numeric.suffix.matlab-    - match: '(?:\d*(\.))?\d+(?:[Ee][-+]?\d+)?\b'-      scope: meta.number.float.decimal.matlab constant.numeric.value.matlab-      captures:-        1: punctuation.separator.decimal.matlab-  operators:-    - match: \s*(==|~=|~|>|>=|<|<=|=|&|&&|:|\||\|\||\+|-|\*|\.\*|/|\./|\\|\.\\|\^|\.\^)\s*-      comment: Operator symbols-      scope: keyword.operator.symbols.matlab-  parens:-    - match: \(-      scope: punctuation.section.parens.begin.matlab+        - include: keywords+        - include: expressions++  for:+    - match: \bfor\b+      scope: keyword.control.loop.for.matlab       push:-        - meta_scope: meta.parens.matlab-        - match: \)-          scope: punctuation.section.parens.end.matlab-          # pop: true-          set: transpose_post_parens-        - include: allofem-        - include: end_in_parens-  special_characters:-    - match: '((\%([\+\-0]?\d{0,3}(\.\d{1,3})?)(c|d|e|E|f|g|G|s|((b|t)?(o|u|x|X))))|\%\%|\\(b|f|n|r|t|\\))'-      comment: Operator symbols-      scope: constant.character.escape.matlab-  string:-    - match: ''''-      scope: punctuation.definition.string.begin.matlab+        - meta_scope: meta.block.for.matlab+        - match: \bend\b+          scope: keyword.control.end.for.matlab+          pop: true+        - include: keywords+        - include: expressions++  parfor:+    - match: \bparfor\b+      scope: keyword.control.loop.parfor.matlab       push:-        - meta_scope: string.quoted.single.matlab-        - match: '''(?=(\]|\)|\}|=|~|<|>|&|\||-|\+|\*|\.|\^|\||\s|;|:|,))'-          scope: punctuation.definition.string.end.matlab+        - meta_scope: meta.block.parfor.matlab+        - match: \bend\b+          scope: keyword.control.end.parfor.matlab           pop: true-        - include: escaped_quote-        - include: unescaped_quote-        - include: special_characters-    - match: '"'-      scope: punctuation.definition.string.begin.matlab+        - include: keywords+        - include: expressions++  while:+    - match: \bwhile\b+      scope: keyword.control.loop.while.matlab       push:-        - meta_scope: string.quoted.double.matlab-        - match: '"'-          scope: punctuation.definition.string.end.matlab+        - meta_scope: meta.block.while.matlab

I assume the restriction for meta.block to { ... } was due to it beeing one of the scope recommendations in https://www.sublimetext.com/docs/scope_naming.html#meta.

Some languages use an additional begin keyword, e.g.

while condition begin
   ...
end

so it would be analogous here to have meta.block from (and including) begin to end. But I don't really think there is a big advantage to have separate meta.while meta.block scopes (at least in Matlab which doesn't use a begin keyword). And I when I say "block" here, I would probably mean the whole statement, including while keyword and condition. But it's probably a matter of interpretation.

Anyway, I would suggest to keep a single meta.block.while here.

jwortmann

comment created time in 7 hours

Pull request review commentsublimehq/Packages

[Matlab] Better syntax highlighting

 contexts:       scope: comment.line.percentage.matlab       captures:         1: punctuation.definition.comment.matlab-  all_matlab_keywords:-    - include: matlab_keyword_control-    - include: matlab_keyword_operator-    - include: matlab_keyword_other-    - include: matlab_oop-    - include: matlab_storage_type-    - include: matlab_storage_modifier-    - include: matlab_constant_language-    - include: matlab_variable_function-    - include: matlab_keyword_desktop-    - include: matlab_keyword_mathematics-    - include: matlab_keyword_analysis-    - include: matlab_storage_control-    - include: matlab_support_graphics-    - include: matlab_support_function-    - include: matlab_support_external-    - include: matlab_support_toolbox_aerospace-    - include: matlab_support_toolbox_bioinformatics-    - include: matlab_support_toolbox_communications-    - include: matlab_support_toolbox_control_systems-    - include: matlab_support_toolbox_curve_fitting-    - include: matlab_support_toolbox_data_acquisition-    - include: matlab_support_toolbox_database-    - include: matlab_support_toolbox_datafeed-    - include: matlab_support_toolbox_design-    - include: matlab_support_toolbox_excel_link-    - include: matlab_support_toolbox_filter_design_hdl_coder-    - include: matlab_support_toolbox_financial_derivatives-    - include: matlab_support_toolbox_financial-    - include: matlab_support_toolbox_fixed_income-    - include: matlab_support_toolbox_fixed_point-    - include: matlab_support_toolbox_fuzzy_logic-    - include: matlab_support_toolbox_garch-    - include: matlab_support_toolbox_genetic_algorithms-    - include: matlab_support_toolbox_image_acquisition-    - include: matlab_support_toolbox_image_processing-    - include: matlab_support_toolbox_instrument_control-    - include: matlab_support_toolbox_mapping-    - include: matlab_support_toolbox_model_predictive_control-    - include: matlab_support_toolbox_model_based_calibration-    - include: matlab_support_toolbox_neural_network-    - include: matlab_support_toolbox_opc-    - include: matlab_support_toolbox_optimization-    - include: matlab_support_toolbox_rf-    - include: matlab_support_toolbox_robust_control-    - include: matlab_support_toolbox_signal_processing-    - include: matlab_support_toolbox_spline-    - include: matlab_support_toolbox_statistics-    - include: matlab_support_toolbox_symbolic_math-    - include: matlab_support_toolbox_system_identification-    - include: matlab_support_toolbox_virtual_reality-    - include: matlab_support_toolbox_wavelet-  allofem:-    - include: parens-    - include: curlybrackets-    - include: end_in_parens-    - include: brackets-    - include: transpose-    - include: string-    - include: all_matlab_keywords-    - include: all_matlab_comments-    - include: variable-    - include: number-    - include: variable_invalid-    - include: operators-    - match: (\.\.\.)\s*(\S.*\n?)?++  line-continuation:+    - match: (\.{3})\s*(\S.*\n?)?       captures:-        1: punctuation.separator.continuation.matlab+        1: punctuation.separator.continuation.line.matlab         2: comment.line.matlab++###[ LANGUAGE FUNDAMENTALS ]##################################################++  numbers:+    - match: \b(0[xX])(\h+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b+      scope: meta.number.integer.hexadecimal.matlab+      captures:+        1: constant.numeric.base.matlab+        2: constant.numeric.value.matlab+        3: constant.numeric.suffix.matlab+      push: transpose+    - match: \b(0[bB])([01]+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b+      scope: meta.number.integer.binary.matlab+      captures:+        1: constant.numeric.base.matlab+        2: constant.numeric.value.matlab+        3: constant.numeric.suffix.matlab+      push: transpose+    - match: ((?:\d+(\.)\d*|(\.)?\d+)(?:[Ee][-+]?\d+)?)(i|j)\b+      scope: meta.number.imaginary.decimal.matlab+      captures:+        1: constant.numeric.value.matlab+        2: punctuation.separator.decimal.matlab+        3: punctuation.separator.decimal.matlab+        4: constant.numeric.suffix.matlab+      push: transpose+    - match: (?:\d+(\.)\d*|(\.)?\d+)(?:[Ee][-+]?\d+)?(?!\w)+      scope: meta.number.float.decimal.matlab constant.numeric.value.matlab+      captures:+        1: punctuation.separator.decimal.matlab+        2: punctuation.separator.decimal.matlab+      push: transpose++  string:+    - match: \'+      scope: punctuation.definition.string.begin.matlab+      push:+        - meta_scope: string.quoted.single.matlab+        - match: \'(?=(\]|\)|\}|=|~|<|>|&|\||-|\+|\*|\.|\^|\||\s|;|:|,))+          scope: punctuation.definition.string.end.matlab+          set:+            - match: (?:\s*(\.\'))?+              captures:+                1: keyword.operator.transpose.matlab+              pop: true+        # escaped quote+        - match: \'\'+          scope: constant.character.escape.matlab+        # unescaped quote+        - match: \'(?=.)+          scope: invalid.illegal.unescaped-quote.matlab+        - include: escaped-character+        - include: format-spec+    - match: \"+      scope: punctuation.definition.string.begin.matlab+      push:+        - meta_scope: string.quoted.double.matlab+        - match: \"\"+          scope: constant.character.escape.matlab+        - match: \"+          scope: punctuation.definition.string.end.matlab+          set: transpose+        - include: escaped-character+        - include: format-spec++  escaped-character:+    - match: \%\%|\\\\|\\[abfnrtv]+      scope: constant.character.escape.matlab++  format-spec:+    - match: \%(?:\d\$)?[-+\s0#]?(?:\d+|\*)?(?:\.\d+|\.\*)?(?:[cdeEfgGis]|[bt]?[ouxX])+      scope: constant.other.placeholder.matlab++  variable:+    - match: \b{{identifier}}\b+      scope: meta.variable.other.valid.matlab+      captures:+        1: punctuation.accessor.dot.matlab+      push: transpose++  transposed-variable:+    - match: \b({{identifier}})(?:\s*(\.\')|(\'))+      captures:+        1: meta.variable.other.valid.matlab+        2: keyword.operator.transpose.matlab+        3: keyword.operator.transpose.matlab++  variable-assignment:+    - match: \b({{identifier}})\s*(=)(?!=)+      captures:+        1: meta.variable.other.valid.matlab+        2: keyword.operator.assignment.matlab++  structure:+    - match: \b{{identifier}}(\.)\b+      captures:+        1: punctuation.accessor.dot.matlab+      push:+        - meta_scope: meta.variable.other.valid.matlab+        - match: '{{identifier}}(\.)\b'+          captures:+            1: punctuation.accessor.dot.matlab+        - match: '{{identifier}}'+          set: transpose++###[ PARENS/BRACKETS/BRACES BLOCKS ]##########################################++  parens:+    - match: \(+      scope: punctuation.section.parens.begin.matlab+      push:+        - meta_scope: meta.parens.matlab+        - match: \)+          scope: punctuation.section.parens.end.matlab+          set: transpose+        - include: last-index+        - include: expressions+   brackets:-    - match: '\['+    - match: \[       scope: punctuation.section.brackets.begin.matlab       push:         - meta_scope: meta.brackets.matlab-        - match: '\]'+        - match: \]           scope: punctuation.section.brackets.end.matlab-          set: transpose_post_parens-        - include: allofem-  constants_override:-    - match: '(^|\;)\s*(ans|i|j|inf|Inf|nan|NaN|eps|end)\s*=[^=]'-      comment: The user is trying to override MATLAB constants and functions.-      scope: meta.inappropriate.matlab-  curlybrackets:-    - match: '\{'-      scope: meta.brackets.curly.matlab+          set: transpose+        - include: separator-semicolon+        - include: argument-placeholder+        - include: expressions++  braces:+    - match: \{+      scope: punctuation.section.braces.begin.matlab       push:-        - meta_content_scope: meta.brackets.curly.matlab-        - match: '\}'-          scope: meta.brackets.curly.matlab-          set: transpose_post_parens-        - include: allofem-        - include: end_in_parens-  end_in_parens:-    - match: \bend\b-      comment: end as operator symbol-      scope: keyword.operator.symbols.matlab-  escaped_quote:-    - match: "''"-      scope: constant.character.escape.matlab+        - meta_scope: meta.braces.matlab+        - match: \}+          scope: punctuation.section.braces.end.matlab+          set: transpose+        - include: separator-semicolon+        - include: last-index+        - include: expressions -  # Function-  function:-    - match: '^\s*(function)\b'-      captures:-        1 : keyword.other.matlab+###[ DECLARATION BLOCKS ]#####################################################++  function-declaration:+    - match: \bfunction\b+      scope: keyword.declaration.function.matlab       push:-        - match: \b(\w+)\s+(=)+        - meta_scope: meta.function.matlab+        - include: line-continuation+        - match: '{{eol}}'+          set: function-body-arguments+        - match: ({{identifier}})\s*(=)           captures:-            1: variable.parameter.output.function.matlab+            1: variable.parameter.output.matlab             2: keyword.operator.assignment.matlab-        - match: '\['-          scope: punctuation.section.brackets.matlab+        - match: \[+          scope: punctuation.section.brackets.begin.matlab           push:-            - match: \b\w+\b-              scope: variable.parameter.output.function.matlab-            - match: ','-              scope: punctuation.separator.matlab-            - match: '\]'-              scope: punctuation.section.brackets.matlab+            - match: '{{identifier}}'+              scope: variable.parameter.output.matlab+            - include: line-continuation+            - match: '{{eol}}'+              set: function-body-arguments+            - include: separator-comma+            - match: \]+              scope: punctuation.section.brackets.end.matlab               pop: true-        - match: '(=)?\s*\b(\w+)\s*(\()'+        - match: =+          scope: keyword.operator.assignment.matlab+        - match: (?:(?:set|get)(\.))?{{identifier}}+          scope: entity.name.function.matlab           captures:-            1: keyword.operator.assignment.matlab-            2: entity.name.function.matlab-            3: punctuation.section.parens.begin.matlab+            1: punctuation.accessor.dot.matlab+        - match: (?=\()           set:             - meta_scope: meta.function.parameters.matlab-            - match: \b\w+\b-              scope: variable.parameter.input.function.matlab-            - match: ','-              scope: punctuation.separator.matlab-            - match: '\)'+            - include: line-continuation+            - match: '{{eol}}'+              set: function-body-arguments+            - match: \(+              scope: punctuation.section.parens.begin.matlab+            - match: '{{identifier}}'+              scope: variable.parameter.input.matlab+            - include: separator-comma+            - include: argument-placeholder+            - match: \)+              scope: punctuation.section.parens.end.matlab+              set: function-body-arguments++  function-body-arguments:+    - meta_content_scope: meta.function.matlab+    - include: comments+    - match: \barguments\b+      scope: keyword.context.arguments.matlab+      push:+        - meta_scope: meta.arguments.matlab+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: eol-pop+            - match: \)               scope: punctuation.section.parens.end.matlab               pop: true-        - match: \b(\w+)\s*(?=%|$)-          captures:-            1: entity.name.function.matlab-          pop: true-  # Matlab keywords-  matlab_constant_language:-    - match: \b(ans|eps|false|Inf|inf|intmax|intmin|namelengthmax|NaN|nan|on|off|realmax|realmin|true|i|j|pi)\b-      comment: MATLAB constants-      scope: constant.language.matlab-  matlab_keyword_analysis:-    - match: \b(abs|addevent|addsample|addsampletocollection|addts|angle|conv|conv2|convn|corrcoef|cov|cplxpair|ctranspose|cumtrapz|deconv|del2|delevent|delsample|delsamplefromcollection|detrend|diff|fft|fft2|fftn|fftshift|fftw|filter|filter2|getabstime|getdatasamplesize|getinterpmethod|getqualitydesc|getsampleusingtime|gettimeseriesnames|gettsafteratevent|gettsafterevent|gettsatevent|gettsbeforeatevent|gettsbeforeevent|gettsbetweenevents|gradient|idealfilter|ifft|ifft2|ifftn|ifftshift|iqr|max|mean|median|min|mldivide|mode|mrdivide|removets|resample|setabstime|setinterpmethod|settimeseriesnames|std|synchronize|timeseries|trapz|tscollection|tsdata.event|tsprops|tstool|var)\b-      comment: Data Analysis-      scope: keyword.analysis.matlab-  matlab_keyword_control:-    - match: \b(break|case|catch|continue|else|elseif|end|for|parfor|if|otherwise|pause|rethrow|return|start|startat|stop|switch|try|wait|while)\b-      comment: Control keywords-      scope: keyword.control.matlab-  matlab_keyword_desktop:-    - match: \b(addpath|assignin|builddocsearchdb|cd|checkin|checkout|clc|clear|clipboard|cmopts|commandhistory|commandwindow|computer|copyfile|customverctrl|dbclear|dbcont|dbdown|dbquit|dbstack|dbstatus|dbstep|dbstop|dbtype|dbup|debug|demo|diary|dir|doc|docopt|docsearch|dos|echodemo|edit|exit|fileattrib|filebrowser|finish|format|genpath|getenv|grabcode|help|helpbrowser|helpwin|home|hostid|info|keyboard|license|lookfor|ls|matlab|matlabrc|matlabroot|memory|mkdir|mlint|mlintrpt|more|movefile|notebook|openvar|pack|partialpath|path|path2rc|pathdef|pathsep|pathtool|perl|playshow|prefdir|preferences|profile|profsave|publish|pwd|quit|recycle|rehash|restoredefaultpath|rmdir|rmpath|savepath|setenv|startup|support|system|toolboxdir|type|undocheckout|unix|ver|verctrl|verLessThan|version|web|what|whatsnew|which|winqueryreg|workspace)\b|(^\s*!.*$)-      comment: Desktop Tools and Development-      scope: keyword.desktop.matlab-  matlab_keyword_mathematics:-    - match: \b(accumarray|acos|acosd|acosh|acot|acotd|acoth|acsc|acscd|acsch|airy|amd|asec|asecd|asech|asin|asind|asinh|atan|atan2|atand|atanh|balance|besselh|besseli|besselj|besselk|bessely|beta|betainc|betaln|bicg|bicgstab|blkdiag|bsxfun|bvp4c|bvpget|bvpinit|bvpset|bvpxtend|cart2pol|cart2sph|cat|cdf2rdf|ceil|cgs|chol|cholinc|cholupdate|circshift|colamd|colperm|compan|complex|cond|condeig|condest|conj|convhull|convhulln|cos|cosd|cosh|cot|cotd|coth|cross|csc|cscd|csch|cumprod|cumsum|dblquad|dde23|ddeget|ddesd|ddeset|decic|det|deval|diag|disp|display|dmperm|dot|eig|eigs|ellipj|ellipke|erf|erfc|erfcinv|erfcx|erfinv|etree|etreeplot|exp|expint|expm|expm1|eye|factor|factorial|find|fix|flipdim|fliplr|flipud|floor|fminbnd|fminsearch|freqspace|full|funm|fzero|gallery|gamma|gammainc|gammaln|gcd|gmres|gplot|griddata|griddata3|griddatan|gsvd|hadamard|hankel|hess|hilb|horzcat|hypot|idivide|ilu|imag|ind2sub|Inf|inline|interp1|interp1q|interp2|interp3|interpft|interpn|inv|invhilb|ipermute|kron|lcm|ldl|legendre|length|linsolve|linspace|log|log10|log1p|log2|logm|logspace|lscov|lsqnonneg|lsqr|lu|luinc|magic|meshgrid|minres|mkpp|mod|NaN|nchoosek|ndgrid|ndims|nextpow2|nnz|nonzeros|norm|normest|nthroot|null|numel|nzmax|ode113|ode15i|ode15s|ode23|ode23s|ode23t|ode23tb|ode45|odefile|odeget|odeset|odextend|ones|optimget|optimset|ordeig|ordqz|ordschur|orth|pascal|pcg|pchip|pdepe|pdeval|perms|permute|pinv|planerot|pol2cart|poly|polyder|polyeig|polyfit|polyint|polyval|polyvalm|pow2|ppval|primes|prod|psi|qmr|qr|qrdelete|qrinsert|qrupdate|quad|quadl|quadv|qz|rand|randn|randperm|rank|rat|rats|rcond|real|reallog|realpow|realsqrt|rem|repmat|reshape|residue|roots|rosser|rot90|round|rref|rsf2csf|schur|sec|secd|sech|shiftdim|sign|sin|sind|sinh|size|sort|sortrows|spalloc|sparse|spaugment|spconvert|spdiags|speye|spfun|sph2cart|spline|spones|spparms|sprand|sprandn|sprandsym|sprank|spy|sqrt|sqrtm|squeeze|ss2tf|sub2ind|subspace|sum|svd|svds|symamd|symbfact|symmlq|symrcm|tan|tand|tanh|toeplitz|trace|treelayout|treeplot|tril|triplequad|triu|unmkpp|unwrap|vander|vectorize|vertcat|wilkinson|zeros)\b-      comment: Mathematics-      scope: keyword.mathematics.matlab-  matlab_keyword_operator:-    - match: \b(all|and|any|bitand|bitcmp|bitget|bitmax|bitor|bitset|bitshift|bitxor|eq|ge|gt|isa|isappdata|iscell|iscellstr|ischar|iscom|isdir|isempty|isequal|isequalwithequalnans|isevent|isfield|isfinite|isfloat|isglobal|ishandle|ishold|isinf|isinteger|isinterface|isjava|iskeyword|isletter|islogical|ismac|ismember|ismethod|isnan|isnumeric|isobject|ispc|ispref|isprime|isprop|isreal|isscalar|issorted|isspace|issparse|isstrprop|isstruct|isstudent|isunix|isvarname|isvector|le|lt|mislocked|or|ne|not|setxor|union|unique|xor)\b-      comment: Operator keywords-      scope: keyword.operator.matlab-  matlab_keyword_other:-    - match: \b(addOptional|addParamValue|addRequired|addtodate|arrayfun|assert|blanks|builtin|calendar|cell|celldisp|cellfun|cellplot|clock|cputime|createCopy|datatipinfo|date|datenum|datestr|datevec|dbmex|deal|deblank|depdir|depfun|echo|eomday|error|etime|eval|evalc|evalin|exist|feval|fieldnames|findstr|func2str|genvarname|getfield|global|inferiorto|inmem|intersect|intwarning|lasterr|lasterror|lastwarn|loadobj|lower|methods|methodsview|mex|mexext|mfilename|mlock|munlock|nargchk|nargoutchk|now|orderfields|parse|pcode|regexp|regexpi|regexprep|regexptranslate|rmfield|run|saveobj|setdiff|setfield|sprintf|sscanf|strcat|strcmp|strcmpi|strfind|strings|strjust|strmatch|strncmp|strncmpi|strread|strrep|strtok|strtrim|structfun|strvcat|subsasgn|subsindex|subsref|substruct|superiorto|swapbytes|symvar|tic|timer|timerfind|timerfindall|toc|typecast|upper|warning|weekday|who|whos)\b-      comment: Other keywords-      scope: keyword.other.matlab-  matlab_storage_control:-    - match: \b(addframe|ascii|audioplayer|audiorecorder|aufinfo|auread|auwrite|avifile|aviinfo|aviread|beep|binary|cdfepoch|cdfinfo|cdfread|cdfwrite|csvread|csvwrite|daqread|dlmread|dlmwrite|exifread|feof|ferror|fgetl|fgets|filehandle|filemarker|fileparts|filesep|fitsinfo|fitsread|fopen|fprintf|fread|frewind|fscanf|fseek|ftell|ftp|fullfile|fwrite|gunzip|gzip|hdf|hdf5|hdf5info|hdf5read|hdf5write|hdfinfo|hdfread|hdftool|imfinfo|importdata|imread|imwrite|lin2mu|load|memmapfile|mget|mmfileinfo|movie2avi|mput|mu2lin|multibandread|multibandwrite|open|rename|save|sendmail|sound|soundsc|tar|tempdir|tempname|textread|textscan|todatenum|uiimport|untar|unzip|urlread|urlwrite|wavfinfo|wavplay|wavread|wavrecord|wavwrite|winopen|wk1finfo|wk1read|wk1write|xlsfinfo|xlsread|xlswrite|xmlread|xmlwrite|xslt|zip)\b-      comment: File I/O-      scope: storage.control.matlab-  matlab_storage_modifier:-    - match: \b(base2dec|bin2dec|cast|cell2mat|cell2struct|cellstr|char|dec2base|dec2bin|dec2hex|hex2dec|hex2num|int2str|mat2cell|mat2str|num2cell|native2unicode|num2hex|num2str|persistent|str2double|str2func|str2mat|str2num|struct2cell|unicode2native)\b-      comment: Storage modifiers-      scope: storage.modifier.matlab-  matlab_storage_type:-    - match: \b(class|double|function|functions|input|inputname|inputParser|int16|int32|int64|int8|logical|single|struct|uint16|uint32|uint64|uint8)\b-      comment: Storage types-      scope: storage.type.matlab-  matlab_support_external:-    - match: \b(actxcontrol|actxcontrollist|actxcontrolselect|actxGetRunningServer|actxserver|addproperty|calllib|callSoapService|createClassFromWsdl|createSoapMessage|ddeadv|ddeexec|ddeinit|ddepoke|ddereq|ddeterm|ddeunadv|deleteproperty|enableservice|eventlisteners|events|Execute|GetCharArray|GetFullMatrix|GetVariable|GetWorkspaceData|import|instrcallback|instrfind|instrfindall|interfaces|invoke|javaaddpath|javaArray|javachk|javaclasspath|javaMethod|javaObject|javarmpath|libfunctions|libfunctionsview|libisloaded|libpointer|libstruct|loadlibrary|MaximizeCommandWindow|MinimizeCommandWindow|move|parseSoapResponse|PutCharArray|PutFullMatrix|PutWorkspaceData|readasync|record|registerevent|release|send|serial|serialbreak|stopasync|unloadlibrary|unregisterallevents|unregisterevent|usejava)\b-      comment: External Interfaces-      scope: support.external.matlab-  matlab_support_function:-    - match: \b(addpref|align|dialog|errordlg|export2wsdlg|getappdata|getpixelposition|getpref|ginput|guidata|guide|guihandles|helpdlg|inputdlg|inspect|listdlg|listfonts|menu|movegui|msgbox|openfig|printdlg|printpreview|questdlg|rmappdata|rmpref|selectmoveresize|setappdata|setpixelposition|setpref|textwrap|uibuttongroup|uicontextmenu|uicontrol|uigetdir|uigetfile|uigetpref|uimenu|uiopen|uipanel|uipushtool|uiputfile|uiresume|uisave|uisetcolor|uisetfont|uisetpref|uistack|uitoggletool|uitoolbar|uiwait|waitbar|waitfor|waitforbuttonpress|warndlg)\b-      comment: Creating Graphical User Interfaces-      scope: support.function.matlab-  matlab_support_graphics:-    - match: \b(alim|allchild|alpha|alphamap|ancestor|annotation|area|axes|axis|bar|bar3|bar3h|barh|box|brighten|camdolly|cameratoolbar|camlight|camlookat|camorbit|campan|campos|camproj|camroll|camtarget|camup|camva|camzoom|caxis|cla|clabel|clf|close|closereq|colorbar|colordef|colormap|colormapeditor|ColorSpec|comet|comet3|compass|coneplot|contour|contour3|contourc|contourf|contourslice|contrast|copyobj|curl|cylinder|daspect|datacursormode|datetick|delaunay|delaunay3|delaunayn|delete|diffuse|divergence|dragrect|drawnow|dsearch|dsearchn|ellipsoid|errorbar|ezcontour|ezcontourf|ezmesh|ezmeshc|ezplot|ezplot3|ezpolar|ezsurf|ezsurfc|feather|figure|figurepalette|fill|fill3|findall|findfigs|findobj|flow|fplot|frame2im|frameedit|gca|gcbf|gcbo|gcf|gco|get|getframe|graymon|grid|gtext|hgexport|hggroup|hgload|hgsave|hgtransform|hidden|hist|histc|hold|hsv2rgb|im2frame|im2java|image|imagesc|imformats|ind2rgb|inpolygon|interpstreamspeed|isocaps|isocolors|isonormals|isosurface|legend|light|lightangle|lighting|line|LineSpec|linkaxes|linkprop|loglog|makehgtform|material|mesh|meshc|meshz|movie|newplot|noanimate|opengl|orient|pan|pareto|patch|pbaspect|pcolor|peaks|pie|pie3|plot|plot3|plotbrowser|plotedit|plotmatrix|plottools|plotyy|polar|polyarea|print|printopt|propedit|propertyeditor|quiver|quiver3|rbbox|rectangle|rectint|reducepatch|reducevolume|refresh|refreshdata|reset|rgb2hsv|rgbplot|ribbon|rose|rotate|rotate3d|saveas|scatter|scatter3|semilogx|semilogy|set|shading|showplottool|shrinkfaces|slice|smooth3|specular|sphere|spinmap|stairs|stem|stem3|stream2|stream3|streamline|streamparticles|streamribbon|streamslice|streamtube|subplot|subvolume|surf|surf2patch|surface|surfc|surfl|surfnorm|tetramesh|texlabel|text|title|trimesh|triplot|trisurf|tsearch|tsearchn|view|viewmtx|volumebounds|voronoi|voronoin|waterfall|whitebg|xlabel|xlim|ylabel|ylim|zlabel|zlim|zoom)\b-      comment: Graphics-      scope: support.function.graphics.matlab-  matlab_support_toolbox_aerospace:-    - match: \b(wrldmagm|updateNodes|updateCamera|updateBodies|update|show|saveas|rrtheta|rrsigma|rrdelta|removeViewpoint|removeNode|removeBody|read|quatrotate|quatnormalize|quatnorm|quatmultiply|quatmod|quatinv|quatdivide|quatconj|quat2dcm|quat2angle|play|nodeInfo|moveBody|move|mjuliandate|machnumber|load|lla2ecef|leapyear|juliandate|initialize|initIfNeeded|hide|gravitywgs84|geoidegm96|geod2geoc|geocradius|geoc2geod|generatePatches|findstartstoptimes|fganimation|ecef2lla|dpressure|delete|decyear|dcmecef2ned|dcmbody2wind|dcm2quat|dcm2latlon|dcm2angle|dcm2alphabeta|datcomimport|createBody|correctairspeed|convvel|convtemp|convpres|convmass|convlength|convforce|convdensity|convangvel|convangacc|convang|convacc|atmospalt|atmosnrlmsise00|atmosnonstd|atmoslapse|atmosisa|atmoscoesa|atmoscira|angle2quat|angle2dcm|alphabeta|airspeed|addViewpoint|addRoute|addNode|addBody|VirtualRealityAnimation|Viewpoint|Node|Geometry|GenerateRunScript|Camera|Body|Animation)\b-      comment: Matlab aerospace toolbox-      scope: support.function.toolbox.aerospace.matlab-  matlab_support_toolbox_bioinformatics:-    - match: \b(zonebackadj|weights|view|traverse|traceplot|topoorder|swalign|svmtrain|svmsmoset|svmclassify|subtree|sptread|showhmmprof|showalignment|shortestpath|seqwordcount|seqtool|seqshowwords|seqshoworfs|seqreverse|seqrcomplement|seqprofile|seqpdist|seqneighjoin|seqmatch|seqlogo|seqlinkage|seqinsertgaps|seqdotplot|seqdisp|seqconsensus|seqcomplement|seq2regexp|select|scfread|samplealign|rnaplot|rnafold|rnaconvert|rna2dna|rmasummary|rmabackadj|revgeneticcode|restrict|reroot|reorder|redgreencmap|rebasecuts|rankfeatures|randseq|randfeatures|ramachandran|quantilenorm|prune|proteinpropplot|proteinplot|profalign|probesetvalues|probesetplot|probesetlookup|probesetlink|probelibraryinfo|plot|phytreewrite|phytreetool|phytreeread|phytree|pfamhmmread|pdist|pdbwrite|pdbread|pdbdistplot|pam|palindromes|optimalleaforder|oligoprop|nwalign|num2goid|nuc44|ntdensity|nt2int|nt2aa|nmercount|mzxmlread|mzxml2peaks|multialignviewer|multialignread|multialign|msviewer|mssgolay|msresample|msppresample|mspeaks|mspalign|msnorm|mslowess|msheatmap|msdotplot|msbackadj|msalign|molweight|molviewer|minspantree|maxflow|mavolcanoplot|mattest|mapcaplot|manorm|malowess|maloglog|mairplot|mainvarsetnorm|maimage|magetfield|mafdr|maboxplot|knnimpute|knnclassify|joinseq|jcampread|isspantree|isomorphism|isoelectric|isdag|int2nt|int2aa|imageneread|hmmprofstruct|hmmprofmerge|hmmprofgenerate|hmmprofestimate|hmmprofalign|graphtraverse|graphtopoorder|graphshortestpath|graphpred2path|graphminspantree|graphmaxflow|graphisspantree|graphisomorphism|graphisdag|graphconncomp|graphcluster|graphallshortestpaths|gprread|gonnet|goannotread|getrelatives|getpdb|getnodesbyid|getnewickstr|getmatrix|gethmmtree|gethmmprof|gethmmalignment|getgeodata|getgenpept|getgenbank|getembl|getedgesbynodeid|getdescendants|getcanonical|getbyname|getblast|getancestors|get|geosoftread|genpeptread|genevarfilter|geneticcode|generangefilter|geneont|genelowvalfilter|geneentropyfilter|genbankread|gcrmabackadj|gcrma|galread|featuresparse|featuresmap|fastawrite|fastaread|exprprofvar|exprprofrange|evalrasmolscript|emblread|dolayout|dndsml|dnds|dna2rna|dimercount|dayhoff|cytobandread|crossvalind|cpgisland|conncomp|codoncount|codonbias|clustergram|cleave|classperf|chromosomeplot|cghcbs|celintensityread|blosum|blastreadlocal|blastread|blastncbi|blastlocal|blastformat|biograph|baselookup|basecount|atomiccomp|aminolookup|allshortestpaths|agferead|affyread|affyprobeseqread|affyprobeaffinities|affyinvarsetnorm|aacount|aa2nt|aa2int)\b-      comment: Matlab bioinformatics toolbox-      scope: support.function.toolbox.bioinformatics.matlab-  matlab_support_toolbox_communications:-    - match: \b(wgn|vitdec|vec2mat|varlms|syndtable|symerr|stdchan|ssbmod|ssbdemod|signlms|shift2mask|seqgen\.pn|seqgen|semianalytic|scatterplot|rsgenpoly|rsencof|rsenc|rsdecof|rsdec|rls|ricianchan|reset|rectpulse|rcosine|rcosiir|rcosflt|rcosfir|rayleighchan|randsrc|randintrlv|randint|randerr|randdeintrlv|quantiz|qfuncinv|qfunc|qammod|qamdemod|pskmod|pskdemod|primpoly|poly2trellis|pmmod|pmdemod|plot|pammod|pamdemod|oqpskmod|oqpskdemod|oct2dec|normlms|noisebw|muxintrlv|muxdeintrlv|mskmod|mskdemod|modnorm|modem\.qammod|modem\.qamdemod|modem\.pskmod|modem\.pskdemod|modem\.pammod|modem\.pamdemod|modem\.oqpskmod|modem\.oqpskdemod|modem\.mskmod|modem\.mskdemod|modem\.genqammod|modem\.genqamdemod|modem\.dpskmod|modem\.dpskdemod|modem|mlseeq|mldivide|minpol|matintrlv|matdeintrlv|mask2shift|marcumq|log|lms|lloyds|lineareq|istrellis|isprimitive|iscatastrophic|intrlv|intdump|ifft|huffmanenco|huffmandict|huffmandeco|hilbiir|helscanintrlv|helscandeintrlv|helintrlv|heldeintrlv|hank2sys|hammgen|gray2bin|gfweight|gftuple|gftrunc|gftable|gfsub|gfroots|gfrepcov|gfrank|gfprimfd|gfprimdf|gfprimck|gfpretty|gfmul|gfminpol|gflineq|gffilter|gfdiv|gfdeconv|gfcosets|gfconv|gfadd|gf|genqammod|genqamdemod|gen2par|fskmod|fskdemod|fmmod|fmdemod|finddelay|filter|fft|fec\.ldpcenc|fec\.ldpcdec|eyediagram|equalize|encode|dvbs2ldpc|dpskmod|dpskdemod|dpcmopt|dpcmenco|dpcmdeco|doppler\.rounded|doppler\.rjakes|doppler\.jakes|doppler\.gaussian|doppler\.flat|doppler\.bigaussian|doppler\.ajakes|doppler|distspec|dftmtx|dfe|deintrlv|decode|de2bi|cyclpoly|cyclgen|cosets|convmtx|convintrlv|convenc|convdeintrlv|compand|commscope\.eyediagram|commscope|cma|bsc|biterr|bin2gray|bi2de|bertool|bersync|berfit|berfading|berconfint|bercoding|berawgn|bchnumerr|bchgenpoly|bchenc|bchdec|awgn|arithenco|arithdeco|ammod|amdemod|alignsignals|algintrlv|algdeintrlv)\b-      comment: Matlab communications toolbox-      scope: support.function.toolbox.communications.matlab-  matlab_support_toolbox_control_systems:-    - match: \b(zpkdata|zpk|zgrid|zero|totaldelay|tfdata|tf|stepplot|stepinfo|step|stack|stabsep|ssdata|ssbal|ss2ss|ss|sminreal|size|sisotool|sisoinit|sigmaplot|sigma|sgrid|setoptions|setdelaymodel|set|series|rss|rlocusplot|rlocus|reshape|reg|real|pzplot|pzmap|pole|place|parallel|pade|ord2|obsvf|obsv|nyquistplot|nyquist|norm|nicholsplot|nichols|ngrid|ndims|modsep|modred|minreal|margin|lyapchol|lyap|ltiview|ltiprops|ltimodels|lsimplot|lsiminfo|lsim|lqry|lqrd|lqr|lqgreg|lqg|lft|kalmd|kalman|issiso|isproper|isempty|isdt|isct|iopzplot|iopzmap|inv|interp|initialplot|initial|impulseplot|impulse|imag|hsvplot|hsvd|hasdelay|gram|getoptions|getdelaymodel|get|gensig|gdare|gcare|fselect|freqresp|frdata|frd|fnorm|filt|feedback|fcat|evalfr|estim|esort|dssdata|dss|dsort|drss|dlyapchol|dlyap|dlqr|delayss|delay2z|dcgain|dare|damp|d2d|d2c|ctrlpref|ctrbf|ctrb|covar|connect|conj|chgunits|care|canon|c2d|bodeplot|bodemag|bode|bandwidth|balred|balreal|augstate|append|allmargin|acker|abs)\b-      comment: Matlab control systems toolbox-      scope: support.function.toolbox.control-systems.matlab-  matlab_support_toolbox_curve_fitting:-    - match: \b(type|smooth|set|probvalues|probnames|predint|plot|numcoeffs|numargs|islinear|integrate|indepnames|get|formula|fittype|fitoptions|fit|feval|excludedata|differentiate|dependnames|datastats|confint|coeffvalues|coeffnames|cftool|cflibhelp|cfit|category|argnames)\b-      comment: Matlab curve fitting toolbox-      scope: support.function.toolbox.curve-fitting.matlab-  matlab_support_toolbox_data_acquisition:-    - match: \b(wait|trigger|stop|start|softscope|size|showdaqevents|setverify|set|save|putvalue|putsample|putdata|propinfo|peekdata|obj2mfile|muxchanidx|makenames|load|length|isvalid|issending|isrunning|islogging|isdioline|ischannel|inspect|getvalue|getsample|getdata|get|flushdata|disp|digitalio|delete|dec2binvec|daqreset|daqregister|daqread|daqmem|daqhwinfo|daqhelp|daqfind|daqcallback|clear|binvec2dec|analogoutput|analoginput|addmuxchannel|addline|addchannel)\b-      comment: Matlab data acquisition toolbox-      scope: support.function.toolbox.data-acquisition.matlab-  matlab_support_toolbox_database:-    - match: \b(width|versioncolumns|update|unregister|tables|tableprivileges|supports|sql2native|setdbprefs|set|runstoredprocedure|rsmd|rows|rollback|resultset|register|querytimeout|querybuilder|procedures|procedurecolumns|primarykeys|ping|namecolumn|logintimeout|isurl|isreadonly|isnullcolumn|isjdbc|isdriver|isconnection|insert|indexinfo|importedkeys|getdatasources|get|fetchmulti|fetch|fastinsert|exportedkeys|exec|drivermanager|driver|dmd|database\.fetch|database|cursor\.fetch|crossreference|confds|commit|columns|columnprivileges|columnnames|cols|close|clearwarnings|bestrowid|attr)\b-      comment: Matlab database toolbox-      scope: support.function.toolbox.database.matlab-  matlab_support_toolbox_datafeed:-    - match: \b(yahoo|tables|stop|stockticker|showtrades|reuters|pricevol|nextinfo|kx|isconnection|insert|info|idc|hyperfeed|havertool|haver|get|fred|fetch|factset|exec|datastream|close|bloomberg)\b-      comment: Matlab datafeed toolbox-      scope: support.function.toolbox.datafeed.matlab-  matlab_support_toolbox_design:-    - match: \b(zplane|zpkshiftc|zpkshift|zpkrateup|zpklp2xn|zpklp2xc|zpklp2mbc|zpklp2mb|zpklp2lp|zpklp2hp|zpklp2bsc|zpklp2bs|zpklp2bpc|zpklp2bp|zpkftransf|zpkbpc2bpc|zerophase|window|validstructures|tf2cl|tf2ca|stepz|specifyall|sos|setspecs|set2int|scaleopts|scalecheck|scale|reset|reorder|reffilter|realizemdl|qreport|polyphase|phasez|phasedelay|parallel|order|nstates|normalizefreq|normalize|norm|noisepsdopts|noisepsd|multistage|msesim|msepred|mfilt\.linearinterp|mfilt\.iirwdfinterp|mfilt\.iirwdfdecim|mfilt\.iirinterp|mfilt\.iirdecim|mfilt\.holdinterp|mfilt\.firtdecim|mfilt\.firsrc|mfilt\.firinterp|mfilt\.firfracinterp|mfilt\.firfracdecim|mfilt\.firdecim|mfilt\.fftfirinterp|mfilt\.farrowsrc|mfilt\.cicinterp|mfilt\.cicdecim|mfilt\.cascade|mfilt|measure|maxstep|limitcycle|lagrange|kaiserwin|isstable|issos|isreal|isminphase|ismaxphase|islinphase|isfir|isallpass|int|info|impz|iirshiftc|iirshift|iirrateup|iirpowcomp|iirpeak|iirnotch|iirls|iirlpnormc|iirlpnorm|iirlp2xn|iirlp2xc|iirlp2mbc|iirlp2mb|iirlp2lp|iirlp2hp|iirlp2bsc|iirlp2bs|iirlp2bpc|iirlp2bp|iirlinphase|iirgrpdelay|iirftransf|iircomb|iirbpc2bpc|ifir|help|grpdelay|gain|freqz|freqsamp|freqrespopts|freqrespest|firtype|firpr2chfb|firnyquist|firminphase|firls|firlpnorm|firlp2lp|firlp2hp|firhalfband|firgr|fireqint|firceqrip|fircband|filtstates\.cic|filterbuilder|filter|fftcoeffs|fdesign\.rsrc|fdesign\.peak|fdesign\.parameq|fdesign\.octave|fdesign\.nyquist|fdesign\.notch|fdesign\.lowpass|fdesign\.isinclp|fdesign\.interpolator|fdesign\.hilbert|fdesign\.highpass|fdesign\.halfband|fdesign\.fracdelay|fdesign\.differentiator|fdesign\.decimator|fdesign\.ciccomp|fdesign\.bandstop|fdesign\.bandpass|fdesign\.arbmagnphase|fdesign\.arbmag|fdesign|fdatool|fcfwrite|farrow|euclidfactors|equiripple|ellip|double|disp|dfilt\.wdfallpass|dfilt\.scalar|dfilt\.parallel|dfilt\.latticemamin|dfilt\.latticemamax|dfilt\.latticearma|dfilt\.latticear|dfilt\.latticeallpass|dfilt\.dfsymfir|dfilt\.dffirt|dfilt\.dffir|dfilt\.dfasymfir|dfilt\.df2tsos|dfilt\.df2t|dfilt\.df2sos|dfilt\.df2|dfilt\.df1tsos|dfilt\.df1t|dfilt\.df1sos|dfilt\.df1|dfilt\.cascadewdfallpass|dfilt\.cascadeallpass|dfilt\.cascade|dfilt\.calatticepc|dfilt\.calattice|dfilt\.allpass|dfilt|designopts|designmethods|design|denormalize|cumsec|cost|convert|coewrite|coeread|coeffs|cl2tf|cheby2|cheby1|ca2tf|butter|block|autoscale|allpassshiftc|allpassshift|allpassrateup|allpasslp2xn|allpasslp2xc|allpasslp2mbc|allpasslp2mb|allpasslp2lp|allpasslp2hp|allpasslp2bsc|allpasslp2bs|allpasslp2bpc|allpasslp2bp|allpassbpc2bpc|adaptfilt\.ufdaf|adaptfilt\.tdafdft|adaptfilt\.tdafdct|adaptfilt\.swrls|adaptfilt\.swftf|adaptfilt\.ss|adaptfilt\.se|adaptfilt\.sd|adaptfilt\.rls|adaptfilt\.qrdrls|adaptfilt\.qrdlsl|adaptfilt\.pbufdaf|adaptfilt\.pbfdaf|adaptfilt\.nlms|adaptfilt\.lsl|adaptfilt\.lms|adaptfilt\.hswrls|adaptfilt\.hrls|adaptfilt\.gal|adaptfilt\.ftf|adaptfilt\.filtxlms|adaptfilt\.fdaf|adaptfilt\.dlms|adaptfilt\.blmsfft|adaptfilt\.blms|adaptfilt\.bap|adaptfilt\.apru|adaptfilt\.ap|adaptfilt\.adjlms|adaptfilt)\b-      comment: Matlab design toolbox-      scope: support.function.toolbox.design.matlab-  matlab_support_toolbox_excel_link:-    - match: \b(matlabsub|matlabinit|matlabfcn|MLUseFullDesktop|MLUseCellArray|MLStartDir|MLShowMatlabErrors|MLPutVar|MLPutMatrix|MLOpen|MLMissingDataAsNaN|MLGetVar|MLGetMatrix|MLGetFigure|MLEvalString|MLDeleteMatrix|MLClose|MLAutoStart|MLAppendMatrix)\b-      comment: Matlab excel link toolbox-      scope: support.function.toolbox.excel-link.matlab-  matlab_support_toolbox_filter_design_hdl_coder:-    - match: \b(generatetbstimulus|generatetb|generatehdl|fdhdltool)\b-      comment: Matlab filter design hdl coder toolbox-      scope: support.function.toolbox.filter-design-hdl-coder.matlab-  matlab_support_toolbox_financial:-    - match: \b(zero2pyld|zero2fwd|zero2disc|zbtyield|zbtprice|yldtbill|yldmat|ylddisc|yearfrac|yeardays|year|xirr|x2mdate|wrkdydif|willpctr|willad|weights2holdings|weekday|wclose|volroc|vertcat|uplus|uminus|uicalendar|ugarchsim|ugarchpred|ugarchllf|ugarch|typprice|tsmovavg|tsmom|tsaccel|tr2bonds|toweekly|totalreturnprice|tosemi|toquoted|toquarterly|tomonthly|todecimal|today|todaily|toannual|times|time2date|tick2ret|thirtytwo2dec|thirdwednesday|tbl2bond|taxedrr|targetreturn|subsref|subsasgn|stochosc|std|spctkd|sortfts|smoothts|size|sharpe|setfield|selectreturn|second|rsindex|rmfield|ret2tick|resamplets|rdivide|pyld2zero|pvvar|pvtrend|pvfix|prtbill|prmat|prdisc|prcroc|prbyzero|power|posvolidx|portvrisk|portstats|portsim|portrand|portopt|portcons|portalpha|portalloc|pointfig|plus|plot|periodicreturns|peravg|pcpval|pcglims|pcgcomp|pcalims|payuni|payper|payodd|payadv|opprofit|onbalvol|nweekdate|now|nomrr|negvolidx|mvnrstd|mvnrobj|mvnrmle|mvnrfish|mtimes|mrdivide|movavg|months|month|mirr|minute|minus|min|merge|medprice|mean|maxdrawdown|max|macd|m2xdate|lweekdate|lpm|log2|log10|log|llow|length|leadts|lbusdate|lagts|issorted|isfield|isequal|iscompatible|isbusday|irr|inforatio|hour|horzcat|holidays|holdings2weights|hist|highlow|hhigh|getnameidx|getfield|geom2arith|fwd2zero|fvvar|fvfix|fvdisc|ftsuniq|ftstool|ftsinfo|ftsgui|ftsbound|fts2mat|fts2ascii|frontier|frontcon|freqstr|freqnum|frac2cur|fpctkd|fints|filter|fillts|fieldnames|fetch|fbusdate|extfield|exp|ewstats|eomday|eomdate|end|emaxdrawdown|elpm|effrr|ecmnstd|ecmnobj|ecmnmle|ecmninit|ecmnhess|ecmnfish|ecmmvnrstd|ecmmvnrobj|ecmmvnrmle|ecmmvnrfish|ecmlsrobj|ecmlsrmle|discrate|disc2zero|diff|depstln|depsoyd|deprdv|depgendb|depfixdb|dec2thirtytwo|daysdif|daysadd|daysact|days365|days360psa|days360isda|days360e|days360|day|datewrkdy|datevec|datestr|datenum|datemnth|datefind|datedisp|dateaxis|date2time|cur2str|cur2frac|cumsum|createholidays|cpnpersz|cpndaysp|cpndaysn|cpndatepq|cpndatep|cpndatenq|cpndaten|cpncount|cov2corr|corr2cov|convertto|convert2sur|chfield|chartfts|chaikvolat|chaikosc|cftimes|cfport|cfdur|cfdates|cfconv|cfamounts|candle|busdays|busdate|boxcox|bollinger|bolling|bndyield|bndspread|bndprice|bnddury|bnddurp|bndconvy|bndconvp|blsvega|blstheta|blsrho|blsprice|blslambda|blsimpv|blsgamma|blsdelta|blkprice|blkimpv|binprice|beytbill|barh|bar3h|bar3|bar|ascii2fts|arith2geom|annuterm|annurate|amortize|adosc|adline|active2abs|acrudisc|acrubond|accrfrac|abs2active)\b-      comment: Matlab financial toolbox-      scope: support.function.toolbox.financial.matlab-  matlab_support_toolbox_financial_derivatives:-    - match: \b(trintreeshape|trintreepath|treeviewer|treeshape|treepath|time2date|swaptionbyhw|swaptionbyhjm|swaptionbybk|swaptionbybdt|swapbyzero|swapbyhw|swapbyhjm|swapbybk|swapbybdt|stockspec|stockoptspec|ratetimes|rate2disc|optstockbyitt|optstockbyeqp|optstockbycrr|optbndbyhw|optbndbyhjm|optbndbybk|optbndbybdt|mmktbyhjm|mmktbybdt|mktrintree|mktree|mkbush|lookbackbyitt|lookbackbyeqp|lookbackbycrr|itttree|itttimespec|ittsens|ittprice|isafin|intenvset|intenvsens|intenvprice|intenvget|insttypes|instswaption|instswap|instsetfield|instselect|instoptstock|instoptbnd|instlookback|instlength|instgetcell|instget|instfloor|instfloat|instfixed|instfind|instfields|instdisp|instdelete|instcompound|instcf|instcap|instbond|instbarrier|instasian|instaddfield|instadd|hwvolspec|hwtree|hwtimespec|hwsens|hwprice|hjmvolspec|hjmtree|hjmtimespec|hjmsens|hjmprice|hedgeslf|hedgeopt|floorbyhw|floorbyhjm|floorbybk|floorbybdt|floatbyzero|floatbyhw|floatbyhjm|floatbybk|floatbybdt|fixedbyzero|fixedbyhw|fixedbyhjm|fixedbybk|fixedbybdt|eqptree|eqptimespec|eqpsens|eqpprice|disc2rate|derivset|derivget|datedisp|date2time|cvtree|crrtree|crrtimespec|crrsens|crrprice|compoundbyitt|compoundbyeqp|compoundbycrr|classfin|cfbyzero|cfbyhw|cfbyhjm|cfbybk|cfbybdt|capbyhw|capbyhjm|capbybk|capbybdt|bushshape|bushpath|bondbyzero|bondbyhw|bondbyhjm|bondbybk|bondbybdt|bkvolspec|bktree|bktimespec|bksens|bkprice|bdtvolspec|bdttree|bdttimespec|bdtsens|bdtprice|barrierbyitt|barrierbyeqp|barrierbycrr|asianbyitt|asianbyeqp|asianbycrr)\b-      comment: Matlab financial derivatives toolbox-      scope: support.function.toolbox.financial-derivatives.matlab-  matlab_support_toolbox_fixed_income:-    - match: \b(zeroyield|zeroprice|tfutyieldbyrepo|tfutpricebyrepo|tfutimprepo|tfutbyyield|tfutbyprice|tbillyield2disc|tbillyield|tbillval01|tbillrepo|tbillprice|tbilldisc2yield|stepcpnyield|stepcpnprice|stepcpncfamounts|psaspeed2rate|psaspeed2default|mbsyield2speed|mbsyield2oas|mbsyield|mbswal|mbsprice2speed|mbsprice2oas|mbsprice|mbspassthrough|mbsoas2yield|mbsoas2price|mbsnoprepay|mbsdury|mbsdurp|mbsconvy|mbsconvp|mbscfamounts|liborprice|liborfloat2fixed|liborduration|convfactor|cfamounts|cdyield|cdprice|cdai|cbprice|bkput|bkfloorlet|bkcaplet|bkcall)\b-      comment: Matlab fixed income toolbox-      scope: support.function.toolbox.fixed-income.matlab-  matlab_support_toolbox_fixed_point:-    - match: \b(zlim|ylim|xlim|wordlength|waterfall|voronoin|voronoi|vertcat|upperbound|uplus|uminus|uint8|uint32|uint16|triu|trisurf|triplot|trimesh|tril|treeplot|transpose|tostring|toeplitz|times|text|surfnorm|surfl|surfc|surf|sum|subsref|subsasgn|sub|stripscaling|streamtube|streamslice|streamribbon|stem3|stem|stairs|squeeze|sqrt|spy|slice|size|single|sign|shiftdim|set|semilogy|semilogx|sdec|scatter3|scatter|savefipref|round|rose|ribbon|rgbplot|reshape|resetlog|reset|rescale|repmat|realmin|realmax|real|range|randquant|quiver3|quiver|quantizer|quantize|pow2|polar|plus|plotyy|plotmatrix|plot3|plot|permute|pcolor|patch|or|oct|nunderflows|numerictype|numberofelements|num2int|num2hex|num2bin|noverflows|not|noperations|ne|ndims|mtimes|mpy|minus|minlog|min|meshz|meshc|mesh|maxlog|max|lt|lsb|lowerbound|loglog|logical|line|length|le|isvector|issigned|isscalar|isrow|isreal|ispropequal|isobject|isnumerictype|isnumeric|isnan|isinf|isfinite|isfimath|isfi|isequal|isempty|iscolumn|ipermute|intmin|intmax|int8|int32|int16|int|innerprodintbits|imag|horzcat|histc|hist|hex2num|hex|hankel|gt|gplot|getmsb|getlsb|get|ge|fractionlength|fplot|flipud|fliplr|flipdim|fipref|fimath|fi|feather|ezsurfc|ezsurf|ezpolar|ezplot3|ezplot|ezmesh|ezcontourf|ezcontour|exponentmin|exponentmax|exponentlength|exponentbias|etreeplot|errorbar|eq|eps|end|double|divide|disp|diag|denormalmin|denormalmax|dec|ctranspose|copyobj|convergent|contourf|contourc|contour3|contour|conj|coneplot|complex|compass|comet3|comet|clabel|buffer|bitxorreduce|bitxor|bitsrl|bitsra|bitsll|bitsliceget|bitshift|bitset|bitror|bitrol|bitorreduce|bitor|bitget|bitconcat|bitcmp|bitandreduce|bitand|bin2num|bin|barh|bar|area|any|and|all|add|abs)\b-      comment: Matlab fixed-point toolbox-      scope: support.function.toolbox.fixed-point.matlab-  matlab_support_toolbox_fuzzy_logic:-    - match: \b(zmf|writefis|trimf|trapmf|surfview|subclust|smf|sigmf|showrule|showfis|sffis|setfis|ruleview|ruleedit|rmvar|rmmf|readfis|psigmf|probor|plotmf|plotfis|pimf|parsrule|newfis|mfedit|mf2mf|mam2sug|getfis|gensurf|genfis3|genfis2|genfis1|gbellmf|gaussmf|gauss2mf|fuzzy|fuzblock|fuzarith|findcluster|fcm|evalmf|evalfis|dsigmf|defuzz|convertfis|anfisedit|anfis|addvar|addrule|addmf)\b-      comment: Matlab fuzzy logic toolbox-      scope: support.function.toolbox.fuzzy-logic.matlab-  matlab_support_toolbox_garch:-    - match: \b(ret2price|price2ret|ppTSTest|ppARTest|ppARDTest|parcorr|lratiotest|lbqtest|lagmatrix|hpfilter|garchsim|garchset|garchpred|garchplot|garchma|garchinfer|garchget|garchfit|garchdisp|garchcount|garchar|dfTSTest|dfARTest|dfARDTest|crosscorr|autocorr|archtest|aicbic)\b-      comment: Matlab GARCH toolbox-      scope: support.function.toolbox.garch.matlab-  matlab_support_toolbox_genetic_algorithms:-    - match: \b(threshacceptbnd|simulannealbnd|saoptimset|saoptimget|psoptimset|psoptimget|psearchtool|patternsearch|gatool|gaoptimset|gaoptimget|gamultiobj|ga)\b-      comment: Matlab genetic algorithms toolbox-      scope: support.function.toolbox.genetic-algorithms.matlab-  matlab_support_toolbox_image_acquisition:-    - match: \b(wait|videoinput|triggerinfo|triggerconfig|trigger|stoppreview|stop|start|set|save|propinfo|preview|peekdata|obj2mfile|load|isvalid|isrunning|islogging|imaqtool|imaqreset|imaqmontage|imaqmem|imaqhwinfo|imaqhelp|imaqfind|getsnapshot|getselectedsource|getdata|get|flushdata|disp|delete|closepreview|clear)\b-      comment: Matlab image acquisition toolbox-      scope: support.function.toolbox.image-acquisition.matlab-  matlab_support_toolbox_image_processing:-    - match: \b(zoom|ycbcr2rgb|xyz2uint16|xyz2double|wiener2|whitepoint|watershed|warp|uintlut|uint8|uint16|truesize|translate|tonemap|tforminv|tformfwd|tformarray|subimage|stretchlim|strel|stdfilt|std2|roipoly|roifilt2|roifill|roicolor|rgbplot|rgb2ycbcr|rgb2ntsc|rgb2ind|rgb2hsv|rgb2gray|regionprops|reflect|rangefilt|radon|qtsetblk|qtgetblk|qtdecomp|psf2otf|poly2mask|pixval|phantom|para2fan|padarray|otf2psf|ordfilt2|ntsc2rgb|normxcorr2|nlfilter|nitfread|nitfinfo|montage|medfilt2|mean2|mat2gray|maketform|makeresampler|makelut|makecform|makeConstrainToRectFcn|label2rgb|lab2uint8|lab2uint16|lab2double|isrgb|isnitf|isind|isicc|isgray|isflat|isbw|iradon|iptwindowalign|iptsetpref|iptremovecallback|iptnum2ordinal|ipticondir|iptgetpref|iptgetapi|iptdemos|iptcheckstrs|iptchecknargin|iptcheckmap|iptcheckinput|iptcheckhandle|iptcheckconn|iptaddcallback|iptSetPointerBehavior|iptPointerManager|iptGetPointerBehavior|ippl|intlut|interfileread|interfileinfo|ind2rgb|ind2gray|imwrite|imview|imtransform|imtophat|imtool|imsubtract|imshow|imscrollpanel|imsave|imrotate|imresize|imregionalmin|imregionalmax|imrect|imreconstruct|imread|impyramid|imputfile|improfile|impositionrect|impoly|impoint|implay|impixelregionpanel|impixelregion|impixelinfoval|impixelinfo|impixel|imoverviewpanel|imoverview|imopen|imnoise|immultiply|immovie|immagbox|imline|imlincomb|imimposemin|imhmin|imhmax|imhist|imhandles|imgetfile|imgcf|imgca|imfreehand|imfinfo|imfilter|imfill|imextendedmin|imextendedmax|imerode|imellipse|imdivide|imdistline|imdisplayrange|imdilate|imcrop|imcontrast|imcontour|imcomplement|imclose|imclearborder|imbothat|imattributes|imapprox|imagemodel|imageinfo|imadjust|imadd|imabsdiff|im2uint8|im2uint16|im2single|im2java2d|im2java|im2int16|im2double|im2col|im2bw|ifftn|ifft2|ifanbeam|idct2|iccwrite|iccroot|iccread|iccfind|hsv2rgb|houghpeaks|houghlines|hough|histeq|hdrread|graythresh|grayslice|graycoprops|graycomatrix|gray2ind|getsequence|getrect|getrangefromclass|getpts|getnhood|getneighbors|getline|getimagemodel|getimage|getheight|fwind2|fwind1|ftrans2|fspecial|fsamp2|freqz2|freqspace|fliptform|findbounds|filter2|fftshift|fftn|fft2|fanbeam|fan2para|entropyfilt|entropy|edgetaper|edge|double|dither|dicomwrite|dicomuid|dicomread|dicomlookup|dicominfo|dicomdict|dicomanon|demosaic|decorrstretch|deconvwnr|deconvreg|deconvlucy|deconvblind|dctmtx|dct2|cpstruct2pairs|cpselect|cpcorr|cp2tform|corr2|convn|convmtx2|conv2|conndef|colorbar|colfilt|col2im|cmunique|cmpermute|checkerboard|bwunpack|bwulterode|bwtraceboundary|bwselect|bwperim|bwpack|bwmorph|bwlabeln|bwlabel|bwhitmiss|bweuler|bwdist|bwboundaries|bwareaopen|bwarea|brighten|blkproc|bestblk|axes2pix|applylut|applycform|analyze75read|analyze75info|adapthisteq)\b-      comment: Matlab image processing toolbox-      scope: support.function.toolbox.image-processing.matlab-  matlab_support_toolbox_instrument_control:-    - match: \b(visa|update|udp|trigger|tmtool|tcpip|stopasync|spoll|size|set|serialbreak|serial|selftest|scanstr|save|resolvehost|remove|record|readasync|query|propinfo|obj2mfile|midtest|midedit|methods|memwrite|memunmap|memread|mempoke|mempeek|memmap|makemid|load|length|iviconfigurationstore|isvalid|invoke|instrreset|instrnotify|instrid|instrhwinfo|instrhelp|instrfindall|instrfind|instrcallback|inspect|icdevice|gpib|geterror|get|fwrite|fscanf|fread|fprintf|fopen|flushoutput|flushinput|fgets|fgetl|fclose|echoudp|echotcpip|disp|disconnect|devicereset|delete|connect|commit|clrdevice|clear|binblockwrite|binblockread|add)\b-      comment: Matlab instrument control toolbox-      scope: support.function.toolbox.instrument-control.matlab-  matlab_support_toolbox_mapping:-    - match: \b(zerom|zero22pi|zdatam-ui|zdatam|wrapToPi|wrapTo360|wrapTo2Pi|wrapTo180|worldmap|worldfilewrite|worldfileread|westof|vmap0ui|vmap0rhead|vmap0read|vmap0data|vinvtran|viewshed|vfwdtran|vec2mtx|utmzoneui|utmzone|utmgeoid|usgsdems|usgsdem|usgs24kdem|usamap|updategeostruct|unwrapMultipart|unitstr|unitsratio|undotrim|undoclip|uimaptbx|trimdata|trimcart|trackui|trackg|track2|track1|track|toRadians|toDegrees|tissot|timezone|timedim|time2str|tightmap|tigerp|tigermif|tgrline|textm|tbase|tagm-ui|tagm|symbolm|surfm|surflsrm|surflm|surfdist|surfacem|str2angle|stem3m|stdm|stdist|spzerom|spcread|smoothlong|sm2rad|sm2nm|sm2km|sm2deg|sizem|showm-ui|showm|showaxes|shapewrite|shaperead|shapeinfo|shaderel|setpostn|setm|setltln|seedm|sectorg|sec2hr|sec2hms|sec2hm|sdtsinfo|sdtsdemread|scxsc|scirclui|scircleg|scircle2|scircle1|scatterm|scaleruler|satbath|rsphere|roundn|rotatetext|rotatem|rootlayr|rhxrh|restack|resizem|removeExtraNanSeparators|refvec2mat|refmat2vec|reducem|reckon|readmtx|readfk5|readfields|rcurve|rad2sm|rad2nm|rad2km|rad2dms|rad2dm|rad2deg|quiverm|quiver3m|qrydata|putpole|projlist|projinv|projfwd|project|previewmap|polyxpoly|polysplit|polymerge|polyjoin|polycut|polybool|poly2fv|poly2cw|poly2ccw|polcmap|plotm|plot3m|plabel|pixcenters|pix2map|pix2latlon|pcolorm|patchm|patchesm|parallelui|paperscale|panzoom|originui|org2pol|onem|npi2pi|northarrow|nm2sm|nm2rad|nm2km|nm2deg|newpole|neworig|navfix|nanm|nanclip|namem|n2ecc|mobjects|mlayers|mlabelzero22pi|mlabel|minvtran|minaxis|mfwdtran|meshm|meshlsrm|meshgrat|meridianfwd|meridianarc|meanm|mdistort|mat2hms|mat2dms|mapview|maptrims|maptrimp|maptriml|maptrim|maptool|mapshow|maps|mapprofile|mapoutline|maplist|mapbbox|map2pix|makesymbolspec|makerefmat|makemapped|makedbfspec|makeattribspec|majaxis|lv2ecef|ltln2val|los2|linem|linecirc|limitm|lightmui|lightm|legs|lcolorbar|latlon2pix|kmlwrite|km2sm|km2rad|km2nm|km2deg|ispolycw|ismapped|ismap|isShapeMultipart|intrplon|intrplat|interpm|inputm|ind2rgb8|imbedm|hr2sec|hr2hms|hr2hm|hms2sec|hms2mat|hms2hr|hms2hm|histr|hista|hidem-ui|hidem|handlem-ui|handlem|gtopo30s|gtopo30|gtextm|gshhs|grn2eqa|gridm|grid2image|grepfields|gradientm|globedems|globedem|getworldfilename|getseeds|getm|geotiffread|geotiffinfo|geotiff2mstruct|geoshow|geoloc2grid|geodetic2geocentricLat|geodetic2ecef|geocentric2geodeticLat|gcxsc|gcxgc|gcwaypts|gcpmap|gcm|gc2sc|fromRadians|fromDegrees|framem|flatearthpoly|flat2ecc|fipsname|findm|filterm|fillm|fill3m|extractm|extractfield|etopo5|etopo|eqa2grn|epsm|encodem|ellipse1|elevation|egm96geoid|ecef2lv|ecef2geodetic|ecc2n|ecc2flat|eastof|dteds|dted|driftvel|driftcorr|dreckon|dms2rad|dms2mat|dms2dm|dms2degrees|dms2deg|dm2degrees|distortcalc|distdim|distance|dist2str|displaym|departure|demdataui|demcmap|degrees2dms|degrees2dm|deg2sm|deg2rad|deg2nm|deg2km|deg2dms|deg2dm|defaultm|dcwrhead|dcwread|dcwgaz|dcwdata|daspectm|crossfix|convertlat|contourm|contourfm|contourcmap|contour3m|cometm|comet3m|combntns|colorui|colorm|cmapui|clrmenu|closePolygonParts|clmo-ui|clmo|clma|clipdata|clegendm|clabelm|circcirc|changem|cart2grn|camupm|camtargm|camposm|bufferm|azimuth|axesscale|axesmui|axesm|axes2ecc|avhrrlambert|avhrrgoode|areaquad|areamat|areaint|arcgridread|antipode|angledim|angl2str|almanac)\b-      comment: Matlab mapping toolbox-      scope: support.function.toolbox.mapping.matlab-  matlab_support_toolbox_model_based_calibration:-    - match: \b(modelinput|getAlternativeTypes|getAlternativeNames|YData|XDataNames|XData|Widths|Values|Value|UserVariables|UpdateResponseFeatures|UpdateResponse|Units|Type|TestPlans|TestFilters|SummaryStatisticsForTest|SummaryStatistics|StepwiseStatus|StepwiseSelection|StepwiseRegression|Status|StatisticsDialog|SizeOfParameterSet|SingleVIF|SignalUnits|SignalNames|SetupDialog|SetTermStatus|SaveAs|Save|RollbackEdit|RestoreDataForTest|RestoreData|Responses|ResponseSignalName|Response|RemoveVariable|RemoveTestFilter|RemoveOutliersForTest|RemoveOutliers|RemoveFilter|RemoveData|Remove|RecordsPerTest|Properties|PredictedValueForTest|PredictedValue|PartialVIF|Parameters|ParameterStatistics|PEVForTest|PEV|Owner|OutputData|OutlierIndicesForTest|OutlierIndices|NumberOfTests|NumberOfRecords|NumberOfParameters|NumberOfInputs|New|Names|Name|MultipleVIF|ModifyVariable|ModifyTestFilter|ModifyFilter|Modified|ModelSetup|ModelForTest|Model|MakeHierarchicalResponse|LocalResponses|LoadProject|Load|Levels|Level|Jacobian|IsEditable|IsBeingEdited|IsAlternative|InputsPerLevel|Inputs|InputSignalNames|InputSetupDialog|InputData|ImportFromMBCDataStructure|ImportFromFile|GetTermStatus|GetTermLabel|GetIncludedTerms|GetDesignMatrix|GetAllTerms|FitAlgorithm|Fit|Filters|Filename|ExportToMBCDataStructure|Export|Evaluate|DoubleResponseData|DoubleInputData|DiagnosticStatistics|DetachData|DefineTestGroups|DefineNumberOfRecordsPerTest|DefaultModels|DataFileTypes|Data|CreateTestplan|CreateResponseFeature|CreateResponse|CreateProject|CreateModel|CreateData|CreateAlternativeModels|CreateAlgorithm|Covariance|Correlation|CopyData|CommitEdit|ChooseAsBest|Centers|BoxCoxSSE|BeginEdit|AttachData|Append|AlternativeResponses|AlternativeModelStatistics|AliasMatrix|AddVariable|AddTestFilter|AddFilter)\b-      comment: Matlab model-based calibration toolbox-      scope: support.function.toolbox.model-based-calibration.matlab-  matlab_support_toolbox_model_predictive_control:-    - match: \b(zpk|trim|tf|ss|size|sim|setoutdist|setname|setmpcsignals|setmpcdata|setindist|setestim|set|qpdantz|plot|pack|mpcverbosity|mpcstate|mpcsimopt|mpcprops|mpcmove|mpchelp|mpc|getoutdist|getname|getmpcdata|getindist|getestim|get|d2d|compare|cloffset)\b-      comment: Matlab model predictive control toolbox-      scope: support.function.toolbox.model-predictive-control.matlab-  matlab_support_toolbox_neural_network:-    - match: \b(vec2ind|tribas|trainscg|trains|trainrp|trainr|trainoss|trainlm|traingdx|traingdm|traingda|traingd|traincgp|traincgf|traincgb|trainc|trainbr|trainbfgc|trainbfg|trainb|train|tansig|sse|srchhyb|srchgol|srchcha|srchbre|srchbac|sp2narx|softmax|sim|setx|seq2con|scalprod|satlins|satlin|revert|removerows|removeconstantrows|randtop|rands|randnr|randnc|radbas|quant|purelin|processpca|postreg|poslin|pnormc|plotvec|plotv|plotsom|plotpv|plotperf|plotpc|plotes|plotep|plotbr|normr|normprod|normc|nntool|nnt2som|nnt2rb|nnt2p|nnt2lvq|nnt2lin|nnt2hop|nnt2ff|nnt2elm|nnt2c|nftool|newsom|newrbe|newrb|newpnn|newp|newnarxsp|newnarx|newlvq|newlrn|newlind|newlin|newhop|newgrnn|newfftd|newff|newelm|newdtdnn|newcf|newc|network|netsum|netprod|netinv|negdist|mseregec|msereg|mse|minmax|midpoint|maxlinlr|mapstd|mapminmax|mandist|mae|logsig|linkdist|learnwh|learnsom|learnpn|learnp|learnos|learnlv2|learnlv1|learnk|learnis|learnhd|learnh|learngdm|learngd|learncon|initzero|initwb|initnw|initlay|initcon|init|ind2vec|hintonwb|hintonw|hextop|hardlims|hardlim|gridtop|getx|gensim|fixunknowns|errsurf|dotprod|dividerand|divideint|divideind|divideblock|dist|display|disp|convwf|concur|con2seq|compet|combvec|calcperf|calcpd|calcjx|calcjejj|calcgx|boxdist|adapt)\b-      comment: Matlab neural network toolbox-      scope: support.function.toolbox.neural-network.matlab-  matlab_support_toolbox_opc:-    - match: \b(writeasync|write|wait|trend|stop|start|showopcevents|set|serveritems|serveritemprops|save|removepublicgroup|refresh|readasync|read|propinfo|peekdata|openosf|opctool|opcsupport|opcstruct2timeseries|opcstruct2array|opcserverinfo|opcreset|opcregister|opcread|opcqstr|opcqparts|opcqid|opchelp|opcfind|opcda|opccallback|obj2mfile|makepublic|load|isvalid|getnamespace|getdata|get|genslwrite|genslread|flushdata|flatnamespace|disp|disconnect|delete|copyobj|connect|clonegroup|cleareventlog|cancelasync|additem|addgroup)\b-      comment: Matlab OPC toolbox-      scope: support.function.toolbox.opc.matlab-  matlab_support_toolbox_optimization:-    - match: \b(quadprog|optimtool|optimset|optimget|lsqnonneg|lsqnonlin|lsqlin|lsqcurvefit|linprog|gangstr|fzmult|fzero|fsolve|fseminf|fminunc|fminsearch|fminimax|fmincon|fminbnd|fgoalattain|color|bintprog)\b-      comment: Matlab optimization toolbox-      scope: support.function.toolbox.optimization.matlab-  matlab_support_toolbox_rf:-    - match: \b(writeva|write|timeresp|smith|setop|semilogy|semilogx|rfmodel\.rational|rfdata\.power|rfdata\.noise|rfdata\.nf|rfdata\.network|rfdata\.mixerspur|rfdata\.ip3|rfdata\.data|rfckt\.txline|rfckt\.twowire|rfckt\.shuntrlc|rfckt\.seriesrlc|rfckt\.series|rfckt\.rlcgline|rfckt\.passive|rfckt\.parallelplate|rfckt\.parallel|rfckt\.mixer|rfckt\.microstrip|rfckt\.lclowpasstee|rfckt\.lclowpasspi|rfckt\.lchighpasstee|rfckt\.lchighpasspi|rfckt\.lcbandstoptee|rfckt\.lcbandstoppi|rfckt\.lcbandpasstee|rfckt\.lcbandpasspi|rfckt\.hybridg|rfckt\.hybrid|rfckt\.delay|rfckt\.datafile|rfckt\.cpw|rfckt\.coaxial|rfckt\.cascade|rfckt\.amplifier|restore|read|polar|plotyy|plot|loglog|listparam|listformat|impulse|getz0|getop|freqresp|extract|circle|calculate|analyze)\b-      comment: Matlab RF toolbox-      scope: support.function.toolbox.rf.matlab-  matlab_support_toolbox_robust_control:-    - match: \b(wcsens|wcnorm|wcmargin|wcgopt|wcgain|usubs|uss|usimsamp|usiminfo|usimfill|usample|ureal|uplot|umat|ultidyn|ufrd|udyn|ucomplexm|ucomplex|sysic|symdec|stack|stabproj|squeeze|slowfast|skewdec|simplify|showlmi|setmvar|setlmis|sectf|sdlsim|sdhinfsyn|sdhinfnorm|schurmr|robuststab|robustperf|robopt|repmat|reduce|randuss|randumat|randatom|quadstab|quadperf|pvinfo|pvec|psys|psinfo|popov|polydec|pdsimul|pdlstab|normalized2actual|newlmi|ncfsyn|ncfmr|ncfmargin|mussvextract|mussv|msfsyn|modreal|mktito|mkfilter|mixsyn|mincx|matnbr|mat2dec|ltrsyn|ltiarray2uss|loopsyn|loopsens|loopmargin|lmivar|lmiterm|lmireg|lminbr|lmiinfo|lmiedit|lftdata|isuncertain|ispsys|imp2ss|imp2exp|icsignal|iconnect|icomplexify|hinfsyn|hinfgs|hankelsv|hankelmr|h2syn|h2hinfsyn|gridureal|gevp|getlmis|genphase|gapmetric|fitmagfrd|fitfrd|feasp|evallmi|drawmag|dmplot|dksyn|dkitopt|diag|delmvar|dellmi|defcx|decnbr|decinfo|decay|dec2mat|dcgainmr|cpmargin|complexify|cmsclsyn|bstmr|bilin|balancmr|augw|aff2pol|actual2normalized)\b-      comment: Matlab robust control toolbox-      scope: support.function.toolbox.robust-control.matlab-  matlab_support_toolbox_signal_processing:-    - match: \b(zplane|zp2tf|zp2ss|zp2sos|zerophase|yulewalk|xcov|xcorr2|xcorr|wvtool|wintool|window|vco|upsample|upfirdn|unwrap|uencode|udecode|tukeywin|tripuls|triang|tfestimate|tf2zpk|tf2zp|tf2ss|tf2sos|tf2latc|taylorwin|strips|stmcb|stepz|ss2zp|ss2tf|ss2sos|square|sptool|spectrum\.yulear|spectrum\.welch|spectrum\.periodogram|spectrum\.music|spectrum\.mtm|spectrum\.mcov|spectrum\.eigenvector|spectrum\.cov|spectrum\.burg|spectrum|spectrogram|sosfilt|sos2zp|sos2tf|sos2ss|sos2cell|sinc|sigwin|sgolayfilt|sgolay|seqperiod|schurrc|sawtooth|rootmusic|rooteig|rlevinson|residuez|resample|rectwin|rectpuls|rceps|rc2poly|rc2lar|rc2is|rc2ac|pyulear|pwelch|pulstran|prony|pow2db|polystab|polyscale|poly2rc|poly2lsf|poly2ac|pmusic|pmtm|pmcov|phasez|phasedelay|periodogram|peig|pcov|pburg|parzenwin|nuttallwin|mscohere|modulate|medfilt1|maxflat|lsf2poly|lpc|lp2lp|lp2hp|lp2bs|lp2bp|levinson|latcfilt|latc2tf|lar2rc|kaiserord|kaiser|is2rc|invfreqz|invfreqs|intfilt|interp|impz|impinvar|ifft2|ifft|idct|icceps|hilbert|hann|hamming|grpdelay|goertzel|gmonopuls|gausswin|gaussfir|gauspuls|fvtool|freqz|freqspace|freqs|flattopwin|firrcos|firpmord|firpm|firls|fircls1|fircls|fir2|fir1|findpeaks|filtstates\.dfiir|filtstates|filtic|filtfilt|filternorm|filter2|filter|fftshift|fftfilt|fft2|fft|fdatool|eqtflength|ellipord|ellipap|ellip|dspfwiz|dspdata\.pseudospectrum|dspdata\.psd|dspdata\.msspectrum|dspdata|dpsssave|dpssload|dpssdir|dpssclear|dpss|downsample|diric|digitrevorder|dftmtx|dfilt\.statespace|dfilt\.scalar|dfilt\.parallel|dfilt\.latticemamin|dfilt\.latticemamax|dfilt\.latticearma|dfilt\.latticear|dfilt\.latticeallpass|dfilt\.fftfir|dfilt\.dfsymfir|dfilt\.dffirt|dfilt\.dffir|dfilt\.dfasymfir|dfilt\.df2tsos|dfilt\.df2t|dfilt\.df2sos|dfilt\.df2|dfilt\.df1tsos|dfilt\.df1t|dfilt\.df1sos|dfilt\.df1|dfilt\.delay|dfilt\.cascade|dfilt|demod|deconv|decimate|dct|db2pow|czt|cpsd|cplxpair|cov|corrmtx|corrcoef|convmtx|conv2|conv|chirp|cheby2|cheby1|chebwin|cheb2ord|cheb2ap|cheb1ord|cheb1ap|cfirpm|cell2sos|cconv|cceps|buttord|butter|buttap|buffer|bohmanwin|blackmanharris|blackman|bitrevorder|bilinear|besself|besselap|bartlett|barthannwin|aryule|armcov|arcov|arburg|angle|ac2rc|ac2poly|abs)\b-      comment: Matlab signal processing toolbox-      scope: support.function.toolbox.signal-processing.matlab-  matlab_support_toolbox_spline:-    - match: \b(tpaps|titanium|subplus|stmak|stcol|spterms|sprpp|spmak|splpp|splinetool|spcrv|spcol|spaps|spapi|spap2|sorted|slvblk|rsmak|rscvn|rpmak|ppmak|optknt|newknt|knt2mlt|knt2brk|getcurve|franke|fnzeros|fnxtr|fnval|fntlr|fnrfn|fnplt|fnmin|fnjmp|fnint|fndir|fnder|fncmb|fnchg|fnbrk|fn2fm|cscvn|csaps|csapi|csape|chbpnt|bspline|bspligui|brk2knt|bkbrk|aveknt|augknt|aptknt)\b-      comment: Matlab spline toolbox-      scope: support.function.toolbox.spline.matlab-  matlab_support_toolbox_statistics:-    - match: \b(ztest|zscore|x2fx|wishrnd|wblstat|wblrnd|wblplot|wblpdf|wbllike|wblinv|wblfit|wblcdf|view|vartestn|vartest2|vartest|var|upperparams|unifstat|unifrnd|unifpdf|unifit|unifinv|unifcdf|unidstat|unidrnd|unidpdf|unidinv|unidcdf|type|ttest2|ttest|tstat|trnd|trimmean|treeval|treetest|treeprune|treefit|treedisp|tpdf|tinv|tiedrank|test|tdfread|tcdf|tblwrite|tblread|tabulate|surfht|summary|stepwisefit|stepwise|std|statset|statget|squareform|sortrows|sort|slicesample|skewness|silhouette|signtest|signrank|setlabels|set|segment|scatterhist|sampsizepwr|runstest|rstool|rsmdemo|rowexch|rotatefactors|robustfit|robustdemo|risk|ridge|replacedata|reorderlevels|regstats|regress|refline|refcurve|rcoplot|raylstat|raylrnd|raylpdf|raylinv|raylfit|raylcdf|ranksum|range|randtool|randsample|random|randg|quantile|qqplot|prune|procrustes|probplot|princomp|prctile|posterior|polyval|polytool|polyfit|polyconf|poisstat|poissrnd|poisspdf|poissinv|poissfit|poisscdf|perms|pearsrnd|pdist|pdf|pcares|pcacov|partialcorr|paretotails|pareto|parent|parallelcoords|ordinal|numnodes|nsegments|normstat|normspec|normrnd|normplot|normpdf|normlike|norminv|normfit|normcdf|nominal|nodesize|nodeprob|nodeerr|nlpredci|nlparci|nlintool|nlinfit|ncx2stat|ncx2rnd|ncx2pdf|ncx2inv|ncx2cdf|nctstat|nctrnd|nctpdf|nctinv|nctcdf|ncfstat|ncfrnd|ncfpdf|ncfinv|ncfcdf|nbinstat|nbinrnd|nbinpdf|nbininv|nbinfit|nbincdf|nanvar|nansum|nanstd|nanmin|nanmedian|nanmean|nanmax|nancov|mvtrnd|mvtpdf|mvtcdf|mvregresslike|mvregress|mvnrnd|mvnpdf|mvncdf|multivarichart|multcompare|moment|mode|mnrval|mnrnd|mnrfit|mnpdf|mlecov|mle|mhsample|mergelevels|median|mean|mdscale|manovacluster|manova1|maineffectsplot|mahal|mad|lsqnonneg|lsline|lscov|lowerparams|lognstat|lognrnd|lognpdf|lognlike|logninv|lognfit|logncdf|linkage|linhyptest|lillietest|lhsnorm|lhsdesign|leverage|levelcounts|kurtosis|kstest2|kstest|ksdensity|kruskalwallis|kmeans|join|johnsrnd|jbtest|jackknife|iwishrnd|isundefined|ismember|islevel|isbranch|iqr|invpred|interactionplot|inconsistent|icdf|hygestat|hygernd|hygepdf|hygeinv|hygecdf|hougen|hmmviterbi|hmmtrain|hmmgenerate|hmmestimate|hmmdecode|histfit|hist3|hist|harmmean|hadamard|gscatter|grpstats|grp2idx|gpstat|gprnd|gppdf|gplotmatrix|gplike|gpinv|gpfit|gpcdf|gname|gmdistribution|glyphplot|glmval|glmfit|gline|gevstat|gevrnd|gevpdf|gevlike|gevinv|gevfit|gevcdf|getlabels|get|geostat|geornd|geopdf|geomean|geoinv|geocdf|gamstat|gamrnd|gampdf|gamlike|gaminv|gamfit|gamcdf|gagerr|fullfact|fsurfht|fstat|frnd|friedman|fracfactgen|fracfact|fpdf|fit|finv|ff2n|fcdf|factoran|expstat|exprnd|exppdf|explike|expinv|expfit|expcdf|evstat|evrnd|evpdf|evlike|evinv|evfit|evcdf|eval|errorbar|ecdfhist|ecdf|dwtest|dummyvar|droplevels|disttool|dfittool|dendrogram|dcovary|daugment|datasetfun|dataset|cutvar|cuttype|cutpoint|cutcategories|crosstab|coxphfit|cov|corrcov|corrcoef|corr|cordexch|copulastat|copularnd|copulapdf|copulaparam|copulafit|copulacdf|cophenet|controlrules|controlchart|combnk|cmdscale|clusterdata|cluster|classregtree|classprob|classify|classcount|cholcov|children|chi2stat|chi2rnd|chi2pdf|chi2inv|chi2gof|chi2cdf|cdfplot|cdf|ccdesign|casewrite|caseread|capaplot|capability|canoncorr|candgen|candexch|boxplot|boundary|bootstrp|bootci|biplot|binostat|binornd|binopdf|binoinv|binofit|binocdf|betastat|betarnd|betapdf|betalike|betainv|betafit|betacdf|bbdesign|barttest|aoctool|ansaribradley|anovan|anova2|anova1|andrewsplot|addlevels|addedvarplot)\b-      comment: Matlab statistics toolbox-      scope: support.function.toolbox.statistics.matlab-  matlab_support_toolbox_symbolic_math:-    - match: \b(ztrans|zeta|vpa|uint8|uint64|uint32|uint16|triu|tril|taylortool|taylor|symsum|syms|sym2poly|sym|svd|subs|subexpr|sort|solve|size|sinint|single|simplify|simple|rsums|rref|round|real|rank|quorem|procread|pretty|poly2sym|poly|numden|null|mod|mhelp|mfunlist|mfun|mapleinit|maple|log2|log10|limit|latex|laplace|lambertw|jordan|jacobian|iztrans|inv|int8|int64|int32|int16|int|imag|ilaplace|ifourier|hypergeom|horner|heaviside|funtool|frac|fourier|fortran|floor|fix|finverse|findsym|factor|ezsurfc|ezsurf|ezpolar|ezplot3|ezplot|ezmeshc|ezmesh|ezcontourf|ezcontour|expm|expand|eq|eig|dsolve|double|dirac|digits|diff|diag|det|cosint|conj|compose|colspace|collect|coeffs|ceil|ccode)\b-      comment: Matlab symbolic math toolbox-      scope: support.function.toolbox.symbolic-math.matlab-  matlab_support_toolbox_system_identification:-    - match: \b(zpkdata|zpk|wavenet|view|unitgain|treepartition|timestamp|tfdata|tf|struc|step|ssdata|ss|spafdr|spa|size|simsd|sim|sigmoidnet|setstruc|setpname|setpar|setinit|set|selstruc|segment|saturation|rplr|rpem|roe|resid|resample|realdata|rbj|rarx|rarmax|pzmap|pwlinear|present|predict|polyreg|polydata|poly1d|plot|pexcit|pem|pe|oe|nyquist|nuderst|noisecnv|nlhw|nlarx|nkshift|neuralnet|n4sid|misdata|midprefs|merge|lintan|linear|linapp|ivx|ivstruc|ivar|iv4|isreal|init|impulse|ifft|idss|idresamp|idproc|idpoly|idnlmodel|idnlhw|idnlgrey|idnlarx|idmodel|idmdlsim|idinput|idgrey|idfrd|idfilt|ident|iddata|idarx|getreg|getpar|getinit|getexp|get|fselect|freqresp|frd|fpe|fft|ffplot|feedback|fcat|evaluate|etfe|diff|detrend|delayest|deadzone|d2c|customreg|customnet|cra|covf|compare|c2d|bode|bj|balred|arxstruc|arxdata|arx|armax|ar|aic|advice|addreg|EstimationInfo)\b-      comment: Matlab system identification toolbox-      scope: support.function.toolbox.system-identification.matlab-  matlab_support_toolbox_virtual_reality:-    - match: \b(vrworld|vrwhos|vrwho|vrview|vrspacemouse|vrsetpref|vrrotvec2mat|vrrotvec|vrrotmat2vec|vrplay|vrori2dir|vrnode|vrlib|vrjoystick|vrinstall|vrgetpref|vrfigure|vrdrawnow|vrdir2ori|vrclose|vrclear)\b-      comment: Matlab virtual reality toolbox-      scope: support.function.toolbox.virtual-reality.matlab-  matlab_support_toolbox_wavelet:-    - match: \b(wvarchg|wtreemgr|wthrmngr|wthresh|wthcoef2|wthcoef|wtbxmngr|wtbo|wscalogram|write|wrev|wrcoef2|wrcoef|wpviewcf|wptree|wpthcoef|wpsplt|wprec2|wprec|wprcoef|wpjoin|wpfun|wpdencmp|wpdec2|wpdec|wpcutree|wpcoef|wpbmpen|wp2wtree|wnoisest|wnoise|wmulden|wmspca|wmaxlev|wkeep|wfusmat|wfusimg|wfilters|wfbmesti|wfbm|wextend|wentropy|wenergy2|wenergy|wdencmp|wden|wdcenergy|wdcbm2|wdcbm|wcodemat|wbmpen|waverec2|waverec|wavenames|wavemngr|wavemenu|waveinfo|wavefun2|wavefun|wavedemo|wavedec2|wavedec|wave2lp|upwlev2|upwlev|upcoef2|upcoef|treeord|treedpth|tnodes|thselect|symwavf|symaux|swt2|swt|shanwavf|set|scal2frq|readtree|read|rbiowavf|qmf|plot|pat2cwav|orthfilt|ntree|ntnode|noleaves|nodesplt|nodepar|nodejoin|nodedesc|nodeasc|mswthresh|mswden|mswcmptp|mswcmpscr|mswcmp|morlet|meyeraux|meyer|mexihat|mdwtrec|mdwtdec|mdwtcluster|lwtcoef2|lwtcoef|lwt2|lwt|lsinfo|ls2filt|liftwave|liftfilt|leaves|laurpoly|laurmat|iswt2|iswt|istnode|isnode|intwave|ind2depo|ilwt2|ilwt|idwt2|idwt|get|gauswavf|filt2ls|fbspwavf|entrupd|dyadup|dyaddown|dwtmode|dwt2|dwt|dtree|drawtree|displs|disp|detcoef2|detcoef|depo2ind|ddencmp|dbwavf|dbaux|cwt|coifwavf|cmorwavf|chgwdeccfs|cgauwavf|cfs2wpt|centfrq|bswfun|biorwavf|biorfilt|besttree|bestlevt|appcoef2|appcoef|allnodes|addlift)\b-      comment: Matlab wavelet toolbox-      scope: support.function.toolbox.wavelet.matlab-  matlab_variable_function:-    - match: \b(nargin|nargout|varargin|varargout)\b-      comment: MATLAB variables-      scope: variable.other.function.matlab-  matlab_oop:-    - match: \b(classdef)\b-      scope: keyword.other.oop.matlab+            - match: \bRepeating\b+              scope: variable.parameter.attribute.matlab+        - match: '{{eol}}'+          set:+            - meta_scope: meta.arguments.matlab+            - match: \bend\b+              scope: keyword.control.end.arguments.matlab+              pop: true+            - match: \b\.\?+              scope: keyword.operator.properties.matlab+            - include: argument-placeholder+            - include: builtin-types+            - include: expressions+    - match: (?=\S)+      set: function-body++  function-body:+    - meta_scope: meta.function.matlab+    - match: \bend\b+      scope: keyword.control.end.function.matlab+      pop: true+    - include: function-declaration+    - include: keywords+    - include: expressions++  class-declaration:+    - match: \bclassdef\b+      scope: keyword.declaration.class.matlab       push:-        - meta_scope: meta.classdef.matlab+        - meta_scope: meta.class.matlab+        - include: eol-pop         - match: \(-          scope: punctuation.definition.properties.begin.matlab+          scope: punctuation.section.parens.begin.matlab           push:-            - meta_scope: meta.properties.matlab+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop             - match: \)-              scope: punctuation.definition.properties.end.matlab+              scope: punctuation.section.parens.end.matlab               pop: true-            - match: ','-              scope: punctuation.separator.matlab-            - match: \b(Abstract|AllowedSubclasses|ConstructOnLoad|HandleCompatible|Hidden|InferiorClasses|Sealed)\s*(=)-              captures:-                1: variable.parameter.matlab-                2: keyword.operator.symbols.matlab-            - match: \b(false|true)\b-              scope: constant.language.matlab-        - match : \b(\w+)\b(?:\s*(<)\s*(\w+))?-          captures:-            1: entity.name.class.matlab-            2: punctuation.definition.inheritance.matlab-            3: entity.other.inherited-class.matlab+            # https://www.mathworks.com/help/matlab/matlab_oop/class-attributes.html+            - match: \b(?:Abstract|AllowedSubclasses|ConstructOnLoad|HandleCompatible|Hidden|InferiorClasses|Sealed)\b+              scope: variable.parameter.attribute.matlab+            - include: expressions+        - match: '{{identifier}}'+          scope: entity.name.class.matlab+          set:+            - meta_content_scope: meta.class.matlab+            - include: line-continuation+            - match: '{{eol}}'+              set: class-body+            - match: <+              scope: punctuation.separator.inheritance.matlab+              set:+                - meta_content_scope: meta.class.matlab+                - include: line-continuation+                - match: '{{eol}}'+                  set: class-body+                - match: '{{identifier}}'+                  scope: entity.other.inherited-class.matlab+                - match: \&+                  scope: punctuation.separator.sequence.matlab++  class-body:+    - meta_scope: meta.class.matlab+    - match: \bend\b+      scope: keyword.control.end.class.matlab+      pop: true+    - include: comments+    - include: class-properties+    - include: class-methods+    - include: class-events+    - include: class-enumeration++  class-properties:+    - match: \bproperties\b+      scope: keyword.declaration.properties.matlab+      push:+        - meta_scope: meta.properties.matlab+        - match: '{{eol}}'+          set: class-properties-body+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop+            - match: \)+              scope: punctuation.section.parens.end.matlab+              pop: true+            # https://www.mathworks.com/help/matlab/matlab_oop/property-attributes.html+            - match: \b(?:AbortSet|Abstract|Access|Constant|Dependent|GetAccess|GetObservable|Hidden|NonCopyable|PartialMatchPriority|SetAccess|SetObservable|Transient)\b+              scope: variable.parameter.attribute.matlab+            - match: \b(?:public|protected|private)\b+              scope: storage.modifier.matlab+            - include: expressions++  class-properties-body:+    - meta_scope: meta.properties.matlab+    - match: \bend\b+      scope: keyword.control.end.properties.matlab+      pop: true+    - include: builtin-types+    - include: expressions++  class-methods:+    - match: \bmethods\b+      scope: keyword.declaration.methods.matlab+      push:+        - meta_scope: meta.methods.matlab+        - match: '{{eol}}'+          set: class-methods-body+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop+            - match: \)+              scope: punctuation.section.parens.end.matlab+              pop: true+            # https://www.mathworks.com/help/matlab/matlab_oop/method-attributes.html+            - match: \b(?:Abstract|Access|Hidden|Sealed|Static)\b+              scope: variable.parameter.attribute.matlab+            - match: \b(?:public|protected|private)\b+              scope: storage.modifier.matlab+            - include: expressions++  class-methods-body:+    - meta_scope: meta.methods.matlab+    - match: \bend\b+      scope: keyword.control.end.methods.matlab+      pop: true+    - include: comments+    - include: function-declaration++  class-events:+    - match: \bevents\b+      scope: keyword.declaration.events.matlab+      push:+        - meta_scope: meta.events.matlab+        - match: '{{eol}}'+          set: class-events-body+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop+            - match: \)+              scope: punctuation.section.parens.end.matlab+              pop: true+            # https://www.mathworks.com/help/matlab/matlab_oop/event-attributes.html+            - match: \b(?:Hidden|ListenAccess|NotifyAccess)\b+              scope: variable.parameter.attribute.matlab+            - match: \b(?:public|protected|private)\b+              scope: storage.modifier.matlab+            - include: expressions++  class-events-body:+    - meta_scope: meta.events.matlab+    - match: \bend\b+      scope: keyword.control.end.events.matlab+      pop: true+    - include: comments+    - include: variable++  class-enumeration:+    - match: \benumeration\b+      scope: keyword.declaration.enumeration.matlab+      push: class-enumeration-body++  class-enumeration-body:+    - meta_scope: meta.enumeration.matlab+    - match: \bend\b+      scope: keyword.control.end.enumeration.matlab+      pop: true+    - include: expressions++###[ KEYWORDS AND FLOW CONTROL BLOCKS ]#######################################++  # https://www.mathworks.com/help/matlab/ref/iskeyword.html+  # https://www.mathworks.com/help/matlab/control-flow.html+  keywords:+    - include: if+    - include: switch+    - include: for+    - include: parfor+    - include: while+    - include: try+    - include: spmd+    - match: \bbreak\b+      scope: keyword.control.flow.break.matlab+    - match: \bcontinue\b+      scope: keyword.control.flow.continue.matlab+    - match: \breturn\b+      scope: keyword.control.flow.return.matlab+    - match: \bglobal\b+      scope: storage.modifier.global.matlab+    - match: \bpersistent\b+      scope: storage.modifier.persistent.matlab++  if:+    - match: \bif\b+      scope: keyword.control.conditional.if.matlab+      push:+        - meta_scope: meta.block.if.matlab+        - match: \belseif\b+          scope: keyword.control.conditional.elseif.matlab+        - match: \belse\b+          scope: keyword.control.conditional.else.matlab+        - match: \bend\b+          scope: keyword.control.end.if.matlab           pop: true-    - match: \b(properties)\s+(\()-      captures:-        1: keyword.other.oop.matlab-        2: punctuation.definition.properties.begin.matlab+        - include: keywords+        - include: expressions++  switch:+    - match: \bswitch\b+      scope: keyword.control.conditional.switch.matlab       push:-        - match: \)-          scope: punctuation.definition.properties.end.matlab+        - meta_scope: meta.block.switch.matlab+        - match: \bcase\b+          scope: keyword.control.conditional.case.matlab+        - match: \botherwise\b+          scope: keyword.control.conditional.otherwise.matlab+        - match: \bend\b+          scope: keyword.control.end.switch.matlab           pop: true-        - match: ','-          scope: punctuation.separator.matlab-        - match: \b(AbortSet|Abstract|Access|Constant|Dependent|GetAccess|GetObservable|Hidden|NonCopyable|SetAccess|SetObservable|Transient)\s*(=)-          captures:-            1: variable.parameter.matlab-            2: keyword.operator.symbols.matlab-        - match: \b(false|true|public|protected|private)\b-          scope: constant.language.matlab-    - match: \b(properties|events|enumeration)\b-      scope: keyword.other.oop.matlab-  not_equal_invalid:-    - match: \s*!=\s*-      comment: Not equal is written ~= not !=.-      scope: invalid.illegal.invalid-inequality.matlab-  number:-    - match: '\b(0[xX])(\h+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b'-      scope: meta.number.integer.hexadecimal.matlab-      captures:-        1: constant.numeric.base.matlab-        2: constant.numeric.value.matlab-        3: constant.numeric.suffix.matlab-    - match: '\b(0[bB])([01]+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b'-      scope: meta.number.integer.binary.matlab-      captures:-        1: constant.numeric.base.matlab-        2: constant.numeric.value.matlab-        3: constant.numeric.suffix.matlab-    - match: '((?:\d*(\.))?\d+(?:[Ee][-+]?\d+)?)(i|j)\b'-      scope: meta.number.imaginary.decimal.matlab-      captures:-        1: constant.numeric.value.matlab-        2: punctuation.separator.decimal.matlab-        3: constant.numeric.suffix.matlab-    - match: '(?:\d*(\.))?\d+(?:[Ee][-+]?\d+)?\b'-      scope: meta.number.float.decimal.matlab constant.numeric.value.matlab-      captures:-        1: punctuation.separator.decimal.matlab-  operators:-    - match: \s*(==|~=|~|>|>=|<|<=|=|&|&&|:|\||\|\||\+|-|\*|\.\*|/|\./|\\|\.\\|\^|\.\^)\s*-      comment: Operator symbols-      scope: keyword.operator.symbols.matlab-  parens:-    - match: \(-      scope: punctuation.section.parens.begin.matlab+        - include: keywords+        - include: expressions++  for:+    - match: \bfor\b+      scope: keyword.control.loop.for.matlab       push:-        - meta_scope: meta.parens.matlab-        - match: \)-          scope: punctuation.section.parens.end.matlab-          # pop: true-          set: transpose_post_parens-        - include: allofem-        - include: end_in_parens-  special_characters:-    - match: '((\%([\+\-0]?\d{0,3}(\.\d{1,3})?)(c|d|e|E|f|g|G|s|((b|t)?(o|u|x|X))))|\%\%|\\(b|f|n|r|t|\\))'-      comment: Operator symbols-      scope: constant.character.escape.matlab-  string:-    - match: ''''-      scope: punctuation.definition.string.begin.matlab+        - meta_scope: meta.block.for.matlab+        - match: \bend\b+          scope: keyword.control.end.for.matlab+          pop: true+        - include: keywords+        - include: expressions++  parfor:+    - match: \bparfor\b+      scope: keyword.control.loop.parfor.matlab       push:-        - meta_scope: string.quoted.single.matlab-        - match: '''(?=(\]|\)|\}|=|~|<|>|&|\||-|\+|\*|\.|\^|\||\s|;|:|,))'-          scope: punctuation.definition.string.end.matlab+        - meta_scope: meta.block.parfor.matlab+        - match: \bend\b+          scope: keyword.control.end.parfor.matlab           pop: true-        - include: escaped_quote-        - include: unescaped_quote-        - include: special_characters-    - match: '"'-      scope: punctuation.definition.string.begin.matlab+        - include: keywords+        - include: expressions++  while:+    - match: \bwhile\b+      scope: keyword.control.loop.while.matlab       push:-        - meta_scope: string.quoted.double.matlab-        - match: '"'-          scope: punctuation.definition.string.end.matlab+        - meta_scope: meta.block.while.matlab+        - match: \bend\b+          scope: keyword.control.end.while.matlab           pop: true+        - include: keywords+        - include: expressions++  try:+    - match: \btry\b+      scope: keyword.control.exception.try.matlab+      push:+        - meta_scope: meta.block.try.matlab+        - match: \bcatch\b+          scope: keyword.control.exception.catch.matlab+        - match: \bend\b+          scope: keyword.control.end.try.matlab+          pop: true+        - include: keywords+        - include: expressions++  spmd:+    - match: \bspmd\b+      scope: keyword.control.parallel.spmd.matlab+      push:+        - meta_scope: meta.block.spmd.matlab+        - match: \bend\b+          scope: keyword.control.end.spmd.matlab+          pop: true+        - include: keywords+        - include: expressions++###[ OPERATORS AND PUNCTUATION ]##############################################++  # https://www.mathworks.com/help/matlab/matlab_prog/matlab-operators-and-special-characters.html+  operators:+    - match: '\+|-|\*|\.\*|/|\./|\\|\.\\|\^|\.\^'+      scope: keyword.operator.arithmetic.matlab+    - match: '==|~=|>=|>|<=|<'+      scope: keyword.operator.comparison.matlab+    - match: '~|&&|&|\|\||\|'+      scope: keyword.operator.logical.matlab+    - match: ':'+      scope: keyword.operator.colon.matlab+    - match: '='+      scope: keyword.operator.assignment.matlab+    - match: \?(?=[A-Za-z])+      scope: keyword.operator.metaclass.matlab+    - match: \!+      scope: keyword.operator.shell-escape.matlab+      push:+        - meta_content_scope: meta.shell-escape.matlab string.unquoted.matlab+        - match: \n+          scope: meta.shell-escape.matlab string.unquoted.matlab+          pop: true+    - match: \b\@+      scope: punctuation.accessor.at.matlab+    - match: \@+      scope: keyword.operator.at.matlab+      push:+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          set:+            - meta_scope: meta.function.parameters.matlab+            - include: line-continuation+            - include: eol-pop+            - match: '{{identifier}}'+              scope: variable.parameter.input.matlab+            - include: separator-comma+            - match: \)+              scope: punctuation.section.parens.end.matlab+              pop: true+        - match: ''+          pop: true+   transpose:-    - match: '\b({{id}})(\.?'')'+    - match: (?:\s*(\.\')|(\'))?       captures:-        1 : meta.variable.other.valid.matlab-        2 : keyword.operator.transpose.matlab-  transpose_post_parens:-    - match: '(\.?'')'-      captures:-        1 : keyword.operator.transpose.matlab-      pop: true-    - match: ''+        1: keyword.operator.transpose.matlab+        2: keyword.operator.transpose.matlab       pop: true-  unescaped_quote:-    - match: "'(?=.)"-      scope: invalid.illegal.unescaped-quote.matlab-  variable:-    - match: '\b{{id}}\b'-      comment: Valid variable. Added meta to disable highlighting-      scope: meta.variable.other.valid.matlab-  variable_assignment:-    - match: '=\s*\.{0,2}\s*;?\s*$\n?'-      comment: Incomplete variable assignment.-      scope: invalid.illegal.incomplete-variable-assignment.matlab-  variable_invalid:++  accessor-dot:+    - match: (?<=\S)\.+      scope: punctuation.accessor.dot.matlab++  terminator:+    - match: \;+      scope: punctuation.terminator.matlab++  separator-comma:+    - match: \,+      scope: punctuation.separator.sequence.matlab++  separator-semicolon:+    - match: \;+      scope: punctuation.separator.sequence.matlab++###[ BUILTIN CONSTANTS, VARIABLES AND DATA TYPES ]############################++  # Functions that are usually used without parameters and return a constant+  builtin-constants:+    - match: \b(true|false|eps|pi|Inf|NaN|NaT|flintmax|intmax|intmin|realmax|realmin|namelengthmax)\b+      scope: constant.language.matlab+      push: transpose++  builtin-variables:+    - match: \b(ans|nargin|nargout|varargin|varargout)\b+      scope: variable.language.matlab+      push: transpose++  builtin-types:+    - match: \b(?:categorical|cell|char|complex|double|int8|int16|int32|int64|logical|single|string|struct|table|timeseries|timetable|uint8|uint16|uint32|uint64)\b(?!\()+      scope: storage.type.matlab++  last-index:+    - match: \bend\b+      scope: variable.language.matlab+      push: transpose++  argument-placeholder:+    - match: \~(?![A-Za-z])+      scope: variable.language.blank.matlab

There was a question/discussion for this in https://github.com/SublimeText/ScopeNamingGuidelines/issues/5, and I mentioned that variable.language.blank from the Go syntax might be a good solution. A search on this repo revealed that you used variable.language.anonymous in Erlang, so I adjusted this scope here in 12a1469. Would definitely be useful to have a common convention for it and unified scopes in the default syntaxes.

Maybe worth to mention that in the Matlab docs it is called "tilde operator", but I don't find that wording a good choice, because ~ can also be used as the negation operator.

jwortmann

comment created time in 8 hours

Pull request review commentsublimehq/Packages

[Matlab] Better syntax highlighting

 contexts:       scope: comment.line.percentage.matlab       captures:         1: punctuation.definition.comment.matlab-  all_matlab_keywords:-    - include: matlab_keyword_control-    - include: matlab_keyword_operator-    - include: matlab_keyword_other-    - include: matlab_oop-    - include: matlab_storage_type-    - include: matlab_storage_modifier-    - include: matlab_constant_language-    - include: matlab_variable_function-    - include: matlab_keyword_desktop-    - include: matlab_keyword_mathematics-    - include: matlab_keyword_analysis-    - include: matlab_storage_control-    - include: matlab_support_graphics-    - include: matlab_support_function-    - include: matlab_support_external-    - include: matlab_support_toolbox_aerospace-    - include: matlab_support_toolbox_bioinformatics-    - include: matlab_support_toolbox_communications-    - include: matlab_support_toolbox_control_systems-    - include: matlab_support_toolbox_curve_fitting-    - include: matlab_support_toolbox_data_acquisition-    - include: matlab_support_toolbox_database-    - include: matlab_support_toolbox_datafeed-    - include: matlab_support_toolbox_design-    - include: matlab_support_toolbox_excel_link-    - include: matlab_support_toolbox_filter_design_hdl_coder-    - include: matlab_support_toolbox_financial_derivatives-    - include: matlab_support_toolbox_financial-    - include: matlab_support_toolbox_fixed_income-    - include: matlab_support_toolbox_fixed_point-    - include: matlab_support_toolbox_fuzzy_logic-    - include: matlab_support_toolbox_garch-    - include: matlab_support_toolbox_genetic_algorithms-    - include: matlab_support_toolbox_image_acquisition-    - include: matlab_support_toolbox_image_processing-    - include: matlab_support_toolbox_instrument_control-    - include: matlab_support_toolbox_mapping-    - include: matlab_support_toolbox_model_predictive_control-    - include: matlab_support_toolbox_model_based_calibration-    - include: matlab_support_toolbox_neural_network-    - include: matlab_support_toolbox_opc-    - include: matlab_support_toolbox_optimization-    - include: matlab_support_toolbox_rf-    - include: matlab_support_toolbox_robust_control-    - include: matlab_support_toolbox_signal_processing-    - include: matlab_support_toolbox_spline-    - include: matlab_support_toolbox_statistics-    - include: matlab_support_toolbox_symbolic_math-    - include: matlab_support_toolbox_system_identification-    - include: matlab_support_toolbox_virtual_reality-    - include: matlab_support_toolbox_wavelet-  allofem:-    - include: parens-    - include: curlybrackets-    - include: end_in_parens-    - include: brackets-    - include: transpose-    - include: string-    - include: all_matlab_keywords-    - include: all_matlab_comments-    - include: variable-    - include: number-    - include: variable_invalid-    - include: operators-    - match: (\.\.\.)\s*(\S.*\n?)?++  line-continuation:+    - match: (\.{3})\s*(\S.*\n?)?       captures:-        1: punctuation.separator.continuation.matlab+        1: punctuation.separator.continuation.line.matlab         2: comment.line.matlab++###[ LANGUAGE FUNDAMENTALS ]##################################################++  numbers:+    - match: \b(0[xX])(\h+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b+      scope: meta.number.integer.hexadecimal.matlab+      captures:+        1: constant.numeric.base.matlab+        2: constant.numeric.value.matlab+        3: constant.numeric.suffix.matlab+      push: transpose+    - match: \b(0[bB])([01]+)(u8|u16|u32|u64|s8|s16|s32|s64)?\b+      scope: meta.number.integer.binary.matlab+      captures:+        1: constant.numeric.base.matlab+        2: constant.numeric.value.matlab+        3: constant.numeric.suffix.matlab+      push: transpose+    - match: ((?:\d+(\.)\d*|(\.)?\d+)(?:[Ee][-+]?\d+)?)(i|j)\b+      scope: meta.number.imaginary.decimal.matlab+      captures:+        1: constant.numeric.value.matlab+        2: punctuation.separator.decimal.matlab+        3: punctuation.separator.decimal.matlab+        4: constant.numeric.suffix.matlab+      push: transpose+    - match: (?:\d+(\.)\d*|(\.)?\d+)(?:[Ee][-+]?\d+)?(?!\w)+      scope: meta.number.float.decimal.matlab constant.numeric.value.matlab+      captures:+        1: punctuation.separator.decimal.matlab+        2: punctuation.separator.decimal.matlab+      push: transpose++  string:+    - match: \'+      scope: punctuation.definition.string.begin.matlab+      push:+        - meta_scope: string.quoted.single.matlab+        - match: \'(?=(\]|\)|\}|=|~|<|>|&|\||-|\+|\*|\.|\^|\||\s|;|:|,))+          scope: punctuation.definition.string.end.matlab+          set:+            - match: (?:\s*(\.\'))?+              captures:+                1: keyword.operator.transpose.matlab+              pop: true+        # escaped quote+        - match: \'\'+          scope: constant.character.escape.matlab+        # unescaped quote+        - match: \'(?=.)+          scope: invalid.illegal.unescaped-quote.matlab+        - include: escaped-character+        - include: format-spec+    - match: \"+      scope: punctuation.definition.string.begin.matlab+      push:+        - meta_scope: string.quoted.double.matlab+        - match: \"\"+          scope: constant.character.escape.matlab+        - match: \"+          scope: punctuation.definition.string.end.matlab+          set: transpose+        - include: escaped-character+        - include: format-spec++  escaped-character:+    - match: \%\%|\\\\|\\[abfnrtv]+      scope: constant.character.escape.matlab++  format-spec:+    - match: \%(?:\d\$)?[-+\s0#]?(?:\d+|\*)?(?:\.\d+|\.\*)?(?:[cdeEfgGis]|[bt]?[ouxX])+      scope: constant.other.placeholder.matlab++  variable:+    - match: \b{{identifier}}\b+      scope: meta.variable.other.valid.matlab+      captures:+        1: punctuation.accessor.dot.matlab+      push: transpose++  transposed-variable:+    - match: \b({{identifier}})(?:\s*(\.\')|(\'))+      captures:+        1: meta.variable.other.valid.matlab+        2: keyword.operator.transpose.matlab+        3: keyword.operator.transpose.matlab++  variable-assignment:+    - match: \b({{identifier}})\s*(=)(?!=)+      captures:+        1: meta.variable.other.valid.matlab+        2: keyword.operator.assignment.matlab++  structure:+    - match: \b{{identifier}}(\.)\b+      captures:+        1: punctuation.accessor.dot.matlab+      push:+        - meta_scope: meta.variable.other.valid.matlab+        - match: '{{identifier}}(\.)\b'+          captures:+            1: punctuation.accessor.dot.matlab+        - match: '{{identifier}}'+          set: transpose++###[ PARENS/BRACKETS/BRACES BLOCKS ]##########################################++  parens:+    - match: \(+      scope: punctuation.section.parens.begin.matlab+      push:+        - meta_scope: meta.parens.matlab+        - match: \)+          scope: punctuation.section.parens.end.matlab+          set: transpose+        - include: last-index+        - include: expressions+   brackets:-    - match: '\['+    - match: \[       scope: punctuation.section.brackets.begin.matlab       push:         - meta_scope: meta.brackets.matlab-        - match: '\]'+        - match: \]           scope: punctuation.section.brackets.end.matlab-          set: transpose_post_parens-        - include: allofem-  constants_override:-    - match: '(^|\;)\s*(ans|i|j|inf|Inf|nan|NaN|eps|end)\s*=[^=]'-      comment: The user is trying to override MATLAB constants and functions.-      scope: meta.inappropriate.matlab-  curlybrackets:-    - match: '\{'-      scope: meta.brackets.curly.matlab+          set: transpose+        - include: separator-semicolon+        - include: argument-placeholder+        - include: expressions++  braces:+    - match: \{+      scope: punctuation.section.braces.begin.matlab       push:-        - meta_content_scope: meta.brackets.curly.matlab-        - match: '\}'-          scope: meta.brackets.curly.matlab-          set: transpose_post_parens-        - include: allofem-        - include: end_in_parens-  end_in_parens:-    - match: \bend\b-      comment: end as operator symbol-      scope: keyword.operator.symbols.matlab-  escaped_quote:-    - match: "''"-      scope: constant.character.escape.matlab+        - meta_scope: meta.braces.matlab+        - match: \}+          scope: punctuation.section.braces.end.matlab+          set: transpose+        - include: separator-semicolon+        - include: last-index+        - include: expressions -  # Function-  function:-    - match: '^\s*(function)\b'-      captures:-        1 : keyword.other.matlab+###[ DECLARATION BLOCKS ]#####################################################++  function-declaration:+    - match: \bfunction\b+      scope: keyword.declaration.function.matlab       push:-        - match: \b(\w+)\s+(=)+        - meta_scope: meta.function.matlab+        - include: line-continuation+        - match: '{{eol}}'+          set: function-body-arguments+        - match: ({{identifier}})\s*(=)           captures:-            1: variable.parameter.output.function.matlab+            1: variable.parameter.output.matlab             2: keyword.operator.assignment.matlab-        - match: '\['-          scope: punctuation.section.brackets.matlab+        - match: \[+          scope: punctuation.section.brackets.begin.matlab           push:-            - match: \b\w+\b-              scope: variable.parameter.output.function.matlab-            - match: ','-              scope: punctuation.separator.matlab-            - match: '\]'-              scope: punctuation.section.brackets.matlab+            - match: '{{identifier}}'+              scope: variable.parameter.output.matlab+            - include: line-continuation+            - match: '{{eol}}'+              set: function-body-arguments+            - include: separator-comma+            - match: \]+              scope: punctuation.section.brackets.end.matlab               pop: true-        - match: '(=)?\s*\b(\w+)\s*(\()'+        - match: =+          scope: keyword.operator.assignment.matlab+        - match: (?:(?:set|get)(\.))?{{identifier}}+          scope: entity.name.function.matlab           captures:-            1: keyword.operator.assignment.matlab-            2: entity.name.function.matlab-            3: punctuation.section.parens.begin.matlab+            1: punctuation.accessor.dot.matlab+        - match: (?=\()           set:             - meta_scope: meta.function.parameters.matlab-            - match: \b\w+\b-              scope: variable.parameter.input.function.matlab-            - match: ','-              scope: punctuation.separator.matlab-            - match: '\)'+            - include: line-continuation+            - match: '{{eol}}'+              set: function-body-arguments+            - match: \(+              scope: punctuation.section.parens.begin.matlab+            - match: '{{identifier}}'+              scope: variable.parameter.input.matlab+            - include: separator-comma+            - include: argument-placeholder+            - match: \)+              scope: punctuation.section.parens.end.matlab+              set: function-body-arguments++  function-body-arguments:+    - meta_content_scope: meta.function.matlab+    - include: comments+    - match: \barguments\b+      scope: keyword.context.arguments.matlab+      push:+        - meta_scope: meta.arguments.matlab+        - match: \(+          scope: punctuation.section.parens.begin.matlab+          push:+            - meta_scope: meta.attributes.matlab+            - include: eol-pop+            - match: \)               scope: punctuation.section.parens.end.matlab               pop: true-        - match: \b(\w+)\s*(?=%|$)-          captures:-            1: entity.name.function.matlab-          pop: true-  # Matlab keywords-  matlab_constant_language:-    - match: \b(ans|eps|false|Inf|inf|intmax|intmin|namelengthmax|NaN|nan|on|off|realmax|realmin|true|i|j|pi)\b-      comment: MATLAB constants-      scope: constant.language.matlab-  matlab_keyword_analysis:-    - match: \b(abs|addevent|addsample|addsampletocollection|addts|angle|conv|conv2|convn|corrcoef|cov|cplxpair|ctranspose|cumtrapz|deconv|del2|delevent|delsample|delsamplefromcollection|detrend|diff|fft|fft2|fftn|fftshift|fftw|filter|filter2|getabstime|getdatasamplesize|getinterpmethod|getqualitydesc|getsampleusingtime|gettimeseriesnames|gettsafteratevent|gettsafterevent|gettsatevent|gettsbeforeatevent|gettsbeforeevent|gettsbetweenevents|gradient|idealfilter|ifft|ifft2|ifftn|ifftshift|iqr|max|mean|median|min|mldivide|mode|mrdivide|removets|resample|setabstime|setinterpmethod|settimeseriesnames|std|synchronize|timeseries|trapz|tscollection|tsdata.event|tsprops|tstool|var)\b-      comment: Data Analysis-      scope: keyword.analysis.matlab-  matlab_keyword_control:-    - match: \b(break|case|catch|continue|else|elseif|end|for|parfor|if|otherwise|pause|rethrow|return|start|startat|stop|switch|try|wait|while)\b-      comment: Control keywords-      scope: keyword.control.matlab-  matlab_keyword_desktop:-    - match: \b(addpath|assignin|builddocsearchdb|cd|checkin|checkout|clc|clear|clipboard|cmopts|commandhistory|commandwindow|computer|copyfile|customverctrl|dbclear|dbcont|dbdown|dbquit|dbstack|dbstatus|dbstep|dbstop|dbtype|dbup|debug|demo|diary|dir|doc|docopt|docsearch|dos|echodemo|edit|exit|fileattrib|filebrowser|finish|format|genpath|getenv|grabcode|help|helpbrowser|helpwin|home|hostid|info|keyboard|license|lookfor|ls|matlab|matlabrc|matlabroot|memory|mkdir|mlint|mlintrpt|more|movefile|notebook|openvar|pack|partialpath|path|path2rc|pathdef|pathsep|pathtool|perl|playshow|prefdir|preferences|profile|profsave|publish|pwd|quit|recycle|rehash|restoredefaultpath|rmdir|rmpath|savepath|setenv|startup|support|system|toolboxdir|type|undocheckout|unix|ver|verctrl|verLessThan|version|web|what|whatsnew|which|winqueryreg|workspace)\b|(^\s*!.*$)-      comment: Desktop Tools and Development-      scope: keyword.desktop.matlab-  matlab_keyword_mathematics:-    - match: \b(accumarray|acos|acosd|acosh|acot|acotd|acoth|acsc|acscd|acsch|airy|amd|asec|asecd|asech|asin|asind|asinh|atan|atan2|atand|atanh|balance|besselh|besseli|besselj|besselk|bessely|beta|betainc|betaln|bicg|bicgstab|blkdiag|bsxfun|bvp4c|bvpget|bvpinit|bvpset|bvpxtend|cart2pol|cart2sph|cat|cdf2rdf|ceil|cgs|chol|cholinc|cholupdate|circshift|colamd|colperm|compan|complex|cond|condeig|condest|conj|convhull|convhulln|cos|cosd|cosh|cot|cotd|coth|cross|csc|cscd|csch|cumprod|cumsum|dblquad|dde23|ddeget|ddesd|ddeset|decic|det|deval|diag|disp|display|dmperm|dot|eig|eigs|ellipj|ellipke|erf|erfc|erfcinv|erfcx|erfinv|etree|etreeplot|exp|expint|expm|expm1|eye|factor|factorial|find|fix|flipdim|fliplr|flipud|floor|fminbnd|fminsearch|freqspace|full|funm|fzero|gallery|gamma|gammainc|gammaln|gcd|gmres|gplot|griddata|griddata3|griddatan|gsvd|hadamard|hankel|hess|hilb|horzcat|hypot|idivide|ilu|imag|ind2sub|Inf|inline|interp1|interp1q|interp2|interp3|interpft|interpn|inv|invhilb|ipermute|kron|lcm|ldl|legendre|length|linsolve|linspace|log|log10|log1p|log2|logm|logspace|lscov|lsqnonneg|lsqr|lu|luinc|magic|meshgrid|minres|mkpp|mod|NaN|nchoosek|ndgrid|ndims|nextpow2|nnz|nonzeros|norm|normest|nthroot|null|numel|nzmax|ode113|ode15i|ode15s|ode23|ode23s|ode23t|ode23tb|ode45|odefile|odeget|odeset|odextend|ones|optimget|optimset|ordeig|ordqz|ordschur|orth|pascal|pcg|pchip|pdepe|pdeval|perms|permute|pinv|planerot|pol2cart|poly|polyder|polyeig|polyfit|polyint|polyval|polyvalm|pow2|ppval|primes|prod|psi|qmr|qr|qrdelete|qrinsert|qrupdate|quad|quadl|quadv|qz|rand|randn|randperm|rank|rat|rats|rcond|real|reallog|realpow|realsqrt|rem|repmat|reshape|residue|roots|rosser|rot90|round|rref|rsf2csf|schur|sec|secd|sech|shiftdim|sign|sin|sind|sinh|size|sort|sortrows|spalloc|sparse|spaugment|spconvert|spdiags|speye|spfun|sph2cart|spline|spones|spparms|sprand|sprandn|sprandsym|sprank|spy|sqrt|sqrtm|squeeze|ss2tf|sub2ind|subspace|sum|svd|svds|symamd|symbfact|symmlq|symrcm|tan|tand|tanh|toeplitz|trace|treelayout|treeplot|tril|triplequad|triu|unmkpp|unwrap|vander|vectorize|vertcat|wilkinson|zeros)\b-      comment: Mathematics-      scope: keyword.mathematics.matlab-  matlab_keyword_operator:-    - match: \b(all|and|any|bitand|bitcmp|bitget|bitmax|bitor|bitset|bitshift|bitxor|eq|ge|gt|isa|isappdata|iscell|iscellstr|ischar|iscom|isdir|isempty|isequal|isequalwithequalnans|isevent|isfield|isfinite|isfloat|isglobal|ishandle|ishold|isinf|isinteger|isinterface|isjava|iskeyword|isletter|islogical|ismac|ismember|ismethod|isnan|isnumeric|isobject|ispc|ispref|isprime|isprop|isreal|isscalar|issorted|isspace|issparse|isstrprop|isstruct|isstudent|isunix|isvarname|isvector|le|lt|mislocked|or|ne|not|setxor|union|unique|xor)\b-      comment: Operator keywords-      scope: keyword.operator.matlab-  matlab_keyword_other:-    - match: \b(addOptional|addParamValue|addRequired|addtodate|arrayfun|assert|blanks|builtin|calendar|cell|celldisp|cellfun|cellplot|clock|cputime|createCopy|datatipinfo|date|datenum|datestr|datevec|dbmex|deal|deblank|depdir|depfun|echo|eomday|error|etime|eval|evalc|evalin|exist|feval|fieldnames|findstr|func2str|genvarname|getfield|global|inferiorto|inmem|intersect|intwarning|lasterr|lasterror|lastwarn|loadobj|lower|methods|methodsview|mex|mexext|mfilename|mlock|munlock|nargchk|nargoutchk|now|orderfields|parse|pcode|regexp|regexpi|regexprep|regexptranslate|rmfield|run|saveobj|setdiff|setfield|sprintf|sscanf|strcat|strcmp|strcmpi|strfind|strings|strjust|strmatch|strncmp|strncmpi|strread|strrep|strtok|strtrim|structfun|strvcat|subsasgn|subsindex|subsref|substruct|superiorto|swapbytes|symvar|tic|timer|timerfind|timerfindall|toc|typecast|upper|warning|weekday|who|whos)\b-      comment: Other keywords-      scope: keyword.other.matlab-  matlab_storage_control:-    - match: \b(addframe|ascii|audioplayer|audiorecorder|aufinfo|auread|auwrite|avifile|aviinfo|aviread|beep|binary|cdfepoch|cdfinfo|cdfread|cdfwrite|csvread|csvwrite|daqread|dlmread|dlmwrite|exifread|feof|ferror|fgetl|fgets|filehandle|filemarker|fileparts|filesep|fitsinfo|fitsread|fopen|fprintf|fread|frewind|fscanf|fseek|ftell|ftp|fullfile|fwrite|gunzip|gzip|hdf|hdf5|hdf5info|hdf5read|hdf5write|hdfinfo|hdfread|hdftool|imfinfo|importdata|imread|imwrite|lin2mu|load|memmapfile|mget|mmfileinfo|movie2avi|mput|mu2lin|multibandread|multibandwrite|open|rename|save|sendmail|sound|soundsc|tar|tempdir|tempname|textread|textscan|todatenum|uiimport|untar|unzip|urlread|urlwrite|wavfinfo|wavplay|wavread|wavrecord|wavwrite|winopen|wk1finfo|wk1read|wk1write|xlsfinfo|xlsread|xlswrite|xmlread|xmlwrite|xslt|zip)\b-      comment: File I/O-      scope: storage.control.matlab-  matlab_storage_modifier:-    - match: \b(base2dec|bin2dec|cast|cell2mat|cell2struct|cellstr|char|dec2base|dec2bin|dec2hex|hex2dec|hex2num|int2str|mat2cell|mat2str|num2cell|native2unicode|num2hex|num2str|persistent|str2double|str2func|str2mat|str2num|struct2cell|unicode2native)\b-      comment: Storage modifiers-      scope: storage.modifier.matlab-  matlab_storage_type:-    - match: \b(class|double|function|functions|input|inputname|inputParser|int16|int32|int64|int8|logical|single|struct|uint16|uint32|uint64|uint8)\b-      comment: Storage types-      scope: storage.type.matlab-  matlab_support_external:-    - match: \b(actxcontrol|actxcontrollist|actxcontrolselect|actxGetRunningServer|actxserver|addproperty|calllib|callSoapService|createClassFromWsdl|createSoapMessage|ddeadv|ddeexec|ddeinit|ddepoke|ddereq|ddeterm|ddeunadv|deleteproperty|enableservice|eventlisteners|events|Execute|GetCharArray|GetFullMatrix|GetVariable|GetWorkspaceData|import|instrcallback|instrfind|instrfindall|interfaces|invoke|javaaddpath|javaArray|javachk|javaclasspath|javaMethod|javaObject|javarmpath|libfunctions|libfunctionsview|libisloaded|libpointer|libstruct|loadlibrary|MaximizeCommandWindow|MinimizeCommandWindow|move|parseSoapResponse|PutCharArray|PutFullMatrix|PutWorkspaceData|readasync|record|registerevent|release|send|serial|serialbreak|stopasync|unloadlibrary|unregisterallevents|unregisterevent|usejava)\b-      comment: External Interfaces-      scope: support.external.matlab-  matlab_support_function:-    - match: \b(addpref|align|dialog|errordlg|export2wsdlg|getappdata|getpixelposition|getpref|ginput|guidata|guide|guihandles|helpdlg|inputdlg|inspect|listdlg|listfonts|menu|movegui|msgbox|openfig|printdlg|printpreview|questdlg|rmappdata|rmpref|selectmoveresize|setappdata|setpixelposition|setpref|textwrap|uibuttongroup|uicontextmenu|uicontrol|uigetdir|uigetfile|uigetpref|uimenu|uiopen|uipanel|uipushtool|uiputfile|uiresume|uisave|uisetcolor|uisetfont|uisetpref|uistack|uitoggletool|uitoolbar|uiwait|waitbar|waitfor|waitforbuttonpress|warndlg)\b-      comment: Creating Graphical User Interfaces-      scope: support.function.matlab-  matlab_support_graphics:-    - match: \b(alim|allchild|alpha|alphamap|ancestor|annotation|area|axes|axis|bar|bar3|bar3h|barh|box|brighten|camdolly|cameratoolbar|camlight|camlookat|camorbit|campan|campos|camproj|camroll|camtarget|camup|camva|camzoom|caxis|cla|clabel|clf|close|closereq|colorbar|colordef|colormap|colormapeditor|ColorSpec|comet|comet3|compass|coneplot|contour|contour3|contourc|contourf|contourslice|contrast|copyobj|curl|cylinder|daspect|datacursormode|datetick|delaunay|delaunay3|delaunayn|delete|diffuse|divergence|dragrect|drawnow|dsearch|dsearchn|ellipsoid|errorbar|ezcontour|ezcontourf|ezmesh|ezmeshc|ezplot|ezplot3|ezpolar|ezsurf|ezsurfc|feather|figure|figurepalette|fill|fill3|findall|findfigs|findobj|flow|fplot|frame2im|frameedit|gca|gcbf|gcbo|gcf|gco|get|getframe|graymon|grid|gtext|hgexport|hggroup|hgload|hgsave|hgtransform|hidden|hist|histc|hold|hsv2rgb|im2frame|im2java|image|imagesc|imformats|ind2rgb|inpolygon|interpstreamspeed|isocaps|isocolors|isonormals|isosurface|legend|light|lightangle|lighting|line|LineSpec|linkaxes|linkprop|loglog|makehgtform|material|mesh|meshc|meshz|movie|newplot|noanimate|opengl|orient|pan|pareto|patch|pbaspect|pcolor|peaks|pie|pie3|plot|plot3|plotbrowser|plotedit|plotmatrix|plottools|plotyy|polar|polyarea|print|printopt|propedit|propertyeditor|quiver|quiver3|rbbox|rectangle|rectint|reducepatch|reducevolume|refresh|refreshdata|reset|rgb2hsv|rgbplot|ribbon|rose|rotate|rotate3d|saveas|scatter|scatter3|semilogx|semilogy|set|shading|showplottool|shrinkfaces|slice|smooth3|specular|sphere|spinmap|stairs|stem|stem3|stream2|stream3|streamline|streamparticles|streamribbon|streamslice|streamtube|subplot|subvolume|surf|surf2patch|surface|surfc|surfl|surfnorm|tetramesh|texlabel|text|title|trimesh|triplot|trisurf|tsearch|tsearchn|view|viewmtx|volumebounds|voronoi|voronoin|waterfall|whitebg|xlabel|xlim|ylabel|ylim|zlabel|zlim|zoom)\b-      comment: Graphics-      scope: support.function.graphics.matlab-  matlab_support_toolbox_aerospace:-    - match: \b(wrldmagm|updateNodes|updateCamera|updateBodies|update|show|saveas|rrtheta|rrsigma|rrdelta|removeViewpoint|removeNode|removeBody|read|quatrotate|quatnormalize|quatnorm|quatmultiply|quatmod|quatinv|quatdivide|quatconj|quat2dcm|quat2angle|play|nodeInfo|moveBody|move|mjuliandate|machnumber|load|lla2ecef|leapyear|juliandate|initialize|initIfNeeded|hide|gravitywgs84|geoidegm96|geod2geoc|geocradius|geoc2geod|generatePatches|findstartstoptimes|fganimation|ecef2lla|dpressure|delete|decyear|dcmecef2ned|dcmbody2wind|dcm2quat|dcm2latlon|dcm2angle|dcm2alphabeta|datcomimport|createBody|correctairspeed|convvel|convtemp|convpres|convmass|convlength|convforce|convdensity|convangvel|convangacc|convang|convacc|atmospalt|atmosnrlmsise00|atmosnonstd|atmoslapse|atmosisa|atmoscoesa|atmoscira|angle2quat|angle2dcm|alphabeta|airspeed|addViewpoint|addRoute|addNode|addBody|VirtualRealityAnimation|Viewpoint|Node|Geometry|GenerateRunScript|Camera|Body|Animation)\b-      comment: Matlab aerospace toolbox-      scope: support.function.toolbox.aerospace.matlab-  matlab_support_toolbox_bioinformatics:-    - match: \b(zonebackadj|weights|view|traverse|traceplot|topoorder|swalign|svmtrain|svmsmoset|svmclassify|subtree|sptread|showhmmprof|showalignment|shortestpath|seqwordcount|seqtool|seqshowwords|seqshoworfs|seqreverse|seqrcomplement|seqprofile|seqpdist|seqneighjoin|seqmatch|seqlogo|seqlinkage|seqinsertgaps|seqdotplot|seqdisp|seqconsensus|seqcomplement|seq2regexp|select|scfread|samplealign|rnaplot|rnafold|rnaconvert|rna2dna|rmasummary|rmabackadj|revgeneticcode|restrict|reroot|reorder|redgreencmap|rebasecuts|rankfeatures|randseq|randfeatures|ramachandran|quantilenorm|prune|proteinpropplot|proteinplot|profalign|probesetvalues|probesetplot|probesetlookup|probesetlink|probelibraryinfo|plot|phytreewrite|phytreetool|phytreeread|phytree|pfamhmmread|pdist|pdbwrite|pdbread|pdbdistplot|pam|palindromes|optimalleaforder|oligoprop|nwalign|num2goid|nuc44|ntdensity|nt2int|nt2aa|nmercount|mzxmlread|mzxml2peaks|multialignviewer|multialignread|multialign|msviewer|mssgolay|msresample|msppresample|mspeaks|mspalign|msnorm|mslowess|msheatmap|msdotplot|msbackadj|msalign|molweight|molviewer|minspantree|maxflow|mavolcanoplot|mattest|mapcaplot|manorm|malowess|maloglog|mairplot|mainvarsetnorm|maimage|magetfield|mafdr|maboxplot|knnimpute|knnclassify|joinseq|jcampread|isspantree|isomorphism|isoelectric|isdag|int2nt|int2aa|imageneread|hmmprofstruct|hmmprofmerge|hmmprofgenerate|hmmprofestimate|hmmprofalign|graphtraverse|graphtopoorder|graphshortestpath|graphpred2path|graphminspantree|graphmaxflow|graphisspantree|graphisomorphism|graphisdag|graphconncomp|graphcluster|graphallshortestpaths|gprread|gonnet|goannotread|getrelatives|getpdb|getnodesbyid|getnewickstr|getmatrix|gethmmtree|gethmmprof|gethmmalignment|getgeodata|getgenpept|getgenbank|getembl|getedgesbynodeid|getdescendants|getcanonical|getbyname|getblast|getancestors|get|geosoftread|genpeptread|genevarfilter|geneticcode|generangefilter|geneont|genelowvalfilter|geneentropyfilter|genbankread|gcrmabackadj|gcrma|galread|featuresparse|featuresmap|fastawrite|fastaread|exprprofvar|exprprofrange|evalrasmolscript|emblread|dolayout|dndsml|dnds|dna2rna|dimercount|dayhoff|cytobandread|crossvalind|cpgisland|conncomp|codoncount|codonbias|clustergram|cleave|classperf|chromosomeplot|cghcbs|celintensityread|blosum|blastreadlocal|blastread|blastncbi|blastlocal|blastformat|biograph|baselookup|basecount|atomiccomp|aminolookup|allshortestpaths|agferead|affyread|affyprobeseqread|affyprobeaffinities|affyinvarsetnorm|aacount|aa2nt|aa2int)\b-      comment: Matlab bioinformatics toolbox-      scope: support.function.toolbox.bioinformatics.matlab-  matlab_support_toolbox_communications:-    - match: \b(wgn|vitdec|vec2mat|varlms|syndtable|symerr|stdchan|ssbmod|ssbdemod|signlms|shift2mask|seqgen\.pn|seqgen|semianalytic|scatterplot|rsgenpoly|rsencof|rsenc|rsdecof|rsdec|rls|ricianchan|reset|rectpulse|rcosine|rcosiir|rcosflt|rcosfir|rayleighchan|randsrc|randintrlv|randint|randerr|randdeintrlv|quantiz|qfuncinv|qfunc|qammod|qamdemod|pskmod|pskdemod|primpoly|poly2trellis|pmmod|pmdemod|plot|pammod|pamdemod|oqpskmod|oqpskdemod|oct2dec|normlms|noisebw|muxintrlv|muxdeintrlv|mskmod|mskdemod|modnorm|modem\.qammod|modem\.qamdemod|modem\.pskmod|modem\.pskdemod|modem\.pammod|modem\.pamdemod|modem\.oqpskmod|modem\.oqpskdemod|modem\.mskmod|modem\.mskdemod|modem\.genqammod|modem\.genqamdemod|modem\.dpskmod|modem\.dpskdemod|modem|mlseeq|mldivide|minpol|matintrlv|matdeintrlv|mask2shift|marcumq|log|lms|lloyds|lineareq|istrellis|isprimitive|iscatastrophic|intrlv|intdump|ifft|huffmanenco|huffmandict|huffmandeco|hilbiir|helscanintrlv|helscandeintrlv|helintrlv|heldeintrlv|hank2sys|hammgen|gray2bin|gfweight|gftuple|gftrunc|gftable|gfsub|gfroots|gfrepcov|gfrank|gfprimfd|gfprimdf|gfprimck|gfpretty|gfmul|gfminpol|gflineq|gffilter|gfdiv|gfdeconv|gfcosets|gfconv|gfadd|gf|genqammod|genqamdemod|gen2par|fskmod|fskdemod|fmmod|fmdemod|finddelay|filter|fft|fec\.ldpcenc|fec\.ldpcdec|eyediagram|equalize|encode|dvbs2ldpc|dpskmod|dpskdemod|dpcmopt|dpcmenco|dpcmdeco|doppler\.rounded|doppler\.rjakes|doppler\.jakes|doppler\.gaussian|doppler\.flat|doppler\.bigaussian|doppler\.ajakes|doppler|distspec|dftmtx|dfe|deintrlv|decode|de2bi|cyclpoly|cyclgen|cosets|convmtx|convintrlv|convenc|convdeintrlv|compand|commscope\.eyediagram|commscope|cma|bsc|biterr|bin2gray|bi2de|bertool|bersync|berfit|berfading|berconfint|bercoding|berawgn|bchnumerr|bchgenpoly|bchenc|bchdec|awgn|arithenco|arithdeco|ammod|amdemod|alignsignals|algintrlv|algdeintrlv)\b-      comment: Matlab communications toolbox-      scope: support.function.toolbox.communications.matlab-  matlab_support_toolbox_control_systems:-    - match: \b(zpkdata|zpk|zgrid|zero|totaldelay|tfdata|tf|stepplot|stepinfo|step|stack|stabsep|ssdata|ssbal|ss2ss|ss|sminreal|size|sisotool|sisoinit|sigmaplot|sigma|sgrid|setoptions|setdelaymodel|set|series|rss|rlocusplot|rlocus|reshape|reg|real|pzplot|pzmap|pole|place|parallel|pade|ord2|obsvf|obsv|nyquistplot|nyquist|norm|nicholsplot|nichols|ngrid|ndims|modsep|modred|minreal|margin|lyapchol|lyap|ltiview|ltiprops|ltimodels|lsimplot|lsiminfo|lsim|lqry|lqrd|lqr|lqgreg|lqg|lft|kalmd|kalman|issiso|isproper|isempty|isdt|isct|iopzplot|iopzmap|inv|interp|initialplot|initial|impulseplot|impulse|imag|hsvplot|hsvd|hasdelay|gram|getoptions|getdelaymodel|get|gensig|gdare|gcare|fselect|freqresp|frdata|frd|fnorm|filt|feedback|fcat|evalfr|estim|esort|dssdata|dss|dsort|drss|dlyapchol|dlyap|dlqr|delayss|delay2z|dcgain|dare|damp|d2d|d2c|ctrlpref|ctrbf|ctrb|covar|connect|conj|chgunits|care|canon|c2d|bodeplot|bodemag|bode|bandwidth|balred|balreal|augstate|append|allmargin|acker|abs)\b-      comment: Matlab control systems toolbox-      scope: support.function.toolbox.control-systems.matlab-  matlab_support_toolbox_curve_fitting:-    - match: \b(type|smooth|set|probvalues|probnames|predint|plot|numcoeffs|numargs|islinear|integrate|indepnames|get|formula|fittype|fitoptions|fit|feval|excludedata|differentiate|dependnames|datastats|confint|coeffvalues|coeffnames|cftool|cflibhelp|cfit|category|argnames)\b-      comment: Matlab curve fitting toolbox-      scope: support.function.toolbox.curve-fitting.matlab-  matlab_support_toolbox_data_acquisition:-    - match: \b(wait|trigger|stop|start|softscope|size|showdaqevents|setverify|set|save|putvalue|putsample|putdata|propinfo|peekdata|obj2mfile|muxchanidx|makenames|load|length|isvalid|issending|isrunning|islogging|isdioline|ischannel|inspect|getvalue|getsample|getdata|get|flushdata|disp|digitalio|delete|dec2binvec|daqreset|daqregister|daqread|daqmem|daqhwinfo|daqhelp|daqfind|daqcallback|clear|binvec2dec|analogoutput|analoginput|addmuxchannel|addline|addchannel)\b-      comment: Matlab data acquisition toolbox-      scope: support.function.toolbox.data-acquisition.matlab-  matlab_support_toolbox_database:-    - match: \b(width|versioncolumns|update|unregister|tables|tableprivileges|supports|sql2native|setdbprefs|set|runstoredprocedure|rsmd|rows|rollback|resultset|register|querytimeout|querybuilder|procedures|procedurecolumns|primarykeys|ping|namecolumn|logintimeout|isurl|isreadonly|isnullcolumn|isjdbc|isdriver|isconnection|insert|indexinfo|importedkeys|getdatasources|get|fetchmulti|fetch|fastinsert|exportedkeys|exec|drivermanager|driver|dmd|database\.fetch|database|cursor\.fetch|crossreference|confds|commit|columns|columnprivileges|columnnames|cols|close|clearwarnings|bestrowid|attr)\b-      comment: Matlab database toolbox-      scope: support.function.toolbox.database.matlab-  matlab_support_toolbox_datafeed:-    - match: \b(yahoo|tables|stop|stockticker|showtrades|reuters|pricevol|nextinfo|kx|isconnection|insert|info|idc|hyperfeed|havertool|haver|get|fred|fetch|factset|exec|datastream|close|bloomberg)\b-      comment: Matlab datafeed toolbox-      scope: support.function.toolbox.datafeed.matlab-  matlab_support_toolbox_design:-    - match: \b(zplane|zpkshiftc|zpkshift|zpkrateup|zpklp2xn|zpklp2xc|zpklp2mbc|zpklp2mb|zpklp2lp|zpklp2hp|zpklp2bsc|zpklp2bs|zpklp2bpc|zpklp2bp|zpkftransf|zpkbpc2bpc|zerophase|window|validstructures|tf2cl|tf2ca|stepz|specifyall|sos|setspecs|set2int|scaleopts|scalecheck|scale|reset|reorder|reffilter|realizemdl|qreport|polyphase|phasez|phasedelay|parallel|order|nstates|normalizefreq|normalize|norm|noisepsdopts|noisepsd|multistage|msesim|msepred|mfilt\.linearinterp|mfilt\.iirwdfinterp|mfilt\.iirwdfdecim|mfilt\.iirinterp|mfilt\.iirdecim|mfilt\.holdinterp|mfilt\.firtdecim|mfilt\.firsrc|mfilt\.firinterp|mfilt\.firfracinterp|mfilt\.firfracdecim|mfilt\.firdecim|mfilt\.fftfirinterp|mfilt\.farrowsrc|mfilt\.cicinterp|mfilt\.cicdecim|mfilt\.cascade|mfilt|measure|maxstep|limitcycle|lagrange|kaiserwin|isstable|issos|isreal|isminphase|ismaxphase|islinphase|isfir|isallpass|int|info|impz|iirshiftc|iirshift|iirrateup|iirpowcomp|iirpeak|iirnotch|iirls|iirlpnormc|iirlpnorm|iirlp2xn|iirlp2xc|iirlp2mbc|iirlp2mb|iirlp2lp|iirlp2hp|iirlp2bsc|iirlp2bs|iirlp2bpc|iirlp2bp|iirlinphase|iirgrpdelay|iirftransf|iircomb|iirbpc2bpc|ifir|help|grpdelay|gain|freqz|freqsamp|freqrespopts|freqrespest|firtype|firpr2chfb|firnyquist|firminphase|firls|firlpnorm|firlp2lp|firlp2hp|firhalfband|firgr|fireqint|firceqrip|fircband|filtstates\.cic|filterbuilder|filter|fftcoeffs|fdesign\.rsrc|fdesign\.peak|fdesign\.parameq|fdesign\.octave|fdesign\.nyquist|fdesign\.notch|fdesign\.lowpass|fdesign\.isinclp|fdesign\.interpolator|fdesign\.hilbert|fdesign\.highpass|fdesign\.halfband|fdesign\.fracdelay|fdesign\.differentiator|fdesign\.decimator|fdesign\.ciccomp|fdesign\.bandstop|fdesign\.bandpass|fdesign\.arbmagnphase|fdesign\.arbmag|fdesign|fdatool|fcfwrite|farrow|euclidfactors|equiripple|ellip|double|disp|dfilt\.wdfallpass|dfilt\.scalar|dfilt\.parallel|dfilt\.latticemamin|dfilt\.latticemamax|dfilt\.latticearma|dfilt\.latticear|dfilt\.latticeallpass|dfilt\.dfsymfir|dfilt\.dffirt|dfilt\.dffir|dfilt\.dfasymfir|dfilt\.df2tsos|dfilt\.df2t|dfilt\.df2sos|dfilt\.df2|dfilt\.df1tsos|dfilt\.df1t|dfilt\.df1sos|dfilt\.df1|dfilt\.cascadewdfallpass|dfilt\.cascadeallpass|dfilt\.cascade|dfilt\.calatticepc|dfilt\.calattice|dfilt\.allpass|dfilt|designopts|designmethods|design|denormalize|cumsec|cost|convert|coewrite|coeread|coeffs|cl2tf|cheby2|cheby1|ca2tf|butter|block|autoscale|allpassshiftc|allpassshift|allpassrateup|allpasslp2xn|allpasslp2xc|allpasslp2mbc|allpasslp2mb|allpasslp2lp|allpasslp2hp|allpasslp2bsc|allpasslp2bs|allpasslp2bpc|allpasslp2bp|allpassbpc2bpc|adaptfilt\.ufdaf|adaptfilt\.tdafdft|adaptfilt\.tdafdct|adaptfilt\.swrls|adaptfilt\.swftf|adaptfilt\.ss|adaptfilt\.se|adaptfilt\.sd|adaptfilt\.rls|adaptfilt\.qrdrls|adaptfilt\.qrdlsl|adaptfilt\.pbufdaf|adaptfilt\.pbfdaf|adaptfilt\.nlms|adaptfilt\.lsl|adaptfilt\.lms|adaptfilt\.hswrls|adaptfilt\.hrls|adaptfilt\.gal|adaptfilt\.ftf|adaptfilt\.filtxlms|adaptfilt\.fdaf|adaptfilt\.dlms|adaptfilt\.blmsfft|adaptfilt\.blms|adaptfilt\.bap|adaptfilt\.apru|adaptfilt\.ap|adaptfilt\.adjlms|adaptfilt)\b-      comment: Matlab design toolbox-      scope: support.function.toolbox.design.matlab-  matlab_support_toolbox_excel_link:-    - match: \b(matlabsub|matlabinit|matlabfcn|MLUseFullDesktop|MLUseCellArray|MLStartDir|MLShowMatlabErrors|MLPutVar|MLPutMatrix|MLOpen|MLMissingDataAsNaN|MLGetVar|MLGetMatrix|MLGetFigure|MLEvalString|MLDeleteMatrix|MLClose|MLAutoStart|MLAppendMatrix)\b-      comment: Matlab excel link toolbox-      scope: support.function.toolbox.excel-link.matlab-  matlab_support_toolbox_filter_design_hdl_coder:-    - match: \b(generatetbstimulus|generatetb|generatehdl|fdhdltool)\b-      comment: Matlab filter design hdl coder toolbox-      scope: support.function.toolbox.filter-design-hdl-coder.matlab-  matlab_support_toolbox_financial:-    - match: \b(zero2pyld|zero2fwd|zero2disc|zbtyield|zbtprice|yldtbill|yldmat|ylddisc|yearfrac|yeardays|year|xirr|x2mdate|wrkdydif|willpctr|willad|weights2holdings|weekday|wclose|volroc|vertcat|uplus|uminus|uicalendar|ugarchsim|ugarchpred|ugarchllf|ugarch|typprice|tsmovavg|tsmom|tsaccel|tr2bonds|toweekly|totalreturnprice|tosemi|toquoted|toquarterly|tomonthly|todecimal|today|todaily|toannual|times|time2date|tick2ret|thirtytwo2dec|thirdwednesday|tbl2bond|taxedrr|targetreturn|subsref|subsasgn|stochosc|std|spctkd|sortfts|smoothts|size|sharpe|setfield|selectreturn|second|rsindex|rmfield|ret2tick|resamplets|rdivide|pyld2zero|pvvar|pvtrend|pvfix|prtbill|prmat|prdisc|prcroc|prbyzero|power|posvolidx|portvrisk|portstats|portsim|portrand|portopt|portcons|portalpha|portalloc|pointfig|plus|plot|periodicreturns|peravg|pcpval|pcglims|pcgcomp|pcalims|payuni|payper|payodd|payadv|opprofit|onbalvol|nweekdate|now|nomrr|negvolidx|mvnrstd|mvnrobj|mvnrmle|mvnrfish|mtimes|mrdivide|movavg|months|month|mirr|minute|minus|min|merge|medprice|mean|maxdrawdown|max|macd|m2xdate|lweekdate|lpm|log2|log10|log|llow|length|leadts|lbusdate|lagts|issorted|isfield|isequal|iscompatible|isbusday|irr|inforatio|hour|horzcat|holidays|holdings2weights|hist|highlow|hhigh|getnameidx|getfield|geom2arith|fwd2zero|fvvar|fvfix|fvdisc|ftsuniq|ftstool|ftsinfo|ftsgui|ftsbound|fts2mat|fts2ascii|frontier|frontcon|freqstr|freqnum|frac2cur|fpctkd|fints|filter|fillts|fieldnames|fetch|fbusdate|extfield|exp|ewstats|eomday|eomdate|end|emaxdrawdown|elpm|effrr|ecmnstd|ecmnobj|ecmnmle|ecmninit|ecmnhess|ecmnfish|ecmmvnrstd|ecmmvnrobj|ecmmvnrmle|ecmmvnrfish|ecmlsrobj|ecmlsrmle|discrate|disc2zero|diff|depstln|depsoyd|deprdv|depgendb|depfixdb|dec2thirtytwo|daysdif|daysadd|daysact|days365|days360psa|days360isda|days360e|days360|day|datewrkdy|datevec|datestr|datenum|datemnth|datefind|datedisp|dateaxis|date2time|cur2str|cur2frac|cumsum|createholidays|cpnpersz|cpndaysp|cpndaysn|cpndatepq|cpndatep|cpndatenq|cpndaten|cpncount|cov2corr|corr2cov|convertto|convert2sur|chfield|chartfts|chaikvolat|chaikosc|cftimes|cfport|cfdur|cfdates|cfconv|cfamounts|candle|busdays|busdate|boxcox|bollinger|bolling|bndyield|bndspread|bndprice|bnddury|bnddurp|bndconvy|bndconvp|blsvega|blstheta|blsrho|blsprice|blslambda|blsimpv|blsgamma|blsdelta|blkprice|blkimpv|binprice|beytbill|barh|bar3h|bar3|bar|ascii2fts|arith2geom|annuterm|annurate|amortize|adosc|adline|active2abs|acrudisc|acrubond|accrfrac|abs2active)\b-      comment: Matlab financial toolbox-      scope: support.function.toolbox.financial.matlab-  matlab_support_toolbox_financial_derivatives:-    - match: \b(trintreeshape|trintreepath|treeviewer|treeshape|treepath|time2date|swaptionbyhw|swaptionbyhjm|swaptionbybk|swaptionbybdt|swapbyzero|swapbyhw|swapbyhjm|swapbybk|swapbybdt|stockspec|stockoptspec|ratetimes|rate2disc|optstockbyitt|optstockbyeqp|optstockbycrr|optbndbyhw|optbndbyhjm|optbndbybk|optbndbybdt|mmktbyhjm|mmktbybdt|mktrintree|mktree|mkbush|lookbackbyitt|lookbackbyeqp|lookbackbycrr|itttree|itttimespec|ittsens|ittprice|isafin|intenvset|intenvsens|intenvprice|intenvget|insttypes|instswaption|instswap|instsetfield|instselect|instoptstock|instoptbnd|instlookback|instlength|instgetcell|instget|instfloor|instfloat|instfixed|instfind|instfields|instdisp|instdelete|instcompound|instcf|instcap|instbond|instbarrier|instasian|instaddfield|instadd|hwvolspec|hwtree|hwtimespec|hwsens|hwprice|hjmvolspec|hjmtree|hjmtimespec|hjmsens|hjmprice|hedgeslf|hedgeopt|floorbyhw|floorbyhjm|floorbybk|floorbybdt|floatbyzero|floatbyhw|floatbyhjm|floatbybk|floatbybdt|fixedbyzero|fixedbyhw|fixedbyhjm|fixedbybk|fixedbybdt|eqptree|eqptimespec|eqpsens|eqpprice|disc2rate|derivset|derivget|datedisp|date2time|cvtree|crrtree|crrtimespec|crrsens|crrprice|compoundbyitt|compoundbyeqp|compoundbycrr|classfin|cfbyzero|cfbyhw|cfbyhjm|cfbybk|cfbybdt|capbyhw|capbyhjm|capbybk|capbybdt|bushshape|bushpath|bondbyzero|bondbyhw|bondbyhjm|bondbybk|bondbybdt|bkvolspec|bktree|bktimespec|bksens|bkprice|bdtvolspec|bdttree|bdttimespec|bdtsens|bdtprice|barrierbyitt|barrierbyeqp|barrierbycrr|asianbyitt|asianbyeqp|asianbycrr)\b-      comment: Matlab financial derivatives toolbox-      scope: support.function.toolbox.financial-derivatives.matlab-  matlab_support_toolbox_fixed_income:-    - match: \b(zeroyield|zeroprice|tfutyieldbyrepo|tfutpricebyrepo|tfutimprepo|tfutbyyield|tfutbyprice|tbillyield2disc|tbillyield|tbillval01|tbillrepo|tbillprice|tbilldisc2yield|stepcpnyield|stepcpnprice|stepcpncfamounts|psaspeed2rate|psaspeed2default|mbsyield2speed|mbsyield2oas|mbsyield|mbswal|mbsprice2speed|mbsprice2oas|mbsprice|mbspassthrough|mbsoas2yield|mbsoas2price|mbsnoprepay|mbsdury|mbsdurp|mbsconvy|mbsconvp|mbscfamounts|liborprice|liborfloat2fixed|liborduration|convfactor|cfamounts|cdyield|cdprice|cdai|cbprice|bkput|bkfloorlet|bkcaplet|bkcall)\b-      comment: Matlab fixed income toolbox-      scope: support.function.toolbox.fixed-income.matlab-  matlab_support_toolbox_fixed_point:-    - match: \b(zlim|ylim|xlim|wordlength|waterfall|voronoin|voronoi|vertcat|upperbound|uplus|uminus|uint8|uint32|uint16|triu|trisurf|triplot|trimesh|tril|treeplot|transpose|tostring|toeplitz|times|text|surfnorm|surfl|surfc|surf|sum|subsref|subsasgn|sub|stripscaling|streamtube|streamslice|streamribbon|stem3|stem|stairs|squeeze|sqrt|spy|slice|size|single|sign|shiftdim|set|semilogy|semilogx|sdec|scatter3|scatter|savefipref|round|rose|ribbon|rgbplot|reshape|resetlog|reset|rescale|repmat|realmin|realmax|real|range|randquant|quiver3|quiver|quantizer|quantize|pow2|polar|plus|plotyy|plotmatrix|plot3|plot|permute|pcolor|patch|or|oct|nunderflows|numerictype|numberofelements|num2int|num2hex|num2bin|noverflows|not|noperations|ne|ndims|mtimes|mpy|minus|minlog|min|meshz|meshc|mesh|maxlog|max|lt|lsb|lowerbound|loglog|logical|line|length|le|isvector|issigned|isscalar|isrow|isreal|ispropequal|isobject|isnumerictype|isnumeric|isnan|isinf|isfinite|isfimath|isfi|isequal|isempty|iscolumn|ipermute|intmin|intmax|int8|int32|int16|int|innerprodintbits|imag|horzcat|histc|hist|hex2num|hex|hankel|gt|gplot|getmsb|getlsb|get|ge|fractionlength|fplot|flipud|fliplr|flipdim|fipref|fimath|fi|feather|ezsurfc|ezsurf|ezpolar|ezplot3|ezplot|ezmesh|ezcontourf|ezcontour|exponentmin|exponentmax|exponentlength|exponentbias|etreeplot|errorbar|eq|eps|end|double|divide|disp|diag|denormalmin|denormalmax|dec|ctranspose|copyobj|convergent|contourf|contourc|contour3|contour|conj|coneplot|complex|compass|comet3|comet|clabel|buffer|bitxorreduce|bitxor|bitsrl|bitsra|bitsll|bitsliceget|bitshift|bitset|bitror|bitrol|bitorreduce|bitor|bitget|bitconcat|bitcmp|bitandreduce|bitand|bin2num|bin|barh|bar|area|any|and|all|add|abs)\b-      comment: Matlab fixed-point toolbox-      scope: support.function.toolbox.fixed-point.matlab-  matlab_support_toolbox_fuzzy_logic:-    - match: \b(zmf|writefis|trimf|trapmf|surfview|subclust|smf|sigmf|showrule|showfis|sffis|setfis|ruleview|ruleedit|rmvar|rmmf|readfis|psigmf|probor|plotmf|plotfis|pimf|parsrule|newfis|mfedit|mf2mf|mam2sug|getfis|gensurf|genfis3|genfis2|genfis1|gbellmf|gaussmf|gauss2mf|fuzzy|fuzblock|fuzarith|findcluster|fcm|evalmf|evalfis|dsigmf|defuzz|convertfis|anfisedit|anfis|addvar|addrule|addmf)\b-      comment: Matlab fuzzy logic toolbox-      scope: support.function.toolbox.fuzzy-logic.matlab-  matlab_support_toolbox_garch:-    - match: \b(ret2price|price2ret|ppTSTest|ppARTest|ppARDTest|parcorr|lratiotest|lbqtest|lagmatrix|hpfilter|garchsim|garchset|garchpred|garchplot|garchma|garchinfer|garchget|garchfit|garchdisp|garchcount|garchar|dfTSTest|dfARTest|dfARDTest|crosscorr|autocorr|archtest|aicbic)\b-      comment: Matlab GARCH toolbox-      scope: support.function.toolbox.garch.matlab-  matlab_support_toolbox_genetic_algorithms:-    - match: \b(threshacceptbnd|simulannealbnd|saoptimset|saoptimget|psoptimset|psoptimget|psearchtool|patternsearch|gatool|gaoptimset|gaoptimget|gamultiobj|ga)\b-      comment: Matlab genetic algorithms toolbox-      scope: support.function.toolbox.genetic-algorithms.matlab-  matlab_support_toolbox_image_acquisition:-    - match: \b(wait|videoinput|triggerinfo|triggerconfig|trigger|stoppreview|stop|start|set|save|propinfo|preview|peekdata|obj2mfile|load|isvalid|isrunning|islogging|imaqtool|imaqreset|imaqmontage|imaqmem|imaqhwinfo|imaqhelp|imaqfind|getsnapshot|getselectedsource|getdata|get|flushdata|disp|delete|closepreview|clear)\b-      comment: Matlab image acquisition toolbox-      scope: support.function.toolbox.image-acquisition.matlab-  matlab_support_toolbox_image_processing:-    - match: \b(zoom|ycbcr2rgb|xyz2uint16|xyz2double|wiener2|whitepoint|watershed|warp|uintlut|uint8|uint16|truesize|translate|tonemap|tforminv|tformfwd|tformarray|subimage|stretchlim|strel|stdfilt|std2|roipoly|roifilt2|roifill|roicolor|rgbplot|rgb2ycbcr|rgb2ntsc|rgb2ind|rgb2hsv|rgb2gray|regionprops|reflect|rangefilt|radon|qtsetblk|qtgetblk|qtdecomp|psf2otf|poly2mask|pixval|phantom|para2fan|padarray|otf2psf|ordfilt2|ntsc2rgb|normxcorr2|nlfilter|nitfread|nitfinfo|montage|medfilt2|mean2|mat2gray|maketform|makeresampler|makelut|makecform|makeConstrainToRectFcn|label2rgb|lab2uint8|lab2uint16|lab2double|isrgb|isnitf|isind|isicc|isgray|isflat|isbw|iradon|iptwindowalign|iptsetpref|iptremovecallback|iptnum2ordinal|ipticondir|iptgetpref|iptgetapi|iptdemos|iptcheckstrs|iptchecknargin|iptcheckmap|iptcheckinput|iptcheckhandle|iptcheckconn|iptaddcallback|iptSetPointerBehavior|iptPointerManager|iptGetPointerBehavior|ippl|intlut|interfileread|interfileinfo|ind2rgb|ind2gray|imwrite|imview|imtransform|imtophat|imtool|imsubtract|imshow|imscrollpanel|imsave|imrotate|imresize|imregionalmin|imregionalmax|imrect|imreconstruct|imread|impyramid|imputfile|improfile|impositionrect|impoly|impoint|implay|impixelregionpanel|impixelregion|impixelinfoval|impixelinfo|impixel|imoverviewpanel|imoverview|imopen|imnoise|immultiply|immovie|immagbox|imline|imlincomb|imimposemin|imhmin|imhmax|imhist|imhandles|imgetfile|imgcf|imgca|imfreehand|imfinfo|imfilter|imfill|imextendedmin|imextendedmax|imerode|imellipse|imdivide|imdistline|imdisplayrange|imdilate|imcrop|imcontrast|imcontour|imcomplement|imclose|imclearborder|imbothat|imattributes|imapprox|imagemodel|imageinfo|imadjust|imadd|imabsdiff|im2uint8|im2uint16|im2single|im2java2d|im2java|im2int16|im2double|im2col|im2bw|ifftn|ifft2|ifanbeam|idct2|iccwrite|iccroot|iccread|iccfind|hsv2rgb|houghpeaks|houghlines|hough|histeq|hdrread|graythresh|grayslice|graycoprops|graycomatrix|gray2ind|getsequence|getrect|getrangefromclass|getpts|getnhood|getneighbors|getline|getimagemodel|getimage|getheight|fwind2|fwind1|ftrans2|fspecial|fsamp2|freqz2|freqspace|fliptform|findbounds|filter2|fftshift|fftn|fft2|fanbeam|fan2para|entropyfilt|entropy|edgetaper|edge|double|dither|dicomwrite|dicomuid|dicomread|dicomlookup|dicominfo|dicomdict|dicomanon|demosaic|decorrstretch|deconvwnr|deconvreg|deconvlucy|deconvblind|dctmtx|dct2|cpstruct2pairs|cpselect|cpcorr|cp2tform|corr2|convn|convmtx2|conv2|conndef|colorbar|colfilt|col2im|cmunique|cmpermute|checkerboard|bwunpack|bwulterode|bwtraceboundary|bwselect|bwperim|bwpack|bwmorph|bwlabeln|bwlabel|bwhitmiss|bweuler|bwdist|bwboundaries|bwareaopen|bwarea|brighten|blkproc|bestblk|axes2pix|applylut|applycform|analyze75read|analyze75info|adapthisteq)\b-      comment: Matlab image processing toolbox-      scope: support.function.toolbox.image-processing.matlab-  matlab_support_toolbox_instrument_control:-    - match: \b(visa|update|udp|trigger|tmtool|tcpip|stopasync|spoll|size|set|serialbreak|serial|selftest|scanstr|save|resolvehost|remove|record|readasync|query|propinfo|obj2mfile|midtest|midedit|methods|memwrite|memunmap|memread|mempoke|mempeek|memmap|makemid|load|length|iviconfigurationstore|isvalid|invoke|instrreset|instrnotify|instrid|instrhwinfo|instrhelp|instrfindall|instrfind|instrcallback|inspect|icdevice|gpib|geterror|get|fwrite|fscanf|fread|fprintf|fopen|flushoutput|flushinput|fgets|fgetl|fclose|echoudp|echotcpip|disp|disconnect|devicereset|delete|connect|commit|clrdevice|clear|binblockwrite|binblockread|add)\b-      comment: Matlab instrument control toolbox-      scope: support.function.toolbox.instrument-control.matlab-  matlab_support_toolbox_mapping:-    - match: \b(zerom|zero22pi|zdatam-ui|zdatam|wrapToPi|wrapTo360|wrapTo2Pi|wrapTo180|worldmap|worldfilewrite|worldfileread|westof|vmap0ui|vmap0rhead|vmap0read|vmap0data|vinvtran|viewshed|vfwdtran|vec2mtx|utmzoneui|utmzone|utmgeoid|usgsdems|usgsdem|usgs24kdem|usamap|updategeostruct|unwrapMultipart|unitstr|unitsratio|undotrim|undoclip|uimaptbx|trimdata|trimcart|trackui|trackg|track2|track1|track|toRadians|toDegrees|tissot|timezone|timedim|time2str|tightmap|tigerp|tigermif|tgrline|textm|tbase|tagm-ui|tagm|symbolm|surfm|surflsrm|surflm|surfdist|surfacem|str2angle|stem3m|stdm|stdist|spzerom|spcread|smoothlong|sm2rad|sm2nm|sm2km|sm2deg|sizem|showm-ui|showm|showaxes|shapewrite|shaperead|shapeinfo|shaderel|setpostn|setm|setltln|seedm|sectorg|sec2hr|sec2hms|sec2hm|sdtsinfo|sdtsdemread|scxsc|scirclui|scircleg|scircle2|scircle1|scatterm|scaleruler|satbath|rsphere|roundn|rotatetext|rotatem|rootlayr|rhxrh|restack|resizem|removeExtraNanSeparators|refvec2mat|refmat2vec|reducem|reckon|readmtx|readfk5|readfields|rcurve|rad2sm|rad2nm|rad2km|rad2dms|rad2dm|rad2deg|quiverm|quiver3m|qrydata|putpole|projlist|projinv|projfwd|project|previewmap|polyxpoly|polysplit|polymerge|polyjoin|polycut|polybool|poly2fv|poly2cw|poly2ccw|polcmap|plotm|plot3m|plabel|pixcenters|pix2map|pix2latlon|pcolorm|patchm|patchesm|parallelui|paperscale|panzoom|originui|org2pol|onem|npi2pi|northarrow|nm2sm|nm2rad|nm2km|nm2deg|newpole|neworig|navfix|nanm|nanclip|namem|n2ecc|mobjects|mlayers|mlabelzero22pi|mlabel|minvtran|minaxis|mfwdtran|meshm|meshlsrm|meshgrat|meridianfwd|meridianarc|meanm|mdistort|mat2hms|mat2dms|mapview|maptrims|maptrimp|maptriml|maptrim|maptool|mapshow|maps|mapprofile|mapoutline|maplist|mapbbox|map2pix|makesymbolspec|makerefmat|makemapped|makedbfspec|makeattribspec|majaxis|lv2ecef|ltln2val|los2|linem|linecirc|limitm|lightmui|lightm|legs|lcolorbar|latlon2pix|kmlwrite|km2sm|km2rad|km2nm|km2deg|ispolycw|ismapped|ismap|isShapeMultipart|intrplon|intrplat|interpm|inputm|ind2rgb8|imbedm|hr2sec|hr2hms|hr2hm|hms2sec|hms2mat|hms2hr|hms2hm|histr|hista|hidem-ui|hidem|handlem-ui|handlem|gtopo30s|gtopo30|gtextm|gshhs|grn2eqa|gridm|grid2image|grepfields|gradientm|globedems|globedem|getworldfilename|getseeds|getm|geotiffread|geotiffinfo|geotiff2mstruct|geoshow|geoloc2grid|geodetic2geocentricLat|geodetic2ecef|geocentric2geodeticLat|gcxsc|gcxgc|gcwaypts|gcpmap|gcm|gc2sc|fromRadians|fromDegrees|framem|flatearthpoly|flat2ecc|fipsname|findm|filterm|fillm|fill3m|extractm|extractfield|etopo5|etopo|eqa2grn|epsm|encodem|ellipse1|elevation|egm96geoid|ecef2lv|ecef2geodetic|ecc2n|ecc2flat|eastof|dteds|dted|driftvel|driftcorr|dreckon|dms2rad|dms2mat|dms2dm|dms2degrees|dms2deg|dm2degrees|distortcalc|distdim|distance|dist2str|displaym|departure|demdataui|demcmap|degrees2dms|degrees2dm|deg2sm|deg2rad|deg2nm|deg2km|deg2dms|deg2dm|defaultm|dcwrhead|dcwread|dcwgaz|dcwdata|daspectm|crossfix|convertlat|contourm|contourfm|contourcmap|contour3m|cometm|comet3m|combntns|colorui|colorm|cmapui|clrmenu|closePolygonParts|clmo-ui|clmo|clma|clipdata|clegendm|clabelm|circcirc|changem|cart2grn|camupm|camtargm|camposm|bufferm|azimuth|axesscale|axesmui|axesm|axes2ecc|avhrrlambert|avhrrgoode|areaquad|areamat|areaint|arcgridread|antipode|angledim|angl2str|almanac)\b-      comment: Matlab mapping toolbox-      scope: support.function.toolbox.mapping.matlab-  matlab_support_toolbox_model_based_calibration:-    - match: \b(modelinput|getAlternativeTypes|getAlternativeNames|YData|XDataNames|XData|Widths|Values|Value|UserVariables|UpdateResponseFeatures|UpdateResponse|Units|Type|TestPlans|TestFilters|SummaryStatisticsForTest|SummaryStatistics|StepwiseStatus|StepwiseSelection|StepwiseRegression|Status|StatisticsDialog|SizeOfParameterSet|SingleVIF|SignalUnits|SignalNames|SetupDialog|SetTermStatus|SaveAs|Save|RollbackEdit|RestoreDataForTest|RestoreData|Responses|ResponseSignalName|Response|RemoveVariable|RemoveTestFilter|RemoveOutliersForTest|RemoveOutliers|RemoveFilter|RemoveData|Remove|RecordsPerTest|Properties|PredictedValueForTest|PredictedValue|PartialVIF|Parameters|ParameterStatistics|PEVForTest|PEV|Owner|OutputData|OutlierIndicesForTest|OutlierIndices|NumberOfTests|NumberOfRecords|NumberOfParameters|NumberOfInputs|New|Names|Name|MultipleVIF|ModifyVariable|ModifyTestFilter|ModifyFilter|Modified|ModelSetup|ModelForTest|Model|MakeHierarchicalResponse|LocalResponses|LoadProject|Load|Levels|Level|Jacobian|IsEditable|IsBeingEdited|IsAlternative|InputsPerLevel|Inputs|InputSignalNames|InputSetupDialog|InputData|ImportFromMBCDataStructure|ImportFromFile|GetTermStatus|GetTermLabel|GetIncludedTerms|GetDesignMatrix|GetAllTerms|FitAlgorithm|Fit|Filters|Filename|ExportToMBCDataStructure|Export|Evaluate|DoubleResponseData|DoubleInputData|DiagnosticStatistics|DetachData|DefineTestGroups|DefineNumberOfRecordsPerTest|DefaultModels|DataFileTypes|Data|CreateTestplan|CreateResponseFeature|CreateResponse|CreateProject|CreateModel|CreateData|CreateAlternativeModels|CreateAlgorithm|Covariance|Correlation|CopyData|CommitEdit|ChooseAsBest|Centers|BoxCoxSSE|BeginEdit|AttachData|Append|AlternativeResponses|AlternativeModelStatistics|AliasMatrix|AddVariable|AddTestFilter|AddFilter)\b-      comment: Matlab model-based calibration toolbox-      scope: support.function.toolbox.model-based-calibration.matlab-  matlab_support_toolbox_model_predictive_control:-    - match: \b(zpk|trim|tf|ss|size|sim|setoutdist|setname|setmpcsignals|setmpcdata|setindist|setestim|set|qpdantz|plot|pack|mpcverbosity|mpcstate|mpcsimopt|mpcprops|mpcmove|mpchelp|mpc|getoutdist|getname|getmpcdata|getindist|getestim|get|d2d|compare|cloffset)\b-      comment: Matlab model predictive control toolbox-      scope: support.function.toolbox.model-predictive-control.matlab-  matlab_support_toolbox_neural_network:-    - match: \b(vec2ind|tribas|trainscg|trains|trainrp|trainr|trainoss|trainlm|traingdx|traingdm|traingda|traingd|traincgp|traincgf|traincgb|trainc|trainbr|trainbfgc|trainbfg|trainb|train|tansig|sse|srchhyb|srchgol|srchcha|srchbre|srchbac|sp2narx|softmax|sim|setx|seq2con|scalprod|satlins|satlin|revert|removerows|removeconstantrows|randtop|rands|randnr|randnc|radbas|quant|purelin|processpca|postreg|poslin|pnormc|plotvec|plotv|plotsom|plotpv|plotperf|plotpc|plotes|plotep|plotbr|normr|normprod|normc|nntool|nnt2som|nnt2rb|nnt2p|nnt2lvq|nnt2lin|nnt2hop|nnt2ff|nnt2elm|nnt2c|nftool|newsom|newrbe|newrb|newpnn|newp|newnarxsp|newnarx|newlvq|newlrn|newlind|newlin|newhop|newgrnn|newfftd|newff|newelm|newdtdnn|newcf|newc|network|netsum|netprod|netinv|negdist|mseregec|msereg|mse|minmax|midpoint|maxlinlr|mapstd|mapminmax|mandist|mae|logsig|linkdist|learnwh|learnsom|learnpn|learnp|learnos|learnlv2|learnlv1|learnk|learnis|learnhd|learnh|learngdm|learngd|learncon|initzero|initwb|initnw|initlay|initcon|init|ind2vec|hintonwb|hintonw|hextop|hardlims|hardlim|gridtop|getx|gensim|fixunknowns|errsurf|dotprod|dividerand|divideint|divideind|divideblock|dist|display|disp|convwf|concur|con2seq|compet|combvec|calcperf|calcpd|calcjx|calcjejj|calcgx|boxdist|adapt)\b-      comment: Matlab neural network toolbox-      scope: support.function.toolbox.neural-network.matlab-  matlab_support_toolbox_opc:-    - match: \b(writeasync|write|wait|trend|stop|start|showopcevents|set|serveritems|serveritemprops|save|removepublicgroup|refresh|readasync|read|propinfo|peekdata|openosf|opctool|opcsupport|opcstruct2timeseries|opcstruct2array|opcserverinfo|opcreset|opcregister|opcread|opcqstr|opcqparts|opcqid|opchelp|opcfind|opcda|opccallback|obj2mfile|makepublic|load|isvalid|getnamespace|getdata|get|genslwrite|genslread|flushdata|flatnamespace|disp|disconnect|delete|copyobj|connect|clonegroup|cleareventlog|cancelasync|additem|addgroup)\b-      comment: Matlab OPC toolbox-      scope: support.function.toolbox.opc.matlab-  matlab_support_toolbox_optimization:-    - match: \b(quadprog|optimtool|optimset|optimget|lsqnonneg|lsqnonlin|lsqlin|lsqcurvefit|linprog|gangstr|fzmult|fzero|fsolve|fseminf|fminunc|fminsearch|fminimax|fmincon|fminbnd|fgoalattain|color|bintprog)\b-      comment: Matlab optimization toolbox-      scope: support.function.toolbox.optimization.matlab-  matlab_support_toolbox_rf:-    - match: \b(writeva|write|timeresp|smith|setop|semilogy|semilogx|rfmodel\.rational|rfdata\.power|rfdata\.noise|rfdata\.nf|rfdata\.network|rfdata\.mixerspur|rfdata\.ip3|rfdata\.data|rfckt\.txline|rfckt\.twowire|rfckt\.shuntrlc|rfckt\.seriesrlc|rfckt\.series|rfckt\.rlcgline|rfckt\.passive|rfckt\.parallelplate|rfckt\.parallel|rfckt\.mixer|rfckt\.microstrip|rfckt\.lclowpasstee|rfckt\.lclowpasspi|rfckt\.lchighpasstee|rfckt\.lchighpasspi|rfckt\.lcbandstoptee|rfckt\.lcbandstoppi|rfckt\.lcbandpasstee|rfckt\.lcbandpasspi|rfckt\.hybridg|rfckt\.hybrid|rfckt\.delay|rfckt\.datafile|rfckt\.cpw|rfckt\.coaxial|rfckt\.cascade|rfckt\.amplifier|restore|read|polar|plotyy|plot|loglog|listparam|listformat|impulse|getz0|getop|freqresp|extract|circle|calculate|analyze)\b-      comment: Matlab RF toolbox-      scope: support.function.toolbox.rf.matlab-  matlab_support_toolbox_robust_control:-    - match: \b(wcsens|wcnorm|wcmargin|wcgopt|wcgain|usubs|uss|usimsamp|usiminfo|usimfill|usample|ureal|uplot|umat|ultidyn|ufrd|udyn|ucomplexm|ucomplex|sysic|symdec|stack|stabproj|squeeze|slowfast|skewdec|simplify|showlmi|setmvar|setlmis|sectf|sdlsim|sdhinfsyn|sdhinfnorm|schurmr|robuststab|robustperf|robopt|repmat|reduce|randuss|randumat|randatom|quadstab|quadperf|pvinfo|pvec|psys|psinfo|popov|polydec|pdsimul|pdlstab|normalized2actual|newlmi|ncfsyn|ncfmr|ncfmargin|mussvextract|mussv|msfsyn|modreal|mktito|mkfilter|mixsyn|mincx|matnbr|mat2dec|ltrsyn|ltiarray2uss|loopsyn|loopsens|loopmargin|lmivar|lmiterm|lmireg|lminbr|lmiinfo|lmiedit|lftdata|isuncertain|ispsys|imp2ss|imp2exp|icsignal|iconnect|icomplexify|hinfsyn|hinfgs|hankelsv|hankelmr|h2syn|h2hinfsyn|gridureal|gevp|getlmis|genphase|gapmetric|fitmagfrd|fitfrd|feasp|evallmi|drawmag|dmplot|dksyn|dkitopt|diag|delmvar|dellmi|defcx|decnbr|decinfo|decay|dec2mat|dcgainmr|cpmargin|complexify|cmsclsyn|bstmr|bilin|balancmr|augw|aff2pol|actual2normalized)\b-      comment: Matlab robust control toolbox-      scope: support.function.toolbox.robust-control.matlab-  matlab_support_toolbox_signal_processing:-    - match: \b(zplane|zp2tf|zp2ss|zp2sos|zerophase|yulewalk|xcov|xcorr2|xcorr|wvtool|wintool|window|vco|upsample|upfirdn|unwrap|uencode|udecode|tukeywin|tripuls|triang|tfestimate|tf2zpk|tf2zp|tf2ss|tf2sos|tf2latc|taylorwin|strips|stmcb|stepz|ss2zp|ss2tf|ss2sos|square|sptool|spectrum\.yulear|spectrum\.welch|spectrum\.periodogram|spectrum\.music|spectrum\.mtm|spectrum\.mcov|spectrum\.eigenvector|spectrum\.cov|spectrum\.burg|spectrum|spectrogram|sosfilt|sos2zp|sos2tf|sos2ss|sos2cell|sinc|sigwin|sgolayfilt|sgolay|seqperiod|schurrc|sawtooth|rootmusic|rooteig|rlevinson|residuez|resample|rectwin|rectpuls|rceps|rc2poly|rc2lar|rc2is|rc2ac|pyulear|pwelch|pulstran|prony|pow2db|polystab|polyscale|poly2rc|poly2lsf|poly2ac|pmusic|pmtm|pmcov|phasez|phasedelay|periodogram|peig|pcov|pburg|parzenwin|nuttallwin|mscohere|modulate|medfilt1|maxflat|lsf2poly|lpc|lp2lp|lp2hp|lp2bs|lp2bp|levinson|latcfilt|latc2tf|lar2rc|kaiserord|kaiser|is2rc|invfreqz|invfreqs|intfilt|interp|impz|impinvar|ifft2|ifft|idct|icceps|hilbert|hann|hamming|grpdelay|goertzel|gmonopuls|gausswin|gaussfir|gauspuls|fvtool|freqz|freqspace|freqs|flattopwin|firrcos|firpmord|firpm|firls|fircls1|fircls|fir2|fir1|findpeaks|filtstates\.dfiir|filtstates|filtic|filtfilt|filternorm|filter2|filter|fftshift|fftfilt|fft2|fft|fdatool|eqtflength|ellipord|ellipap|ellip|dspfwiz|dspdata\.pseudospectrum|dspdata\.psd|dspdata\.msspectrum|dspdata|dpsssave|dpssload|dpssdir|dpssclear|dpss|downsample|diric|digitrevorder|dftmtx|dfilt\.statespace|dfilt\.scalar|dfilt\.parallel|dfilt\.latticemamin|dfilt\.latticemamax|dfilt\.latticearma|dfilt\.latticear|dfilt\.latticeallpass|dfilt\.fftfir|dfilt\.dfsymfir|dfilt\.dffirt|dfilt\.dffir|dfilt\.dfasymfir|dfilt\.df2tsos|dfilt\.df2t|dfilt\.df2sos|dfilt\.df2|dfilt\.df1tsos|dfilt\.df1t|dfilt\.df1sos|dfilt\.df1|dfilt\.delay|dfilt\.cascade|dfilt|demod|deconv|decimate|dct|db2pow|czt|cpsd|cplxpair|cov|corrmtx|corrcoef|convmtx|conv2|conv|chirp|cheby2|cheby1|chebwin|cheb2ord|cheb2ap|cheb1ord|cheb1ap|cfirpm|cell2sos|cconv|cceps|buttord|butter|buttap|buffer|bohmanwin|blackmanharris|blackman|bitrevorder|bilinear|besself|besselap|bartlett|barthannwin|aryule|armcov|arcov|arburg|angle|ac2rc|ac2poly|abs)\b-      comment: Matlab signal processing toolbox-      scope: support.function.toolbox.signal-processing.matlab-  matlab_support_toolbox_spline:-    - match: \b(tpaps|titanium|subplus|stmak|stcol|spterms|sprpp|spmak|splpp|splinetool|spcrv|spcol|spaps|spapi|spap2|sorted|slvblk|rsmak|rscvn|rpmak|ppmak|optknt|newknt|knt2mlt|knt2brk|getcurve|franke|fnzeros|fnxtr|fnval|fntlr|fnrfn|fnplt|fnmin|fnjmp|fnint|fndir|fnder|fncmb|fnchg|fnbrk|fn2fm|cscvn|csaps|csapi|csape|chbpnt|bspline|bspligui|brk2knt|bkbrk|aveknt|augknt|aptknt)\b-      comment: Matlab spline toolbox-      scope: support.function.toolbox.spline.matlab-  matlab_support_toolbox_statistics:-    - match: \b(ztest|zscore|x2fx|wishrnd|wblstat|wblrnd|wblplot|wblpdf|wbllike|wblinv|wblfit|wblcdf|view|vartestn|vartest2|vartest|var|upperparams|unifstat|unifrnd|unifpdf|unifit|unifinv|unifcdf|unidstat|unidrnd|unidpdf|unidinv|unidcdf|type|ttest2|ttest|tstat|trnd|trimmean|treeval|treetest|treeprune|treefit|treedisp|tpdf|tinv|tiedrank|test|tdfread|tcdf|tblwrite|tblread|tabulate|surfht|summary|stepwisefit|stepwise|std|statset|statget|squareform|sortrows|sort|slicesample|skewness|silhouette|signtest|signrank|setlabels|set|segment|scatterhist|sampsizepwr|runstest|rstool|rsmdemo|rowexch|rotatefactors|robustfit|robustdemo|risk|ridge|replacedata|reorderlevels|regstats|regress|refline|refcurve|rcoplot|raylstat|raylrnd|raylpdf|raylinv|raylfit|raylcdf|ranksum|range|randtool|randsample|random|randg|quantile|qqplot|prune|procrustes|probplot|princomp|prctile|posterior|polyval|polytool|polyfit|polyconf|poisstat|poissrnd|poisspdf|poissinv|poissfit|poisscdf|perms|pearsrnd|pdist|pdf|pcares|pcacov|partialcorr|paretotails|pareto|parent|parallelcoords|ordinal|numnodes|nsegments|normstat|normspec|normrnd|normplot|normpdf|normlike|norminv|normfit|normcdf|nominal|nodesize|nodeprob|nodeerr|nlpredci|nlparci|nlintool|nlinfit|ncx2stat|ncx2rnd|ncx2pdf|ncx2inv|ncx2cdf|nctstat|nctrnd|nctpdf|nctinv|nctcdf|ncfstat|ncfrnd|ncfpdf|ncfinv|ncfcdf|nbinstat|nbinrnd|nbinpdf|nbininv|nbinfit|nbincdf|nanvar|nansum|nanstd|nanmin|nanmedian|nanmean|nanmax|nancov|mvtrnd|mvtpdf|mvtcdf|mvregresslike|mvregress|mvnrnd|mvnpdf|mvncdf|multivarichart|multcompare|moment|mode|mnrval|mnrnd|mnrfit|mnpdf|mlecov|mle|mhsample|mergelevels|median|mean|mdscale|manovacluster|manova1|maineffectsplot|mahal|mad|lsqnonneg|lsline|lscov|lowerparams|lognstat|lognrnd|lognpdf|lognlike|logninv|lognfit|logncdf|linkage|linhyptest|lillietest|lhsnorm|lhsdesign|leverage|levelcounts|kurtosis|kstest2|kstest|ksdensity|kruskalwallis|kmeans|join|johnsrnd|jbtest|jackknife|iwishrnd|isundefined|ismember|islevel|isbranch|iqr|invpred|interactionplot|inconsistent|icdf|hygestat|hygernd|hygepdf|hygeinv|hygecdf|hougen|hmmviterbi|hmmtrain|hmmgenerate|hmmestimate|hmmdecode|histfit|hist3|hist|harmmean|hadamard|gscatter|grpstats|grp2idx|gpstat|gprnd|gppdf|gplotmatrix|gplike|gpinv|gpfit|gpcdf|gname|gmdistribution|glyphplot|glmval|glmfit|gline|gevstat|gevrnd|gevpdf|gevlike|gevinv|gevfit|gevcdf|getlabels|get|geostat|geornd|geopdf|geomean|geoinv|geocdf|gamstat|gamrnd|gampdf|gamlike|gaminv|gamfit|gamcdf|gagerr|fullfact|fsurfht|fstat|frnd|friedman|fracfactgen|fracfact|fpdf|fit|finv|ff2n|fcdf|factoran|expstat|exprnd|exppdf|explike|expinv|expfit|expcdf|evstat|evrnd|evpdf|evlike|evinv|evfit|evcdf|eval|errorbar|ecdfhist|ecdf|dwtest|dummyvar|droplevels|disttool|dfittool|dendrogram|dcovary|daugment|datasetfun|dataset|cutvar|cuttype|cutpoint|cutcategories|crosstab|coxphfit|cov|corrcov|corrcoef|corr|cordexch|copulastat|copularnd|copulapdf|copulaparam|copulafit|copulacdf|cophenet|controlrules|controlchart|combnk|cmdscale|clusterdata|cluster|classregtree|classprob|classify|classcount|cholcov|children|chi2stat|chi2rnd|chi2pdf|chi2inv|chi2gof|chi2cdf|cdfplot|cdf|ccdesign|casewrite|caseread|capaplot|capability|canoncorr|candgen|candexch|boxplot|boundary|bootstrp|bootci|biplot|binostat|binornd|binopdf|binoinv|binofit|binocdf|betastat|betarnd|betapdf|betalike|betainv|betafit|betacdf|bbdesign|barttest|aoctool|ansaribradley|anovan|anova2|anova1|andrewsplot|addlevels|addedvarplot)\b-      comment: Matlab statistics toolbox-      scope: support.function.toolbox.statistics.matlab-  matlab_support_toolbox_symbolic_math:-    - match: \b(ztrans|zeta|vpa|uint8|uint64|uint32|uint16|triu|tril|taylortool|taylor|symsum|syms|sym2poly|sym|svd|subs|subexpr|sort|solve|size|sinint|single|simplify|simple|rsums|rref|round|real|rank|quorem|procread|pretty|poly2sym|poly|numden|null|mod|mhelp|mfunlist|mfun|mapleinit|maple|log2|log10|limit|latex|laplace|lambertw|jordan|jacobian|iztrans|inv|int8|int64|int32|int16|int|imag|ilaplace|ifourier|hypergeom|horner|heaviside|funtool|frac|fourier|fortran|floor|fix|finverse|findsym|factor|ezsurfc|ezsurf|ezpolar|ezplot3|ezplot|ezmeshc|ezmesh|ezcontourf|ezcontour|expm|expand|eq|eig|dsolve|double|dirac|digits|diff|diag|det|cosint|conj|compose|colspace|collect|coeffs|ceil|ccode)\b-      comment: Matlab symbolic math toolbox-      scope: support.function.toolbox.symbolic-math.matlab-  matlab_support_toolbox_system_identification:-    - match: \b(zpkdata|zpk|wavenet|view|unitgain|treepartition|timestamp|tfdata|tf|struc|step|ssdata|ss|spafdr|spa|size|simsd|sim|sigmoidnet|setstruc|setpname|setpar|setinit|set|selstruc|segment|saturation|rplr|rpem|roe|resid|resample|realdata|rbj|rarx|rarmax|pzmap|pwlinear|present|predict|polyreg|polydata|poly1d|plot|pexcit|pem|pe|oe|nyquist|nuderst|noisecnv|nlhw|nlarx|nkshift|neuralnet|n4sid|misdata|midprefs|merge|lintan|linear|linapp|ivx|ivstruc|ivar|iv4|isreal|init|impulse|ifft|idss|idresamp|idproc|idpoly|idnlmodel|idnlhw|idnlgrey|idnlarx|idmodel|idmdlsim|idinput|idgrey|idfrd|idfilt|ident|iddata|idarx|getreg|getpar|getinit|getexp|get|fselect|freqresp|frd|fpe|fft|ffplot|feedback|fcat|evaluate|etfe|diff|detrend|delayest|deadzone|d2c|customreg|customnet|cra|covf|compare|c2d|bode|bj|balred|arxstruc|arxdata|arx|armax|ar|aic|advice|addreg|EstimationInfo)\b-      comment: Matlab system identification toolbox-      scope: support.function.toolbox.system-identification.matlab-  matlab_support_toolbox_virtual_reality:-    - match: \b(vrworld|vrwhos|vrwho|vrview|vrspacemouse|vrsetpref|vrrotvec2mat|vrrotvec|vrrotmat2vec|vrplay|vrori2dir|vrnode|vrlib|vrjoystick|vrinstall|vrgetpref|vrfigure|vrdrawnow|vrdir2ori|vrclose|vrclear)\b-      comment: Matlab virtual reality toolbox-      scope: support.function.toolbox.virtual-reality.matlab-  matlab_support_toolbox_wavelet:-    - match: \b(wvarchg|wtreemgr|wthrmngr|wthresh|wthcoef2|wthcoef|wtbxmngr|wtbo|wscalogram|write|wrev|wrcoef2|wrcoef|wpviewcf|wptree|wpthcoef|wpsplt|wprec2|wprec|wprcoef|wpjoin|wpfun|wpdencmp|wpdec2|wpdec|wpcutree|wpcoef|wpbmpen|wp2wtree|wnoisest|wnoise|wmulden|wmspca|wmaxlev|wkeep|wfusmat|wfusimg|wfilters|wfbmesti|wfbm|wextend|wentropy|wenergy2|wenergy|wdencmp|wden|wdcenergy|wdcbm2|wdcbm|wcodemat|wbmpen|waverec2|waverec|wavenames|wavemngr|wavemenu|waveinfo|wavefun2|wavefun|wavedemo|wavedec2|wavedec|wave2lp|upwlev2|upwlev|upcoef2|upcoef|treeord|treedpth|tnodes|thselect|symwavf|symaux|swt2|swt|shanwavf|set|scal2frq|readtree|read|rbiowavf|qmf|plot|pat2cwav|orthfilt|ntree|ntnode|noleaves|nodesplt|nodepar|nodejoin|nodedesc|nodeasc|mswthresh|mswden|mswcmptp|mswcmpscr|mswcmp|morlet|meyeraux|meyer|mexihat|mdwtrec|mdwtdec|mdwtcluster|lwtcoef2|lwtcoef|lwt2|lwt|lsinfo|ls2filt|liftwave|liftfilt|leaves|laurpoly|laurmat|iswt2|iswt|istnode|isnode|intwave|ind2depo|ilwt2|ilwt|idwt2|idwt|get|gauswavf|filt2ls|fbspwavf|entrupd|dyadup|dyaddown|dwtmode|dwt2|dwt|dtree|drawtree|displs|disp|detcoef2|detcoef|depo2ind|ddencmp|dbwavf|dbaux|cwt|coifwavf|cmorwavf|chgwdeccfs|cgauwavf|cfs2wpt|centfrq|bswfun|biorwavf|biorfilt|besttree|bestlevt|appcoef2|appcoef|allnodes|addlift)\b-      comment: Matlab wavelet toolbox-      scope: support.function.toolbox.wavelet.matlab-  matlab_variable_function:-    - match: \b(nargin|nargout|varargin|varargout)\b-      comment: MATLAB variables-      scope: variable.other.function.matlab-  matlab_oop:-    - match: \b(classdef)\b-      scope: keyword.other.oop.matlab+            - match: \bRepeating\b+              scope: variable.parameter.attribute.matlab+        - match: '{{eol}}'+          set:+            - meta_scope: meta.arguments.matlab+            - match: \bend\b+              scope: keyword.control.end.arguments.matlab+              pop: true+            - match: \b\.\?+              scope: keyword.operator.properties.matlab+            - include: argument-placeholder+            - include: builtin-types+            - include: expressions+    - match: (?=\S)+      set: function-body++  function-body:+    - meta_scope: meta.function.matlab+    - match: \bend\b+      scope: keyword.control.end.function.matlab+      pop: true+    - include: function-declaration+    - include: keywords+    - include: expressions++  class-declaration:+    - match: \bclassdef\b+      scope: keyword.declaration.class.matlab       push:-        - meta_scope: meta.classdef.matlab+        - meta_scope: meta.class.matlab+        - include: eol-pop         - match: \(-          scope: punctuation.definition.properties.begin.matlab+          scope: punctuation.section.parens.begin.matlab           push:-            - meta_scope: meta.properties.matlab+            - meta_scope: meta.attributes.matlab+            - include: line-continuation+            - include: eol-pop             - match: \)-              scope: punctuation.definition.properties.end.matlab+              scope: punctuation.section.parens.end.matlab               pop: true-            - match: ','-              scope: punctuation.separator.matlab-            - match: \b(Abstract|AllowedSubclasses|ConstructOnLoad|HandleCompatible|Hidden|InferiorClasses|Sealed)\s*(=)-              captures:-                1: variable.parameter.matlab-                2: keyword.operator.symbols.matlab-            - match: \b(false|true)\b-              scope: constant.language.matlab-        - match : \b(\w+)\b(?:\s*(<)\s*(\w+))?-          captures:-            1: entity.name.class.matlab-            2: punctuation.definition.inheritance.matlab-            3: entity.other.inherited-class.matlab+            # https://www.mathworks.com/help/matlab/matlab_oop/class-attributes.html+            - match: \b(?:Abstract|AllowedSubclasses|ConstructOnLoad|HandleCompatible|Hidden|InferiorClasses|Sealed)\b+              scope: variable.parameter.attribute.matlab+            - include: expressions+        - match: '{{identifier}}'+          scope: entity.name.class.matlab+          set:+            - meta_content_scope: meta.class.matlab+            - include: line-continuation+            - match: '{{eol}}'+              set: class-body+            - match: <+              scope: punctuation.separator.inheritance.matlab+              set:+                - meta_content_scope: meta.class.matlab+                - include: line-continuation+                - match: '{{eol}}'+                  set: class-body+                - match: '{{identifier}}'+                  scope: entity.other.inherited-class.matlab+                - match: \&+                  scope: punctuation.separator.sequence.matlab++  class-body:+    - meta_scope: meta.class.matlab+    - match: \bend\b+      scope: keyword.control.end.class.matlab

I think I first scoped them with keyword.control.end.<statement>.matlab, because the single rule for end which was used before in this syntax assigned keyword.control, and with this it would still be easy for color schemes to target all end keywords with a single scope. But after thinking a bit about your argument, I agree that it probably is an advantage to have it scoped similar to the "opening" keyword.

I went with your second option now, i.e. keyword.declaration.class.end, because it is consistent with keyword.control.{loop|conditional}.end to have the "end" part of the scope at the 4th level, and because if a color scheme wants to use a special color for all end keywords, it needs to target more than only a single scope anyway now.

jwortmann

comment created time in 8 hours

more